refactor(core): land rope-modernize lane residue on 0.12.0-dev - #479
Conversation
…ize' into feature/rope-modernize
|
Absorbed: the lane's validated content landed on 0.12.0-dev via lane/core-479 fast-forward (bd5e961) plus integration absorb (a2d145c): all required typing gates zeroed, api core singleton restored, PydanticBaseSettings re-export un-glued, ResultView dispatcher normalization, project-metadata public part bases. Closing in favor of the integration branch. |
…gress The duplication gate reads [tool.flext.project.duplication] (scope overrides) directly from pyproject.toml, but the strict ingress PyprojectDocument rejected the table as extra (extra_forbidden), breaking every consumer's import/gates while the scope narrowing was declared (algar-oud-mig proven 2026-09-19). Declare the table as an optional JsonMapping, mirroring the budget contract pattern.
|
Deep re-evaluation (fleet audit bead flext-v4fmn): roughly half this lane already landed (deletions of _config.py and enforcement part 06 are identical at tip). Not landed: result.py's TYPE_CHECKING FlextResult[T] protocol-conformance stub — but tip took a DIFFERENT shape for result.py (128 lines apart), superseding the overload change in _utilities/model.py. Remaining new work = re-derive the protocol stub against tip's current result.py; merging this head would conflict and partially regress. Leaving open for the lane owner to re-derive, per the flext-itpd1.3 coordination. |
… fix and identity manifests
# Conflicts: # .gitignore # examples/ex_04_flext_dispatcher.py # examples/logging_config_once_pattern.py # src/flext_core/_models/pydantic.py # tests/unit/test_enforcement_models.py # tests/unit/test_service_registration_spec.py
|



Lane
feature/rope-modernizefor flext-core (13 commits over 0.12.0-dev), superproject PR flext-sh/flext#247. Tracker: flext-cyplp (Gas City Beads).Commits (non-merge):
Status: WIP checkpoint. Validation: NOT SELECTED (canonical make setup/gen/fix/fmt/check/test pending on the rope-modernize workspace).
🤖 Generated with Claude Code
Summary by cubic
Fixes the rope-modernize lane's public type contracts so
Result,ConfigFileSourceType, andvalidate_valueresolve from the facades without call-site workarounds. It also addsconfig/workspace.yamlas the conform topology SSOT, adopts the regenerated Makefile/docs/CI fragments, and lets strict pyproject ingestion accept the duplication-gate table.Core fixes
yaml_safe_loadreturns a failed result onyaml.YAMLErrorinstead of raising.FlextResultTYPE_CHECKINGstub inherits theResultprotocol and adds the factory classmethods and combinators the protocol lacks.u.validate_valuegains overloads sotype[T],ValueAdapter[T], andTypeHintSpecifiertargets resolve top.Result[T].m.ConfigFileSourceTypeis now a PEP 695 alias; the previous class-attribute union collapsed consumer annotations toNone.FlextConfigdrops its ClassVar re-export block andCSafeLoaderfallback.ProjectToolFlextProjectdeclares[tool.flext.project.duplication]as an optionalJsonMapping;PyprojectDocumentno longer rejects it as extra.CI, docs, and tests
markdown-formatandmarkdown-code.r[str]/r[bool].model_constructwith real constructors, and translatesecurity.mdto English..envrctolerates missingstatoutput and uses${HOME}consistently.Written for commit e8f2b1d. Summary will update on new commits.