Repository navigation
Finish table mutation rule ownership (supersedes 2471) - #2510
Merged
Merged
Conversation
…tion-capabilities
…tion-capabilities
…tion-capabilities
…tion-capabilities
trissim
force-pushed
the
unit-ownerexit/p429-table-rules
branch
from
October 21, 2026 18:00
948e5ec to
e9d3b37
Compare
trissim
marked this pull request as ready for review
October 21, 2026 22:00
trissim
enabled auto-merge
October 21, 2026 22:00
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.
trissim
disabled auto-merge
October 21, 2026 22:05
trissim
marked this pull request as draft
October 21, 2026 22:05
…able-rules # Conflicts: # tools/cutover/carry_declared_schema.py
trissim
marked this pull request as ready for review
October 21, 2026 23:41
trissim
enabled auto-merge
October 21, 2026 23:41
trissim
marked this pull request as draft
October 22, 2026 00:02
auto-merge was automatically disabled
October 22, 2026 00:02
Pull request was converted to draft
…able-rules # Conflicts: # tests/test_native_unknown_recovery.py
…able-rules # Conflicts: # src/agent_comms/typed_table.py
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.
P429: declaration-owned table mutation rules
Current queue-conflict repair — supersedes head/readiness wording below
f81cf0186afa7577e39050b4af9084dfcdb9f181, push and ls-remote matched; worktree clean. It merges maind3fcbd66216483f8c71baf377a677b047f21ceaa. GitHub reported the previously accepted d5921a7 CONFLICTING, so the instructed unchanged-head enqueue was not possible. The sole conflict was typed_table.py's imports: retained LifecycleState and main's RegistryFile/MaintenanceBarrier imports. No new implementation change or formatter run.test_normal_rename_does_not_inject_old_selected_claim_into_new_owner, the existingOmittedAwareness.omitted_countdefect owned by Virtual bus batch: W, B1, B2, C, D and E integrated #2549. Command:PYTHONPATH=src timeout 300 /home/ts/code/projects/agent-comms/.venv/bin/python -m pytest -n 0 -o faulthandler_timeout=60 --basetemp=/home/ts/.cache/agent-scratch/unit-ownerexit/p429-queue-merge-test-data tests/test_table_mutation_capabilities.py tests/test_coordination_store.py tests/test_optional_awareness_projection.py tests/test_maintenance_barrier.py. Log:p429-queue-merge-tests.log.origin/main46391711d9a439eecd2aec0fa56c54bbc65227c7: src +1479/−1647 = −168 net, 3126 changed lines / 9970 tokens; tests +560/−114 = +446 net, 674 lines / 1341 tokens. Combined 3800/11311 = 0.336, about 1.13× Derive table mutation guards from capabilities #2471's 0.296. Main advanced to The commander and its forks accept a reviewed PR head in one verdict #2599 after the merge, so this comparison base is newer than the included main; the raw diff includes that unmerged-main difference, not only P429 edits. Measurement artifact:p429-queue-measure.json.p429-queue-audit.json). This is syntactic evidence, not dynamic binding or behavioral proof.Preserves #2471's four implementation commits:
f251e0299is an ancestor; formatter merge505a55c77is not. No formatter, local ratchet or full suite was run.Owners and deletions
RowMutation.abort_triggerowns the event template (IMPL-12).FrozenColumn(Column)owns immutability; TypedTable derives the aggregate guard. Deleted all 11 production immutable-column string rosters, preserving all 56 fields, including generatedWakeAssignment.wake_mode(MEMB-2/BOUND-7)._immutable_assignment_matches; cohort acceptance uses WakeAssignment's existing acceptance check.ReplayStateowns revision checks, execution membership, authorization, revocation and recording. NoReplayAssessment/ReplayAssessments implement their differences; their parent owns observation. Deleted replay-absence decisions in the readers, snapshot and mutation consumers. Existing UnionDecoder/NullMember retain row-or-JSON-null representation; no alternate codec/store (IDEN-3/IMPL-4).cohort_delivery_receipts.OrdinalRule.incrementdrives Python prediction and SQLite guards. Repeated attempt-reference+ 1is gone; ordinal work remains separate commit49618f2a4.Prior repair checkpoint and measurement
Repair checkpoint
d5921a7ba726477adb920a642f80ce765f2e6ddb, push/ls-remote matched.Included immutable main/base
954534a8e170ead817973e1c1f0316f8891b37b8.Tokens: whitespace-delimited added/deleted words from
git diff --word-diff=porcelainagainst that captured base. Combined 3654 / 10684 = 0.342, versus preserved #2471 2573 / 8684 = 0.296: 1.15x, not twice it. Moves are counted.Verification — exact limits
test_normal_rename_does_not_inject_old_selected_claim_into_new_owner, the same failure review-s reproduced at main 3754641. Bus B1 reports the Virtual bus batch: W, B1, B2, C, D and E integrated #2549 fix passes at 996765d; that unmerged batch is not consumed here. No compatibility member was added to OmittedAwareness and no assertion, timeout, cap or prefix guard was weakened. Log: p429-guard-final-tests.log. These results are separate runs, not additive pass totals.test_launch_recovers_before_reserving_replacement_pid: fixture preparation now qualifies through merged P447: keep source-only backend qualification independent of native launch #2571, but the real launch correctly refuses this worktree artifact outside the running interpreter's installed runtime prefix. Stack: PrivateNkLaunch.installed -> VerifiedNativePackage.acquire -> NativePackage.require_runtime. PublicationActivationBlocked preserves that cause. Fixture reported 0 localhost posts, 0 native input proofs, no children. This is NOT a successful native launch or clean all-green batch. Matching-runtime installation/launch qualification belongs to the merger; no guard weakening or fake prefix here.p429-schema-normal-open-proof.logrecords source head 5ed7eca; production schema/connection implementation is unchanged at the current head.git grep -nE 'BEFORE (UPDATE|DELETE|INSERT)' -- src ':!src/agent_comms/typed_table.py' | wc -l=> 0./home/ts/bin/agent-resource-checkis absent; direct measurements before the expanded run: 36 GiB disk free, 3.0 GiB RAM available. Final checks use one worker. Existing shared interpreter/dependencies; persistent owned scratch; no new venv/clone/sync.Delivery and remaining installed acceptance
Core linked #2510 with
order pr P429 --existing 2510. Commander 17183 disposed the older e7c6cd8 delivery timeout: no claim landed, do not recover it, record the newest qualified head fresh. The later coordination bus-note timeout was not replayed.PR is back in draft after review found the missed awareness failures. The c5d125b claim was successfully recorded through comms_order_deliver at revision 92, then sent back; the CLI recording blocker is no longer current. Repair checkpoints fe4b7e9 and d5921a7 are published; full completion/readiness is not claimed. Both tests named in the send-back pass. The known rename-awareness failure remains with #2549's existing implementation/integration owners; matching-runtime native acceptance remains with the merger. The old seven-module result was not complete touched-file coverage, and this report no longer says it was. A failed Core progress-update command was not replayed.
The remaining native failure needs the merger's matching installed runtime, then the actual saved-session/native/Toad journey. The copied-store workflow works; this branch is not claimed installed or live-verified. Source delivery does not close the installed acceptance gap.
Assumed:
person.owner_thread->person.owner_identity.owner_threadin native_source_cursor.py. Other cursor edits remain the ordered renames/import replacement, no layout churn.