FE-1402: Define and rehearse the elicitation completion contract - #9320
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
PR SummaryLow Risk Overview New docs: Updates: Reviewed by Cursor Bugbot for commit 8a8e906. Bugbot is set up for automated code reviews on this repo. Configure here. |
b39783b to
9317252
Compare
9443650 to
0f619da
Compare
0f619da to
d256616
Compare
9317252 to
218a334
Compare
d0270d3 to
09119dd
Compare
Merge activity
|
Define a version-bound read-time completion contract and replay it over every FE-1361 transcript prefix. Keep completion distinct from stopping, delivery, no progress, budget exhaustion, and licensed deferral. Review dispositions: corrected source timing and replay evidence, split occurrence from repair clauses, removed speculative/persisted state, preserved conservative divergence, and retained SPEC-LEDGER pending status until runtime proof exists. Verified: lint, typecheck, 128 unit tests, build, docs-index 7/7, diff check; contract, replay, and legibility reviews PASS.
09119dd to
8a8e906
Compare

🌟 What is the purpose of this PR?
Brunch's interviewer needs a way to tell when the model it is eliciting is complete enough to stop asking, distinct from running out of budget or the expert leaving. This pull request lands the first draft of that completion contract and a manual replay of it over all 44 prefixes of the two baseline transcripts. The draft was written at the level of the coatings-plant domain (a table of twenty demand rows keyed to that plant); the strategy pivot later in this stack (S-007, ADR-0006) found that level wrong and reduced the contract to nineteen invariants on a single function,
evaluateCompletion, over kind-level rows. This branch is the record of that draft and the replay; the reduction lands in the FE-1404 branch.🔗 Related links
docs/specs/elicitation-completion.md(rewritten in FE-1404; the version from this branch is preserved atdocs/archive/specs/elicitation-completion-2026-08-25-full-draft.mdthere)docs/evidence/proofs/design/elicitation-completion-rehearsal.md; plain rendering:docs/evidence/proofs/design/elicitation-completion-plain.md🚫 Blocked by
🔍 What does this change?
Adds the completion specification, a 44-prefix replay, and a plain-language rendering; amends
plugin-contract.mdand the SPEC-LEDGER (§9.5 stays pending until a runtime proof exists). Completion is defined as a version-bound, read-time property of the elicited model, kept separate from stopping, delivery, no progress, budget exhaustion, and licensed deferral. The replay records, prefix by prefix, which demand clauses each transcript satisfies and when.🏗️ Agent notes
Stacked as
#9311→#9312→#9313→ #9319 → this branch → #9321 → #9322.Commit
b39783ba46docs(brunch-agent): rehearse elicitation completionStatus under S-007
Reclassified 2026-08-25 as test-bed material, not authority. The domain-keyed DemandTable,
where-scoped clauses, and completion-anchor matching are retired by ADR-0006; the invariants they encoded survive in the rewrittenelicitation-completion.md(FE-1404 branch) as tests to write againstevaluateCompletion(model, mustKnowRows). The replay is a golden-fixture candidate once re-expressed at kind level. Verdict comment posted on FE-1402.Verification at authoring
Lint, typecheck, 128 unit tests, build, docs-index 7/7, diff check; contract, replay, and legibility reviews passed. Re-verified at the stack tip: 182/182 core tests.
Pre-Merge Checklist 🚀
🚢 Has this modified a publishable library?
This PR:
📜 Does this require a change to the docs?
The changes in this PR:
🕸️ Does this require a change to the Turbo Graph?
The changes in this PR:
Reviewed on its own, this branch's
elicitation-completion.mdandplugin-contract.mddescribe a contract the top of the stack supersedes; read them as the record of the draft, and the FE-1404 branch for the current text.🐾 Next steps
FE-1497 (branch
ln/fe-1497-controller-read-path, above this stack) implementsevaluateCompletionwith the nineteen invariants as tests.🛡 What tests cover this?
packages/core/test/architecture/docs-index.test.ts— index rows and relative links.packages/core/test/architecture/control-surfaces.test.ts— SPEC-LEDGER row grammar.❓ How to test this?
docs/evidence/proofs/design/elicitation-completion-rehearsal.mdagainst the baseline transcripts underdocs/evidence/evaluations/process-model-elicitation/baseline/transcripts/.npx vitest runinpackages/core.📹 Demo
Documentation only.