Repository navigation
feat(planning): interview asks intent and quality requirements, reads consumer standards #8333
Description
Parent
Refs #8326 · Source: PLAN Phase 3, topic malleable-design-defaults
Depends on
Outcome
In every engineering session, /planning:interview reads the consumer's standards before it applies any bundled default. It reads them through the standards-contract resolution ladder, matched rows only, with depth set by the quality bar (prototype: ambient only).
It then asks the intent question: is a second variant known, a category, or speculative; what the existing structure does; and what upstream says. If the request already states the answer, it confirms rather than asks. For a prototype the question is one line; for a bug fix or refactor it is a one-line "not applicable?". It records Intent: and Quality bar: lines under Captured assumptions.
It prompts quality requirements (NFRs) according to the quality bar and records each one under Constraints as a Quality requirement: line.
Upstream context goes into the Brief as a short summary, never a verbatim quote of private content. In a private repo the summary carries a pointer to its source; when the repo is public or its visibility is unknown, the summary omits private titles and URLs.
Unattended runs follow the Q47 answers. Only text the user wrote or confirmed counts as the user's words. When the answer is unstated, the interview locks the Brief with the intent row blocked, deferred to USER-RESERVED, and escalates once. An unstated measurable NFR target is recorded as a captured assumption.
Key interfaces
From the plan's ## Design:
planning
skills/interview| intent question, NFR prompt list,Quality bar:andIntent:lines | proactive
Intent: second variant = known | category | speculative; existing structure: <summary>; upstream: <summary or none> Quality bar: prototype | internal | production Overrides bundled default <principle> per <standards file>
Intent and quality-bar lines live under the Brief's
### Captured assumptions. Bug fix or refactor:Intent: not applicable (confirmed).
The NFR list lives in a new interview context file. It holds performance, reliability/availability, security, maintainability, usability (ISO/IEC 25010:2023: interaction capability), scalability (ISO/IEC 25010:2023: part of flexibility), and observability (not an ISO/IEC 25010 characteristic; included by judgment). The list is labeled judgment and points at ISO/IEC 25010:2023 with an as-of date and a recheck trigger.
Variation verdict: upstream context (trackers, docs) is contained in the operation's owner (ADR 0060) and framed as data.
Done when
- Interview SKILL.md line count is unchanged; it is at its 500-line cap, so new text goes in the interview's loop context and the new NFR prompts context file, with at most one pointer line in SKILL.md.
-
grep -c "Quality bar:"andgrep -c "Intent: second variant"on the interview loop context each return ≥ 1. - Each new standing instruction names its observed stumble (container Brief Constraints).
- Eval cases (
case.yamldirs under the planning plugin'sevals/; consumer standards written byscaffold_scriptasdocs/standards/files): intent asked and recorded; unattended blocked row; prototype one-line collapse; NFR captured; consumer override line. Run the suite on main's plugin and on the branch's plugin; drop any instruction that does not improve on main; record both in the PR body. - After the commit,
bash plugins/planning/tests/interview-defenses.test.shandbash scripts/check-changed-skills.sh origin/mainexit 0. - A changelog fragment for the planning plugin.
Out of scope
- A new Brief heading. The parallel Problem First effort owns
### Problemand the gate script's heading list. Edits stay in separate sections, and whichever PR merges second rebases. /planning:prdchanges (planning/prd: add a quality-requirements (NFR) section #8322).
Activity
kyle-sexton commentedon Oct 19, 2026