Repository navigation
feat(planning): mark every direct dependent when an interview answer changes or is reopened #9714
Copy link
Copy link
Open
Feature
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
Outcome
A changed or reopened answer reaches every question that depends on it, not only decided direct dependents
(gap G3):
- When a counted decision changes value or is reopened, every direct dependent becomes
stale(it holds a
decision) or a newupstream-changedstate (it does not). Anupstream-changedquestion is not Accept-all
eligible. - Re-answering a stale question with a different value marks its own direct dependents the same way: one hop
per value-changing answer. reopenmarks dependents like a changed value.upstream-changedholds until Claude revises the dependent or posts areconfirmop; underfrontierLock
confirmorhard, Save stays locked until then. Each dependent, not only the parent, shows that the
upstream change is not handled yet.
Decisions
- The surface's deferred list parks "the stale cascade (automatic transitive re-staling)". This slice keeps
that parked: propagation moves one hop only when a re-answer changes value. Update that deferred row to say
the one-hop form is built and the automatic cascade stays parked. - G1 (owner, 2026-10-18):
frontierLockdefaultconfirm(shipped by the blocker).
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. - The surface's deferred list,
plugins/planning/surface/deferred.md.
Done when
- Server tests: a changed value stales a decided dependent and marks an undecided one
upstream-changed; a reopen does the same; a re-answer with a different value on a stale question marks its dependents; a re-answer with the same value marks nothing. - A server test shows a
reconfirmop clearsupstream-changed, and Accept-all eligibility excludesupstream-changedquestions. -
grep -n "upstream-changed" plugins/planning/skills/interview/context/surface.mdandgrep -n "reconfirm" plugins/planning/skills/interview/context/surface.mdprint lines. -
grep -n -i "stale cascade" plugins/planning/surface/deferred.mdprints a row that names the one-hop form as built. -
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
- An automatic transitive cascade (stays parked).
- Stale marking from a new constraint (planning: mark interview recommendations stale when a new constraint arrives mid-interview #5769).
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
melodic-automation-lanes commentedon Oct 24, 2026
Not admitted to the issue lane yet: blocker #9709 is not closed as completed by a listed human or a merge.