fix(plan-ceo-review): restore experience-first expansion framing, require the mode handoff, skip pacing menus

Census 36597762183: both mode-routing runs logged provenance and moved on
without the mandated handoff chat; the EXPANSION run asked an unauthorized
batch/narrow pacing menu instead of the first per-addition question; the
expansion-energy proposals led with the spec because v1.87.6.0 dropped
'lead with the felt experience'. The HOLD review detector also rejected a
decision whose grounding line named no plan file although the owned source
Read binds it.
This commit is contained in:
garrytan committed 2026-09-29 16:57:54 +00:00
1 parent 45cdfab2a0
commit 75b22463f3
4 files changed
+18 -9

No files matched your search

+2 -1
View File
@@ -64,7 +64,8 @@ export function buildCeoHoldPostureReview(input: CeoHoldPostureReviewInput): Pla
for (const call of [mode, decision]) {
const context = /Project\/branch\/task:([^\n]*)/i.exec(call.questions[0]!.question)?.[1] ?? '';
const plans = [...new Set(context.match(/(?<![\w.:/\\-])[\w.:/\\-]+\.md(?![\w.:/\\-])/gi) ?? [])];
if (plans.length !== 1 || (plans[0] !== name && plans[0] !== source.path)) fail('native source context differs from original plan');
// Naming no plan leaves the owned source Read below as the binding; naming another or several plans does not.
if (plans.length > 1 || (plans.length === 1 && plans[0] !== name && plans[0] !== source.path)) fail('native source context differs from original plan');
}
const decisionContext = /Project\/branch\/task:([^\n]*)/i.exec(decision.questions[0]!.question)?.[1] ?? '';
if (!/\bHOLD SCOPE\b/.test(decisionContext) ||