Skip to content

refactor(core): land rope-modernize lane residue on 0.12.0-dev - #479

Merged
marlon-costa-dc merged 8 commits into
0.12.0-devfrom
feature/rope-modernize
Sep 19, 2026
Merged

marlon-costa-dc merged 8 commits into
0.12.0-devfrom
feature/rope-modernize

Conversation

@marlon-costa-dc

@marlon-costa-dc marlon-costa-dc commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Lane feature/rope-modernize for flext-core (13 commits over 0.12.0-dev), superproject PR flext-sh/flext#247. Tracker: flext-cyplp (Gas City Beads).

Commits (non-merge):

  • a59b4e2 chore: adopt regenerated Makefile (fmt report-only semantics) — fix-forward adopt of concurrent WIP
  • d73cbcc fixes
  • 0a0de0d fixes
  • d922dbd fix(core): yaml_safe_load returns parse failures instead of raising
  • 09c7ecd fix(core): drop phantom 'core' facade export from api map (wip residue)
  • 753b231 fixes
  • 43b1334 fix(result): stub declares full instance surface (stub≡runtime)
  • 684cd24 fix(enforcement): revert ai-hub accessor renames to project scope (program P0.4)

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, and validate_value resolve from the facades without call-site workarounds. It also adds config/workspace.yaml as 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_load returns a failed result on yaml.YAMLError instead of raising.
  • The FlextResult TYPE_CHECKING stub inherits the Result protocol and adds the factory classmethods and combinators the protocol lacks.
  • u.validate_value gains overloads so type[T], ValueAdapter[T], and TypeHintSpecifier targets resolve to p.Result[T].
  • m.ConfigFileSourceType is now a PEP 695 alias; the previous class-attribute union collapsed consumer annotations to None.
  • FlextConfig drops its ClassVar re-export block and CSafeLoader fallback.
  • Enforcement reverts the ai-hub accessor renames to project scope.
  • ProjectToolFlextProject declares [tool.flext.project.duplication] as an optional JsonMapping; PyprojectDocument no longer rejects it as extra.

CI, docs, and tests

  • Workflow fragments mint a cross-repo credential when secrets exist (otherwise record NOT EXECUTED) and restore the testmon cache, while the Makefile check gates no longer include markdown-format and markdown-code.
  • Docs, examples, and tests move to the new facade names, and the dispatcher example now returns r[str]/r[bool].
  • Docs refresh TOCs, update Make command references, replace model_construct with real constructors, and translate security.md to English.
  • .envrc tolerates missing stat output and uses ${HOME} consistently.

Written for commit e8f2b1d. Summary will update on new commits.

Review in cubic

@marlon-costa-dc marlon-costa-dc added the WIP Checkpoint lane: Draft PR, gates not selected label Sep 16, 2026
Comment thread src/flext_core/result.py Fixed
Comment thread src/flext_core/result.py Fixed
Comment thread src/flext_core/result.py Fixed
Comment thread src/flext_core/result.py Fixed
Comment thread src/flext_core/result.py Fixed
Comment thread src/flext_core/result.py Fixed
Comment thread src/flext_core/result.py Fixed
Comment thread src/flext_core/result.py Fixed
Comment thread src/flext_core/result.py Fixed
Comment thread src/flext_core/result.py Fixed
Comment thread src/flext_core/result.py Fixed
Comment thread src/flext_core/result.py Fixed
Comment thread src/flext_core/result.py Fixed
Comment thread src/flext_core/result.py Fixed
Comment thread src/flext_core/result.py Fixed
Comment thread src/flext_core/_utilities/model.py Fixed
Comment thread src/flext_core/_utilities/model.py Fixed
Comment thread src/flext_core/_utilities/model.py Fixed
@marlon-costa-dc

Copy link
Copy Markdown
Contributor Author

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.

@marlon-costa-dc
marlon-costa-dc marked this pull request as ready for review September 19, 2026 00:28
Marlon Costa added 2 commits September 18, 2026 22:59
…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.
@marlon-costa-dc

Copy link
Copy Markdown
Contributor Author

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.

Marlon Costa added 2 commits September 19, 2026 01:59
# 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
@sonarqubecloud

Copy link
Copy Markdown

@marlon-costa-dc marlon-costa-dc changed the title [WIP] rope-modernize lane: flext-core refactor(core): land rope-modernize lane residue on 0.12.0-dev Sep 19, 2026
@marlon-costa-dc
marlon-costa-dc merged commit e8f2b1d into 0.12.0-dev Sep 19, 2026
8 of 10 checks passed
@marlon-costa-dc
marlon-costa-dc deleted the feature/rope-modernize branch September 19, 2026 20:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

WIP Checkpoint lane: Draft PR, gates not selected

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant