fix(coordination): converge terminal validation and reviewed recovery - #4856
huangruiteng wants to merge 5 commits into
Conversation
Signed-off-by: huangruiteng <14976749+huangruiteng@users.noreply.github.com>
…roviders Signed-off-by: huangruiteng <14976749+huangruiteng@users.noreply.github.com>
…utover gates Signed-off-by: huangruiteng <14976749+huangruiteng@users.noreply.github.com>
Signed-off-by: huangruiteng <14976749+huangruiteng@users.noreply.github.com>
Signed-off-by: huangruiteng <14976749+huangruiteng@users.noreply.github.com>
|
Independent review of exact head Verdict: APPROVE. Strong convergence slice. The three defects (false verified-success after display failure, missing receipt-first retry, stale validation acceptance) are fixed by one shared skeleton rather than three patches. Verified directly in the head source: receipt recovery now precedes freshness checks and private-argv resolution ( CI at this head: test-shard (2)'s single failure is the inherited The 3-request cost for validated fresh completion is documented and measured rather than hidden — good practice. |
Agent completion and Monitor stop could report verified success after canonical commit even when display delivery failed. Their retry path also lacked the receipt-first recovery used by reviewed edits. Separately, ordinary completion could accept validation after the provider head changed during execution.
This closes that terminal caller family across the TS transaction, Python facade, Chat, and packaged frontend. It advances the L2/L5 work under #4574, #3225 and #3245; it does not change provider defaults or settle whole-Goal migration.
Behavior and ownership
Validation and cost
f19ecaa1d(including validator-revision PR feat: revise open Todo completion validators #4833): full TS suite 2,514 passed, zero failures/skips, with real PostgreSQL store and service on separate disposable databases.typed-actionsbrowser scenario passes for edits, User completion, Agent completion and Monitor stop; original identity and verified readback are checked. Direct browser interaction with the real SQLite-backed action endpoint also recovers both terminal operations.A validated fresh completion now uses three terminal requests instead of two: admit/recover and resolve the private declaration, plan validation, commit. The extra crossing makes historical recovery independent of private argv; unvalidated completion/replay retains one request. This cost is documented and checked with the same base/head workload rather than hidden by a relaxed ceiling. The bounded refactor reuses the existing recovery/source owners; no larger framework was needed.
The dual-language RFC checkpoints retain the conditional 5–8 further delivery packages for remaining callers/executor fencing, D1 consumers, contributor-owned SQLite D2, capture/whole-Goal qualification, and default onboarding/retirement. PostgreSQL deployment/authenticated transport, capacity/soak and provider promotion remain separate. A missing original private declaration can still block lossless display recovery. Maintainer merge is required for this control-plane change.
Exact-scope quality receipt:
cqr_24957dfff2c958225bcd, statusvalid, fingerprint24957dfff2c958225bcd0b64f40e1a83a26f6dfb98022cc5a640fe861e336b0c; one bounded safe-fix pass, zero unresolved blockers/warnings/advisories. Risk-basedcanary premerge --from-git-diff --goal-id ...passed: 19 selected/executed checks, zero failures; exact-scope receipt valid. Coverage includes module/risk/maintenance contracts, CLI output budgets, Todo lifecycle, canary infrastructure and public boundary. No local validation holds; maintainer review/merge and remote CI remain separate.