Skip to content

Read carry parents and ordering from the target tree - #2054

Merged
trissim merged 4 commits into
mainfrom
fix/p288-target-carry-parents
Oct 20, 2026
Merged

trissim merged 4 commits into
mainfrom
fix/p288-target-carry-parents

Conversation

@trissim

@trissim trissim commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

P288 — target-owned carry parent discovery

Published head: 2a362e2. Ready for code review; fresh-environment installation proof remains with the merger under 3986.

Change

CarryChain's step reader reads the target revision's tools/cutover/carry.py once. Step.declared and Step.holds_carry take that same parent map. EditedCarry reads the base revision's map when checking its old steps. No running-checkout globals() scan remains.

A name set alone would lose TodoColumnCarry.precedes and change ordering. The parser therefore compiles only the target Carry headers and ordering methods into an isolated planning namespace. Python owns inheritance/C3 and the target's actual ordering implementation; no target Core/step module imports, fallback roster, new-parent allow-list or copied precedence decision. Protocol/namespace identities derive from their declarations. Static parent references decode once; unsupported expressions fail explicitly rather than becoming None or a sentinel.

Verification

  • Final separate source ratchet: rc=0, positive deltas and introduced_lines empty.
  • Final separate tools ratchet: rc=1 solely SourceLines +44, introduced_lines empty. No other positive key. Line growth is nonblocking under the standing ruling; no budget, baseline, scan-scope or suppression change.
  • Whole carry file: 37 passed, 2 failed. Both unchanged failures reproduced with the baseline carry implementation: the registry fixture assumes carry_registry_version is still last; the drain fixture calls retired ThreadOutput.status.
  • Final target-parent/ordering/head-declaration checks: 3 passed.
  • Actual committed P270: merged orders inherit checked fields and carry saved wrappers #2036 target 9d3f4af: production CarryChain recognizes carry_merged_orders as StoreCarry and computes its pending chain, rc=0.
  • Actual retained carry ledger copied without modification: 999 bytes, 35 applied steps, accepted by the target planner with no pending steps, rc=0. Disposable ledger copy retired; live state untouched. This is copied-ledger component proof, not a full copied bus or installation.
  • Existing refactor-audit Package query across Core, tools and audit dependency: 1,679 before / 1,709 after sites, zero parse omissions. Declarations, inheritance, writes, decisions, checks, imports and consumers captured. Dynamic Python behavior is outside static proof; the real target and ordering regression exercise it. NRA remains unavailable because tree_sitter is absent; nothing installed.
  • 84 lines added, 19 removed across three files.

Merger acceptance still owed

Run #2036's actual fresh-environment --rehearse installation and report its carry line and installed target readback SHA. No such installation result is claimed here. Instruction 3986 assigns that environment creation to the merger; the worker order forbids venv creation/uv sync, so the narrower reading uses existing dependencies for source and retained-state checks.

Assumed: P288 precedes the separate P280 atomic-staging repair. No main merge, fallback or allow-list. No provider/input replay, production mutation, installation, restart or goal resume. Original sessions and UNKNOWN inputs preserved.

Agent-Comms-Order: 1d6661ac1b45

Copilot AI balanced review requested due to automatic review settings October 20, 2026 01:00

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@trissim
trissim marked this pull request as draft October 20, 2026 01:00
@trissim trissim changed the title WIP: read carry parents and ordering from the target tree Read carry parents and ordering from the target tree Oct 20, 2026
@trissim
trissim marked this pull request as ready for review October 20, 2026 01:09
@trissim
trissim merged commit acbb3bb into main Oct 20, 2026
0 of 4 checks passed
trissim added a commit that referenced this pull request Oct 20, 2026
@trissim
trissim deleted the fix/p288-target-carry-parents branch October 20, 2026 01:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants