fix: require exact release proof and durably schedule retained-owner cleanup #801

Merged
toasterson merged 7 commits from fix/s1-release-proof-reconciliation-20261019 into main 2026-10-19 20:02:35 +00:00
Owner

Cleanup retries now have a stable first-blocked clock, dedicated failure/wait/send counts and durable bounded backoff. Missing or bool-only release evidence retains the exact owner; dispatch attempts, work-item retry budgets and phase/hold decisions are preserved. One database update admits each idempotent cleanup attempt, including retirement retire/observe/control I/O, with a five-minute in-flight deadline. Akh-in-progress/non-exhausted failures are waits; only local mapping/contract conflicts or Akh operator-required escalate. A wait after rearm never re-escalates historical failures.

Release requires the authenticated exact A2 session/principal/profile/workspace proof. Normal interrupted work requires retained files. A released proof with nonempty reconciliation_request_id is the explicit durable operator absence/accepted-loss attestation: preserve_files may remain true without inventing retention; expected binding and any present executor receipt still match exactly. Null workspace is accepted only with a null requested binding. Full proof/attestation provenance is retained in closure/audit. No bool, 404, missing/replaced executor, cancellation or age establishes release.

Required delivery fences apply to configured route paths or existing durable Git/PR rows. Requirements persist additively in migration163 so config removal cannot discard them. Published Git on a no-PR-policy route needs no synthetic pull or SQL rejection. Pending/unknown required delivery retains the original workspace for the existing #748 recovery owner; this PR creates no duplicate snapshot/replay path. Inspector exposes result_count, undelivered_changes and cleanup fields. An audited operator.write exact-clock rearm_session_cleanup also covers natural completion without manufacturing retirement; the existing exact retirement requeue stays supported. Both retain counters and owner until proof. A supported audited Change rejection/supersession verb remains a separate follow-on, never an SQL workaround in this series.

Dependency: deploy Akh #675 at 80464684ecc2b9afb7c9978aab8841d14dc55971 or a descendant with its paired validator relaxation before relying on accepted-loss recovery. Earlier A2 heads alone cannot release cancelled bound allocations after operator absence. Legacy/mixed rollout remains a bounded wait. The paired Akh real manager reconcile -> runtime cleanup/rearm -> durable proof/lifecycle HTTP regression passes and fails with the old validator. Deployment and any live operator sequence are separate human gates; none performed here.

Validation: 3 client +558 server library tests pass (6 explicit existing server tests ignored); cleanup scheduling PostgreSQL passes including concurrent single-flight/restart/12-failure exhaustion, natural-completion operator rearm and wait-after-rearm. Root completion2 +relay1 +retirement2 PostgreSQL pass, including the cancelled bound operator API sequence without SQL recovery and retained executor receipt; original pending partial patch remains stored on a no-PR-policy published route. Client/server all-target Clippy -D warnings passes. Client completion/reconciliation4 also pass. Follow-up head7b777d8659bc28cabce19c1b3382e72ae66f1fcf is pushed normally; a clean/remote-bound exact-head root5 PostgreSQL rerun passes (s1-review-exact-root-pg.log.receipt.json). Exact-head Solstice CI and independent re-review remain pending. Earlier fixture-only failures were corrected by explicit schema evidence and a real unresolved delivery row. No merge, deploy, claims, acceptance or live recovery.

Paired contract pin refreshed to Akh#67580464684ecc2b9afb7c9978aab8841d14dc55971 in the source consumer and contract docs. That head repairs CI4363's older cleanup-worker fixture to consume/validate the typed release-proof request, retaining its active-dispatch starvation assertion. Wire/operator-attestation semantics are unchanged; Anima reader logic is unchanged. Current Anima#a0b2f2fa40d2ba0a1c850315c1509ce8671a3940 has only provenance/doc additions after the previously tested/reviewed7b777d86. Akh exact-head Solstice validation remains pending; no local test pass is asserted for its new fixture. Anima merged-tree remote nightly will validate this updated dependency pin with the series.

Integration refresh (2026-10-19): normal main/dependency merge commits, no force push. Main is 8d3eb5855f. This head also includes refreshed #798 so the agreed merge order cannot repeat the same insertion conflict; its diff narrows as predecessors land. Shell/Rust syntax, diff and predecessor-ancestry checks pass. No fresh local cargo check: available disk headroom above the 31.25 GiB floor was smaller than the last measured owned compile target. Exact new-head CI is the gate; prior receipts remain prior-head evidence.

Cleanup retries now have a stable first-blocked clock, dedicated failure/wait/send counts and durable bounded backoff. Missing or bool-only release evidence retains the exact owner; dispatch attempts, work-item retry budgets and phase/hold decisions are preserved. One database update admits each idempotent cleanup attempt, including retirement retire/observe/control I/O, with a five-minute in-flight deadline. Akh-in-progress/non-exhausted failures are waits; only local mapping/contract conflicts or Akh operator-required escalate. A wait after rearm never re-escalates historical failures. Release requires the authenticated exact A2 session/principal/profile/workspace proof. Normal interrupted work requires retained files. A released proof with nonempty reconciliation_request_id is the explicit durable operator absence/accepted-loss attestation: preserve_files may remain true without inventing retention; expected binding and any present executor receipt still match exactly. Null workspace is accepted only with a null requested binding. Full proof/attestation provenance is retained in closure/audit. No bool, 404, missing/replaced executor, cancellation or age establishes release. Required delivery fences apply to configured route paths or existing durable Git/PR rows. Requirements persist additively in migration163 so config removal cannot discard them. Published Git on a no-PR-policy route needs no synthetic pull or SQL rejection. Pending/unknown required delivery retains the original workspace for the existing #748 recovery owner; this PR creates no duplicate snapshot/replay path. Inspector exposes result_count, undelivered_changes and cleanup fields. An audited operator.write exact-clock rearm_session_cleanup also covers natural completion without manufacturing retirement; the existing exact retirement requeue stays supported. Both retain counters and owner until proof. A supported audited Change rejection/supersession verb remains a separate follow-on, never an SQL workaround in this series. Dependency: deploy Akh #675 at 80464684ecc2b9afb7c9978aab8841d14dc55971 or a descendant with its paired validator relaxation before relying on accepted-loss recovery. Earlier A2 heads alone cannot release cancelled bound allocations after operator absence. Legacy/mixed rollout remains a bounded wait. The paired Akh real manager reconcile -> runtime cleanup/rearm -> durable proof/lifecycle HTTP regression passes and fails with the old validator. Deployment and any live operator sequence are separate human gates; none performed here. Validation: 3 client +558 server library tests pass (6 explicit existing server tests ignored); cleanup scheduling PostgreSQL passes including concurrent single-flight/restart/12-failure exhaustion, natural-completion operator rearm and wait-after-rearm. Root completion2 +relay1 +retirement2 PostgreSQL pass, including the cancelled bound operator API sequence without SQL recovery and retained executor receipt; original pending partial patch remains stored on a no-PR-policy published route. Client/server all-target Clippy -D warnings passes. Client completion/reconciliation4 also pass. Follow-up head7b777d8659bc28cabce19c1b3382e72ae66f1fcf is pushed normally; a clean/remote-bound exact-head root5 PostgreSQL rerun passes (`s1-review-exact-root-pg.log.receipt.json`). Exact-head Solstice CI and independent re-review remain pending. Earlier fixture-only failures were corrected by explicit schema evidence and a real unresolved delivery row. No merge, deploy, claims, acceptance or live recovery. Paired contract pin refreshed to Akh#67580464684ecc2b9afb7c9978aab8841d14dc55971 in the source consumer and contract docs. That head repairs CI4363's older cleanup-worker fixture to consume/validate the typed release-proof request, retaining its active-dispatch starvation assertion. Wire/operator-attestation semantics are unchanged; Anima reader logic is unchanged. Current Anima#a0b2f2fa40d2ba0a1c850315c1509ce8671a3940 has only provenance/doc additions after the previously tested/reviewed7b777d86. Akh exact-head Solstice validation remains pending; no local test pass is asserted for its new fixture. Anima merged-tree remote nightly will validate this updated dependency pin with the series. <!-- anima-main-refresh-20261019:begin --> Integration refresh (2026-10-19): normal main/dependency merge commits, no force push. Main is 8d3eb5855f74c616d176b788e2ca881d2f933e3f. This head also includes refreshed #798 so the agreed merge order cannot repeat the same insertion conflict; its diff narrows as predecessors land. Shell/Rust syntax, diff and predecessor-ancestry checks pass. No fresh local cargo check: available disk headroom above the 31.25 GiB floor was smaller than the last measured owned compile target. Exact new-head CI is the gate; prior receipts remain prior-head evidence. <!-- anima-main-refresh-20261019:end -->
test: retain undelivered retirement Changes before workspace archive
Some checks failed
CI / conflict-check (push) Successful in 1m5s
CI / test (push) Failing after 4m57s
c28019b637
Recover attested cancelled workspaces and keep cleanup retries actionable
All checks were successful
CI / conflict-check (push) Successful in 1m30s
CI / test (push) Successful in 8m28s
7b777d8659
Record paired proof contract provenance at the consumer
All checks were successful
CI / conflict-check (push) Successful in 39s
CI / test (push) Successful in 3m3s
a0b2f2fa40
Persist central provider cooldowns and gate fresh admission
Some checks failed
CI / conflict-check (push) Successful in 50s
CI / test (push) Has been cancelled
eeaa095cf3
Refuse oversized final dispatch briefs without losing mandatory input
All checks were successful
CI / conflict-check (push) Successful in 1m5s
CI / test (push) Successful in 9m13s
fd0c99bb8f
Queue usage-limited providers behind durable reset windows and one probe
Some checks failed
CI / conflict-check (push) Successful in 37s
CI / test (push) Has been cancelled
256b2df4a5
Persist typed turn context diagnostics and expose bounded scoped reads
All checks were successful
CI / conflict-check (push) Successful in 46s
CI / test (push) Successful in 8m33s
72c8d0ef49
Label transcript sources and enforce explicit byte-tail and native cursor semantics
Some checks failed
CI / conflict-check (push) Successful in 8m35s
CI / test (push) Failing after 8m4s
85e43729fe
fix: recover ended limit probes and audit bounded operator clearing
Some checks failed
CI / conflict-check (push) Has been cancelled
CI / test (push) Has been cancelled
465f8fe9f8
Merge Q1 dependency to validate provider and allocation lock scope
Some checks failed
CI / conflict-check (push) Has been cancelled
CI / test (push) Has been cancelled
03ad2d0929
# Conflicts:
#	.solstice/job.sh
fix: isolate invalid telemetry from journal and legacy dispatch progress
Some checks failed
CI / conflict-check (push) Has been cancelled
CI / test (push) Has been cancelled
bd369174b4
test: cover all seven artifact tools sharing exact work-item ACL
Some checks failed
CI / test (push) Failing after 6m35s
CI / conflict-check (push) Successful in 8m11s
98f1cac6ff
fix: settle cancelled provider probes through completion observation
All checks were successful
CI / conflict-check (push) Successful in 2m7s
CI / test (push) Successful in 7m23s
68a739f929
fix: accept bounded provider display labels without weakening identifiers
All checks were successful
CI / conflict-check (push) Successful in 5m37s
CI / test (push) Successful in 20m37s
17030d469b
Merge Q1 cancelled-probe followup into brief-budget dependency
All checks were successful
CI / conflict-check (push) Successful in 3m0s
CI / test (push) Successful in 9m42s
ae9218991c
Fix transcript boundary Clippy findings from exact-head CI
All checks were successful
CI / conflict-check (push) Successful in 37s
CI / test (push) Successful in 6m24s
76cbc9c555
Merge current main into Q4, preserving transcript and conflict CI jobs
All checks were successful
CI / conflict-check (push) Successful in 41s
CI / test (push) Successful in 15m51s
bce6f02766
Merge current main into Q1, retaining usage and conflict diagnostics
Some checks failed
CI / conflict-check (push) Has been cancelled
CI / test (push) Has been cancelled
42a8e9498b
Merge current main into Q2 with validated diagnostic and CI resolutions
Some checks failed
CI / conflict-check (push) Has been cancelled
CI / test (push) Has been cancelled
c424888e2b
Merge current main into D1, preserving context and conflict detail fields
Some checks failed
CI / conflict-check (push) Has been cancelled
CI / test (push) Has been cancelled
3e48011285
Integrate refreshed Q4 dependency so Q1 merges cleanly in order
All checks were successful
CI / test (push) Successful in 7m33s
CI / conflict-check (push) Successful in 33m34s
7bd713fa2b
Integrate refreshed Q1 and Q4 dependencies before Q2
All checks were successful
CI / test (push) Successful in 7m48s
CI / conflict-check (push) Successful in 21m21s
ebf87a5ceb
Integrate refreshed Q2 dependencies into D1 with validated prompt assembly
All checks were successful
CI / conflict-check (push) Successful in 43s
CI / test (push) Successful in 8m5s
36d3cb084f
Integrate refreshed D1 and Q-series dependencies before S1
All checks were successful
CI / conflict-check (push) Successful in 46s
CI / test (push) Successful in 8m35s
bcfb7ae2ae
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
toasterson/Anima!801
No description provided.