feat(prose): a discussion holds for outstanding research — and the wait gate is one fetch - #1093
Open
leeovery wants to merge 1 commit into
Open
feat(prose): a discussion holds for outstanding research — and the wait gate is one fetch#1093leeovery wants to merge 1 commit into
leeovery wants to merge 1 commit into
Conversation
…it gate is one fetch Research feeds discussion. The reconcile advisory's research branch now reads the research item's status first: landed research is read in full and the flag cleared; research still in flight or parked surfaces an advisory and holds the flag, so the discussion's re-entry keeps saying so until the research has actually concluded and been read into it. The discussion's and the research's concluding ceremonies fetch `render wait-gate` once — empty when nothing is owed, the gate's own sections otherwise — in place of the `awaiting_experiments` read and its two conditionals, with the pause signposts true for any kind of wait. The `experiment-wait-gate` alias is dropped everywhere: render.cjs and the usage banner, commands.md, CLAUDE.md (which also records the held flag and the in-progress hop), the render-surfaces and pipeline simulation suites, and the four prose cases whose invariants named it (discussion-spawns-an-experiment-and-continues, experiment-abandoned-returns-open, research-resumes-on-the-verdict, research-spawns-an-experiment). Two new prose cases on the epic mainline: - discussion-holds-for-outstanding-research — resume over a parked research stub: the advisory holds the flag, the wrap-up meets the wait gate, the user pauses - discussion-resumes-on-landed-research — the research has landed: it is read in full and the flag cleared before the session opens; no wait gate anywhere Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
The prose half of the research-wait change, stacked on #1091. A discussion re-entering over outstanding research is told so and keeps its reconcile flag until the research has landed; once it has, the landed file is read in full into the discussion before the session opens. Both conclude flows fetch the single
wait-gatesurface, and theexperiment-wait-gatealias goes.Changes
reconcile-advisory.md, research branch — reads the research item's status first.completed: the existing advisory, the research file read in full, the flag cleared.in-progress/triaged: a different non-blocking advisory (research outstanding, in flight or parked; decisions may rest on ground it re-examines; this work cannot conclude until it lands; the menu's research row is the way in) and the flag held. The header sentence now states the one exception.discussion-session.md§G andtopic-completion.md— theawaiting_experimentsread plus conditional render become onerender wait-gatefetch: empty proceeds, sections emit and STOP into the existing pause/keep branches. The pause signpost is kind-neutral; the gate names what is owed.experiment-wait-gateremoved from the engine, the usage banner,commands.md, CLAUDE.md, the simulation, and the four prose cases whose invariants named it (nowrender wait-gate, theawaiting_experimentsread no longer asserted where the prose no longer performs it).wait-gate; Staleness hops records the in-progress hop out of research and the advisory's held branch.Cases
discussion-holds-for-outstanding-research(new, claims world): resume over a parked research stub → the outstanding advisory, flag held → wrap-up meets the wait gate (parked) → pause. Invariants pin the status read, the gate fetch, and the absence of any flag delete, completion, or closing gate.discussion-resumes-on-landed-research(new, assertion state): resume after the research completed → the landed advisory, the research read in full, onemanifest delete— ordered after the status read and before the resume gate — and no wait gate anywhere.topic triagedelivery from a sibling research session, the landed variant absorbs the concern and completes.Verification
npm test2783 pass ·npm run typecheckclean ·npm run test:cligreen.node tests/prose/run.cjs select --diff mainlists 54 cases; the six this slice touches directly are the two new ones plusdiscussion-spawns-an-experiment-and-continues,experiment-abandoned-returns-open,research-resumes-on-the-verdict,research-spawns-an-experiment.Observation, not changed
Waits are work-type agnostic engine-side, but the advisory's "research row" is an epic-menu construct; a linear work unit with research reopened beneath an in-flight discussion would have no route back to the research. No prose path produces that state today (revisit reopens research only after the discussion has concluded), so it is noted rather than built.
🤖 Generated with Claude Code