Repository navigation
Delete the registered-turn box and carry stored context identities - #2965
Merged
Merged
Conversation
trissim
marked this pull request as ready for review
October 24, 2026 02:52
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.
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-tools at 871b601, every finding: |
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.
Deleting RegisteredTurn removes a forwarding-only box, but changes recorded context identity from {"value": ""} to a bare TurnId string. This PR carries that stored shape before the strict new reader opens it.
Head: f222b1c. Remote equals HEAD; ready for commander review. Main c9683a1 is merged.
Ownership and migration
Registration, leases, goals, context, tasks and send consumers now pass TurnId directly. No production replacement wrapper or alias.
ContextTurnIds in tools/cutover/carry_context_turn_ids.py owns the cutover:
The commander's all-store scan found old boxed records only in context_request.identity. No other store is rewritten just because it declares a similarly named field.
Latest correction checks
Only tools/cutover/carry_context_turn_ids.py changed from 8045850. AST comparison confirms carry() is unchanged. Ruff checks the entire 31-file Python diff: 174 existing findings, zero findings on changed lines. No whole-file formatter or unrelated lint edit.
No local tests were run. The review fork owns the new-head live-copy carry and test. Prior-head passing hosted checks are not claimed for this head.
Existing checks and test
Readers checked
ContextRequest.newest (context_store.py:220), ContextStoreInfo.page (:128), ContextRequest.recorded (:247–251), CapturedContext.require_newest (:325–328), ContextStore.latest (:481–487), prior (:502–505), and resolve (:521–545, including the prior.identity.thread comparison at :534) all retain the strict decoder. Test readers checked: test_unreadable_history_observation.py:65–66, test_context_manifest_deltas.py:148–151, test_turn_context_wire.py:43.
Assumed: the commander's all-store inventory defines this carry's scope; both current rewrite consumers declare one integer primary key. Boxed and unboxed records retain the same occurrence and declared family tag. No old-format decoder is added to production.
git diff --stat origin/main...HEAD