Repository navigation
Integration batch: duplicates 5-8, root runtime owner, interrupted rollback, installer file identity - #2709
Merged
Conversation
Ported from #2527 onto current main. RootRuntime records the runtime prefix that owns a root; Comms refuses a foreign runtime unless the maintenance hold targets it. MaintenanceTarget is a declared family on the hold (no target, or TargetRuntime); a phase that ends maintenance drops the target, and every rewrite of a hold goes through MaintenanceState.advanced. retarget takes only the registry lock, like begin and clear. RuntimeProcesses reports old-runtime applications without signalling them. The installer wiring follows on this branch after the batch carrying #2698 lands, because it rewrites the same upgrade.py sites. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Stack.publish(root) publishes the root's owner, on success and on restore. A live install adopts the root for the installed runtime before it stops owners; once they stop, the hold targets the staged runtime and its holder is re-entered with the new nonce before the first staged CLI call. The rehearsal holds its copy for the staged stack the same way. InstalledUpgrade reports the RuntimeProcesses still on an outgoing runtime after the bridges resume; RuntimeProcesses owns its lines. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…integration/all-5
…to integration/all-5 # Conflicts: # src/agent_comms/installer/backup.py # src/agent_comms/installer/upgrade.py # tools/cutover/carry_finished_turns.py
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
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.
|
debt-src at 450af9e, every finding: |
|
debt-tools at 450af9e, every finding: |
trissim
pushed a commit
that referenced
this pull request
Oct 23, 2026
…wners - RetiredCommanderFile is retained bus state its carry consumes: a DurableFile, so every declared root file is durable or runtime again (a012a03, #2743). - The ratchet guard composes owners through Black, so the formatting measure counts nothing and each comparison measures only the classes; 97256db flipped the expectation to status 0 while the fixture stayed unformatted. - bus_files keys are DeclaredFile since #2709: assert the declared owner. - Routes are written owner-only by their owner; the backup reads the saved route through read_active_route since #2731. - The bus-history round trip runs every step the chain orders before the goal-request carry, under the maintenance hold, instead of a hand-picked subset that #2701's claim-field carry fell between. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
trissim
pushed a commit
that referenced
this pull request
Oct 23, 2026
#2713 (c3bd967) made SessionBridge.pause return one ResumableBridge; the tests still unpacked a tuple. Since #2709 (4cad001) a root belongs to one runtime: session_bridge now publishes its bus to the runtime serving the bridge, and the swap test hands it to the new runtime at publication, as the installer does. SourcePrograms reports its runtime. RootFile.__init_subclass__ annotates its keyword arguments. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
One batch: #2705 (Duplicates groups 5-8), #2702 (one recorded runtime owner per root), #2699 (resume interrupted rollback), #2691 (declared file owners identify installer rewrites).
Conflicts resolved once: backup.py keeps #2699 registry-last restore ordering over #2691 typed selected_files(); upgrade.py takes both import sets; carry_finished_turns.py keeps main no-early-registry-decode with #2691 Path type.
Install 12 refusal fixed here: ClaimFields.convert(RegistryDocument) crashed in FieldCodec.contains_records because the ReportedTurnState family root inherited SingleValueEncoding.wire_structure, which needs one dataclass field. JsonShapeFamily now derives wire_structure from _json_owners, the same map schema() reads. Verified: RetiredClaimFields.convert on the live registry.json (read-only) succeeds; ReportedTurnState decodes str and null.
Left out: #2683 (its title says five import cycles first; conflicts in store_order.py), #2603 (against the direction), #2527/#2556/#2469 (943-1325 commits stale; #2702 ports #2527).
🤖 Generated with Claude Code