Skip to content

fix: preserve live and completed workday authority during reconciliation - #590

Merged
adrianwebb merged 4 commits into
stagingfrom
codex/completed-revision553
Oct 21, 2026
Merged

adrianwebb merged 4 commits into
stagingfrom
codex/completed-revision553

Conversation

@adrianwebb

@adrianwebb adrianwebb commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Outcome

Keep discussion refreshes from corrupting a live workday continuation, and resume independent review of completed portfolio products after graph reprojection. The real UI picker continuation retained an Engineer result at revision98 while its graph node said completed at121, so strict predecessor admission refused it.

Work authority

  • Work item / Issue: Complete accounting transition observations for strict Agent acceptance #553; live evidence Keep Atlas detail headers usable with real long identifiers ui#70
  • Proposal / decision: UI9787d8e9-267a-46db-8151-a8b340352e2d v3 /3069ee63-5fa0-48f2-ba24-4e1bd8a0aa62.
  • Assignment / checkpoint: assignment_XVN3cqRxnce8NmaQTMCqYpV5s-YMqFn7 /result-e83bb9bf326b832fef7690e0; blocked continuation workday-586acba4-ec66-4265-b7a0-f637917e123c.
  • Actor: Codex integrator; this boundary repair is not attributed to a TreeSeed Engineer.
  • Human authority: @adrianwebb explicitly authorized fixing real blockers and continuing this workflow.
  • Agent / capacity provider: real ui/engineer and ui/reviewer on provider_-rcKRK8gG2NGnOU3yGu_CV3Wz7ACppTP.
  • Exact base ref: staging3f33f67226e873bca19c1121bdc086f4bebfab4a.
  • Exact head ref: codex/completed-revision553 f7c6ab8.

Contributor mode (select one):

  • Human-authored
  • Agent-assisted under human authority
  • Agent-authored under human authority

Plan

Keep the existing exact predecessor fence. Restore completed nodes to the caller-selected immutable terminal result revision, retain fresh-simulation and changed-authority rejection, then resume the same accepted real proposal. No assignment injection or copied result.

Changes and commits

00f6785 changes only completed-terminal revision recovery plus focused/native PostgreSQL cases. Failed, blocked and request-changes revision behavior stays guarded. Existing completion tests now assert the original result revision rather than a projection-only revision that cannot admit a reviewer.

Verification

  • Focused regression RED: expected98, actual121, using real-shaped continuation churn.
  • Explicit disposable PostgreSQL command: TREESEED_TEST_POSTGRES_URL=postgresql://postgres@127.0.0.1:32799/postgres node node_modules/vitest/vitest.mjs run tests/unit/control-plane/capacity/execution/graph/living-execution-graph-persistence.test.ts tests/unit/control-plane/capacity/workdays/continuation.test.ts tests/unit/control-plane/capacity/execution/graph/architecture/living/living-graph-postgres.test.ts —60passed/3files.
  • npm run build and git diff --check passed.
  • Earlier attempt without explicit PostgreSQL URL:50passed/2failed; retained, not passing native evidence.
  • Native fixture publishes/readbacks exact98 through independent pools and preserves assignment/reservation history. Terminal statuses are controlled fixture inputs; live product review/release remains pending.
  • Required Actions and full scene evidence pending.
  • I ran the narrowest relevant package verification and documented any checks that could not be run.

Risk and rollback

No schema/migration. Graph revision still advances; a completed execution node is restored to its actual result revision. Caller terminal selection remains the authority for current Decision/source and review chronology. Revert00f67856 through the normal PR path if regression occurs; preserve original assignments/products and stop only affected continuation.

Completion summary

Small owning-boundary repair tested and ready for Actions. UI independent review, linked Admin implementation/review and simulated release are not claimed complete. API#589 is a separate in-flight prerequisite for cross-project discovery.

AGPL committer authorization

Base-owned workflow checks the authenticated author against the existing allowlist.

Submission checklist

  • The change is bounded to the stated work item and target repository.
  • Exact base and head refs are recorded and the branch is ready for review.
  • Verification and compatibility evidence are recorded above.
  • No plaintext secrets, credentials, machine state, or unrelated residue are included.
  • Plan, status, commits, and completion summary form a complete durable record.
  • Rollback or recovery steps are documented and executable.

Required first run39668790772 failed the unchanged500-line policy: existing graph-persistence test reached502 counted lines. Commit0d9cbd94758559f084db25b37d11b07453ef5ccc moves the real-shaped continuation regression into the existing living-graph integration suite and reuses its governed graph fixture. No production code or assertion was removed/weakened. File-length check passes; all13 existing+new integration-file cases pass. Initial60-case PostgreSQL evidence remains attached to functional00f67856; revised-head required Actions are pending. Native full workflow and downstream review/release remain unproven.

Refreshed exact0d9cbd94 evidence: all72focused cases/4files passed with disposable native PostgreSQL at loopback32800, including unchanged continuation, persistence, native public read-back and moved integration regression. File policy passes. Disposable database/container removed after exit0. This72-case set includes the prior60/13sets and is not added to them. Required corrected Verify39671311075 remains pending. Local productive runtime still uses4f1c235b (0b8e3d2 + identical functional repair00f67856); moving the test does not replace an active provider or issued assignment.

Real cache continuation: discussion isolation repair (ee8f51b)

The Deployment Engineer was leased at node revision9 in workday-8794fb71-8146-42b5-b33e-94169d213b82. A communication-only refresh at20:21:47 replayed failed history from its parent run, marked that live node failed, and caused its20:43:27 completion to return409. Its real Git38b3d1c84584263c43fdb83cf74ebc7f26d1e07a is retained; assignment_-pTyZAm3A5dWNyGm3_FFpr0z5dy0SGRH expired and released, never silently promoted to completed.

Communication reconciliation now reads conversation assignment history only and applies operational/review recovery only within its own scope. Noncommunication nodes and dependency edges are preserved exactly. Full team reconciliation retains existing run/continuation recovery.

A focused owning-SQL regression reproduced two changed work nodes before the fix (live Actor and interrupted Reviewer). With the fix, plan, mutation and repeated replay preserve the complete graph, assignments, reservations, ledger and event snapshots. Exact candidate: 22 tests /5 files passed, including native separate PostgreSQL five-result concurrency against reconciliation; build, file-length/architecture and diff checks passed. The disposable PostgreSQL container was stopped/removed. This is focused regression/integration evidence; full required Actions and a live resumed product chain remain unproven. Earlier72-test result applies to0d9 only; previous file-limit failure remains retained.

Integration after API589 merge

Required API589 Verify39663702132 passed1h49m20s; merged3f33f67226e873bca19c1121bdc086f4bebfab4a. Fresh protected staging was merged into this branch at f7c6ab8, preserving589 pinned-link and expired-native-closeout fixes. On this head26 focused tests/4 files passed, covering communication/workday isolation, conversation projection/retirement and terminal accounting races. Earlier22/5 separate-PostgreSQL result belongs to ee8f51b, not a newly claimed full suite on f7c6. Required exact-head Actions remain pending. Supported local API adoption includes both589 functionality and590 repairs; running compiled execution-graph-service.js SHA25616e6ec85499d2c94970ad041c26402ee07c712bd9899fa999a89d31846d24203 matches local build and contains the communication isolation. Live complete proposal→release proof remains pending.

@adrianwebb adrianwebb changed the title Keep completed product revisions exact during graph recovery fix: preserve live and completed workday authority during reconciliation Oct 21, 2026
@adrianwebb
adrianwebb merged commit 41e51cd into staging Oct 21, 2026
5 checks passed
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