Skip to content

Do not refuse completion for a non-Git home containing the problem ID - #2006

Closed
trissim wants to merge 3 commits into
mainfrom
fix/order-checkout-home
Closed

trissim wants to merge 3 commits into
mainfrom
fix/order-checkout-home

Conversation

@trissim

@trissim trissim commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Home storage is not an unreleased order checkout

Head: 2964a0fcb7e9b5a4d0270cacfd550df7ebe2d765. Reported by pi-toad-list, original message 3172; implementation owner pi-worker-cpu. No formal problem/order identity was invented.

Production diff: 19 added / 9 removed (net +10). StorageRule.checkouts_of intentionally returns the home storage slot first, even when it is a non-Git directory; dropping that slot would change quota accounting. The completion gate incorrectly treated every returned path as a checkout and matched the problem by substring.

The existing UnitStorage owner now derives extra_checkouts once from that layout. Quota counting/reporting, checkout removal and completion consume this distinction. Quota validation moved into UnitStorage so done reuses its captured read rather than walking Git twice. Completion checks the canonical exact order checkout, not a substring: retained P1970 does not block P197. No new type, stored flag, duplicate registry, reader-level .git probes or broad catch.

Real command acceptance

Normal installed agent-comms-commander entrypoint with explicit source selection, real persistent private bus, actual rule-review records, actual original order/check, real Git worktree metadata and no user orders/provider input. The shared worker home is named P197-application and has no .git.

Baseline:

RC 1
Refused: worker still has the checkout ['.../before/P197-application'] for this order
PENDING True STRIKES 0 HOME_IS_GIT False

Branch:

RC 0
worker: order order-P197 delivered as op
PENDING False STRIKES 0 HOME_IS_GIT False

Branch with an actual unreleased worker--P197 Git worktree:

RC 1
Refused: worker still has the checkout .../retained/wt/worker--P197 for this order
PENDING True STRIKES 0

The refused attempt records no delivery. Tests additionally retain an actual P1970 worktree and require P197 to complete.

Verification and owner ruling

  • 35 passed, 80 deselected in 1.83 seconds: storage suite plus the three completion cases. Serial shared QA interpreter, PYTHONPATH=src, external timeout 300, -X faulthandler.
  • tools ratchet rc=0.
  • src ratchet rc=1 solely SourceLines +10; introduced findings {}, no other positive deltas. No budget was self-granted and no counter was suppressed. Accepted by the commander ruling in message 3617: line growth is not a defect, this result does not block review, and P276 deletes the measure. This is an explicit owner ruling, not a claim that the recorded src command exited zero.
  • First ratchet launch lacked the audit submodule in this reused checkout. Final checks read main's already-initialized audit sources at the exact pinned 2b1015751e1d411cdefdab9aacebc92aa5e230fb; no clone/install/fallback.
  • Existing refactor-audit AST loader enumerated production and tools roots before editing and after implementation, including the storage declarations, membership, quota, removal, done gates and all consumers. Zero parse omissions. Tests and real command acceptance followed the owner change.
  • An initial regression test pointed only the fixture Comms at the configured storage owner, not the separate commander Comms. Corrected that test setup; production behavior was unchanged by that correction.
  • Source compilation/diff checks pass. Clean published branch at original verification. The head is now merged into main through batch merge 45384f54d (see below); no runtime installation or installed acceptance is claimed here.

Retention

Source branch fix/order-checkout-home remains published at the head above. The existing /home/ts/wt/pi-worker-cpu--P250 checkout has subsequently been reused for P276; no third checkout was created. Evidence: /home/ts/.cache/agent-scratch/pi-worker-cpu/checkout-home/, including original baseline/positive/negative command logs, ratchets, AST receipts and tests. Private bus records and original refusals are retained. Completed disposable test trees are retired after borrower checks.

Assumed:

  • The registered home storage slot is exempt from the extra-checkout limit and from per-order checkout retirement.
  • Only the canonical exact order worktree blocks that order's completion; another order's checkout still counts toward quota.
  • Existing Git discovery errors continue to propagate; no missing-path/error fallback was added.

Reopen request: already merged

Message 3617 requested reopening and ready status. GitHub refused reopening with HTTP 422: state cannot be changed. These commits are already merged. Verified the exact head 2964a0fcb is an ancestor of origin/main cc736472f; batch merge 45384f54d is titled Merge #2006. Main contains UnitStorage.extra_checkouts and the exact-checkout completion check. The PR remains closed because its commits have landed, not because work is parked. No source changes or tests rerun for this status correction.

@trissim

trissim commented Oct 19, 2026

Copy link
Copy Markdown
Contributor Author

Closing this draft under the new ready-only PR rule. The published branch fix/order-checkout-home and head 2964a0f remain intact. Real done acceptance passed for a non-Git home; an actual retained order checkout still refuses; 35 tests passed. Tools ratchet is 0, but src is 1 solely for net +10 source lines, so this is not ready for review. No source budget was self-granted.

@trissim trissim closed this Oct 19, 2026
@trissim trissim mentioned this pull request Oct 19, 2026
trissim added a commit that referenced this pull request Oct 19, 2026
@trissim
trissim deleted the fix/order-checkout-home 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.

1 participant