Repository navigation
feat(planning): open each interview round with a pinned restate card #9716
Copy link
Copy link
Closed
Copy link
Labels
agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.Fully specified and briefed; eligible for autonomous pickup from the frontier.priority: mediumReal value, no hard deadline; normal backlog flow.Real value, no hard deadline; normal backlog flow.status: readyTriaged, unblocked, and fully specified; eligible to pick up.Triaged, unblocked, and fully specified; eligible to pick up.
Description
Parent
Refs #5796
Depends on
- none: on the frontier now
Outcome
Every round on the page opens with the terminal interview's restate (gap G7): what is decided, which branches
are open, and what this round turns on.
add-roundtakes arestatefield: markdown of at most 3 sentences plusdecidedandopenid lists,
stored per round, and refuses a round without it, as rule R1 refuses one withoutcommits.- The page renders it as a pinned card above the round's first question and posts an Activity "Needs you"
entry.
Decisions
- The issue's G7 fix: refuse a round without a restate, matching R1 for
commits.
Key interfaces
- Interview page:
plugins/planning/surface/index.html; page server:plugins/planning/surface/server.py
(record(),derive_states); round CLI:plugins/planning/surface/round.pybehindround.sh;
exporters:plugins/planning/surface/exporters.py. - The interview skill's surface contract,
plugins/planning/skills/interview/context/surface.md, documents
every new op, field, setting and refusal.
Done when
- Round tests:
add-roundwithoutrestateexits non-zero naming the field; with more than 3 sentences it exits non-zero; with a valid restate it storesrestate,decidedandopenon the round. - A page test shows the restate card above the round's first question.
-
grep -n "restate" plugins/planning/skills/interview/context/surface.mdprints theadd-roundfield row. -
scripts/run-test-file.sh plugins/planning/surface/test_server.pyexits 0. -
scripts/run-test-file.sh plugins/planning/surface/test_round.pyexits 0. -
bash plugins/planning/surface/surface.test.shexits 0, so a data dir without the new fields still loads, renders and exports. -
scripts/check-changelog-fragments.sh --check-required origin/mainexits 0.
Out of scope
- The confirmation-gate restatement (
restateop), which is unchanged.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.Fully specified and briefed; eligible for autonomous pickup from the frontier.priority: mediumReal value, no hard deadline; normal backlog flow.Real value, no hard deadline; normal backlog flow.status: readyTriaged, unblocked, and fully specified; eligible to pick up.Triaged, unblocked, and fully specified; eligible to pick up.
Type
Fields
No fields configured for Feature.
Activity