Interrogation Page Archetype — Stage Zero Spec

Alignment status: review. Report-only design spec for moving research-skill interrogation out of the terminal and into a dedicated, looping HTML interrogation/ page that runs as stage zero before the existing framework/scope page and the alignment review page. No conventions or skills are modified by this page — it exists to align on the design before any implementation.

13.1 → 0.4mean agent questions per research session, before vs after alignment pages (Codex transcripts)
2026-05-21inflection: commit a839142e "require alignment pages for all skills"
~25+research/analysis skills classified scoped (1–3 question cap)
0open free-text fields driving research across all 77 alignment pages produced

Table Of Contents

The Problem (Evidence Recap)

Audited Claude + Codex history confirmed the felt regression. In Codex research-skill sessions, mean agent questions fell from a peak of ~28/session (early May) to ~0.3/session (June). The drop is precisely datable to the 2026-05-21 "require alignment pages for all skills" commit.

The root cause is not the alignment page absorbing questions. It is two compounding structural facts:

The produced pages then make it feel like rubber-stamping: across all 77 alignment pages, the only controls are approve / thumbs-down / clarification triads plus multiple-choice routing gates whose options the agent pre-authored. There is not a single open free-text field that shapes the research before it is produced.

Agent Questions Per Research Session Over Time

Decisions Already Made

These were settled in conversation before this page. They frame the spec below; the gates let you reopen any of them.

#DecisionRationale
D1Interrogation moves out of the terminal into its own HTML page.User preference: the terminal interview is no longer the desired surface; interaction should be HTML, like alignment review.
D2It is a stage zero, not a replacement of the existing framework/scope page (stage one).Elicitation must precede selection so framework options are informed by answers, not pre-authored blind.
D3It repeats over and over as an iterative loop until the agent's confidence gate passes.Restores adaptivity — each round's follow-ups depend on the prior round's answers, recreating "relentless interrogation".
D4The assumptions manifest is incorporated as round 1, not replaced.The manifest forces evidence-grounded, non-lazy questioning; it is the ideal seed for the loop.
D5Each round is a separate per-round file (proposed default, see open tradeoff).Provenance: each round's questions and answers become a durable, diffable artifact, matching the Research Session Loop's artifact-per-phase model.

Proposed: Interrogation Page Archetype

A new HTML page archetype, distinct from the alignment page, governed by its own convention doc (docs/interrogation-page-convention.md, to be authored) and its own audit. Its purpose is elicitation before research, the inverse of the alignment page's approval after research.

Defining contrasts vs. the alignment page

DimensionInterrogation page (new)Alignment page (existing)
PurposeElicit unknowns the agent cannot inferReview/approve produced deliverables
TimingBefore research (stage zero)After research (stage two)
Primary controlOpen free-text answers + recommend-by-default choicesApprove / thumbs-down / clarification + routing radios
LifecycleLoops: round N spawns round N+1 until confidence gate passesSingle page, review → confirmed
Directoryinterrogation/alignment/
AuditNew audit-interrogation-pages.mjs (must require real open questions)audit-alignment-pages.mjs

What it must NOT become

The audit for this archetype must enforce that it does not collapse back into approve-only UX. Minimum: each round page must contain at least one genuinely open input (free-text or recommend-and-override) that shapes downstream research, not only accept/reject on pre-generated content. This is the structural guard against re-introducing the rubber-stamp problem in a new wrapper.

Stage Model: 0 / 1 / 2

Interrogation is inserted as a new state before the existing first interaction. It does not replace stage one; for scoped skills it will feel like the new first screen because framework selection used to be first.

stage 0  →  interrogation/{skill}-r1..rN.html   [ELICITATION: open input drives research]
              loop until confidence gate passes
stage 1  →  alignment framework/scope page       [SELECTION: options informed by stage 0]
              research runs
stage 2  →  alignment/{skill}-{topic}.html        [REVIEW/APPROVAL of deliverables]

This preserves the convention's firewall semantically — intake → selection → review — and only changes where intake happens (HTML, not terminal). It generalizes across tiers: deep skills get a rich stage-zero loop; scoped skills get a lighter one. No tier needs terminal interrogation anymore.

The Round Loop & Confidence Gate

Each round is one heavy phase of the Research Session Loop: the agent builds an interrogation page, stops, the user answers, the agent reads the answers and runs its confidence gate.

round = 1
build interrogation/{skill}-r{round}-{branch}.html   (manifest if round==1, else follow-ups)
STOP → user answers → compiled answers YAML
agent reads answers, runs CONFIDENCE GATE:
    confident enough to produce useful research?
        NO  → round += 1; build next round of deeper/follow-up questions; repeat
        YES → write coverage checkpoint; advance to stage 1

Confidence gate (loop exit)

The gate is a contract, not a fixed round count. It restores the "relentless until confident" feeling. Proposed enforcement: the agent may not advance to stage one until (a) at least one interrogation round is completed, and (b) every interview area defined by the skill is covered or explicitly waived by the user. The coverage checkpoint (today's deep-tier Phase 4, interview-convention.md:31) becomes the loop's exit gate — the agent's "here is everything we established, confirm completeness or flag gaps" page.

Volume expectation

Fewer artifacts than it sounds. A 30–40-question terminal interview was ~12 chunked turns; rounds of 6–8 questions each land at ~3–6 rounds for a deep skill, 1–2 for a scoped one.

Round 1 = Assumptions Manifest

The assumptions manifest (interview-convention.md:27) is not a separate concern from interrogation — it is the ideal first round of it. It bans lazy "tell me about..." questions by forcing the agent to do its homework first and ask only where it has no basis to assume. Incorporating it beats replacing it: delete it and round 1 regresses to open filler prompts.

Round 1 elementSource todayRendered as
3–7 source-tagged assumptions ([from prompt], [from repo], [inferred])Assumptions manifest, Phase 2Interactive confirm / correct / flag controls (the approve/edit/reject/flag gate the alignment convention already has)
First batch of genuine open questionsPhase 3 interview loop, opening turnFree-text answer fields + recommend-and-override choices, only where no assumption is derivable

Every correction you make to an assumption seeds round 2's follow-ups — that is the mechanism that makes the loop adaptive. So the manifest bookends the loop: assumptions manifest = entry (round 1), coverage checkpoint = exit.

File Naming, Location & Answer Capture

Location and naming

Answer capture (what drives "repeat over and over")

Each round page needs a captured-answers sidecar — the same "Compile YAML" mechanism the alignment page already uses — so the agent reads round N's answers back, runs the confidence gate, and only then decides whether to emit round N+1 or write the coverage checkpoint. Proposed sidecar path: research/_working/interrogation-{skill}-r{N}.yaml (or the product-path equivalent), preserving the round-by-round audit trail.

Convention Integration Map

Where the change lands if approved (report-only — none of these are edited yet).

SurfaceChange
docs/interrogation-page-convention.md (new)Author the archetype: page structure, round loop, confidence gate, manifest-as-round-1, answer sidecar, file naming.
docs/interview-convention.mdReplace "happens before alignment-page review" terminal-intake language (line 11) and the per-tier phase prose so intake is delivered via interrogation pages, not terminal turns. Map Phase 2 manifest → round 1; Phase 4 coverage checkpoint → loop exit gate.
docs/research-session-loop-convention.mdAdd a stage-zero interrogation state before state E for the scoped orchestrators (lines 234–239); model each round as one loop session.
docs/alignment-page-convention.mdAdd a cross-reference clarifying alignment pages are stage two only; elicitation lives in the interrogation page.
scripts/audit-interrogation-pages.mjs (new)Audit the new archetype; enforce ≥1 open input per round and presence of the confidence/coverage exit gate.
Contract test (new)Assert a skill cannot reach stage one until the confidence gate passes with ≥1 completed interrogation round — mirroring customer-discovery's existing "zero questions = contract violation" enforcement.
Per-skill SKILL.md (scoped strategy skills)Reclassify judgment-heavy skills (positioning, value-prop-canvas, lean-canvas, pmf-assessment, journey-map) so they get a real stage-zero loop, not a 1–3-question cap.

Open Tradeoffs

Open questionOption A (recommended)Option BDecided by gate
Per-round files vs. single evolving pagePer-round files — clean provenance, clear "round done", matches archive-before-replace ethosOne evolving {skill}-interrogation-{topic}.html — fewer files but mutates in place, loses round audit, awkward to re-openRound-File Model gate
Does HTML interrogation fully replace terminal questioning?Replace for research/analysis skills; keep terminal AskUserQuestion only as a degraded fallback when HTML can't be openedAllow both surfaces interchangeablyScope & Non-Goals gate
Scope of first implementationPilot on 1–2 skills (e.g. positioning, customer-discovery) before repo-wide rolloutRoll out to all research skills at oncePost-Approval Route gate

Evidence Matrix

ClaimEvidenceInferenceConfidenceAssumption statusDecision impact
Question volume collapsed at alignment-page rolloutCodex transcripts: mean 13.1 (before May 19) → 0.4 (after); monthly 6.3 / 28.0 / 3.2 / 0.3; commit a839142e dated 2026-05-21The mandatory alignment page coincides exactly with the dropHigh"?" is a proxy for questions, validated by spot-reading numbered interview turns; ratio too large to be noiseJustifies a structural intake change, not a per-skill tweak
Root cause is tier classification, not the pageinterview-convention.md:41 caps scoped intake at 1–3 questions; competitive-analysis/SKILL.md:430 "only if unclear"; research-session-loop-convention.md:234–239 cold start → state ESkills that should interrogate deeply are classified scoped with an optional question budgetHighTier assignments and routing are explicit in cited lines; causal link to the felt drop is well-supported inferenceStage-zero interrogation + reclassification both required
Produced pages are approve-onlyAcross 77 alignment pages: only approve/down/clarification triads + canned routing radios; zero open type="text" fields driving researchThe page surface makes intake feel like rubber-stamping even where questions existHighCounts from grep + deep reads of ~14 pages; remainder inferred from shared templateNew archetype must enforce ≥1 open input per round
Deep tier still works when assignedcustomer-discovery/SKILL.md: "if you asked the user zero questions, the interview did not happen... contract violation"The enforcement pattern exists and can be generalized to the confidence gateHighQuoted directly from the skillModel the new contract test on this
"30–40 questions, 3-question chunks" was never a literal specNo git match for fixed counts or "3 at a time"; deep tier always said "1–3 per turn... until covered"The felt loss is real but the old behavior was emergent, not a deleted scriptMedium-highBased on absence-of-evidence in git historySpec a confidence/coverage gate rather than a hardcoded question count

Research Completeness

Is the evidence behind this spec sufficient, or should more be gathered before committing to the design?

Assumptions, Alternatives & Gaps

Confidence Register

AssumptionMeaningConfidenceWhat would change it
HTML elicitation can carry adaptive interrogationA loop of per-round pages reproduces the adaptivity of a terminal interviewMediumA pilot showing users tolerate multi-round page-opening without fatigue
The confidence gate is enforceableA contract test can block stage one until coverage is metMedium-highWhether "coverage" can be checked mechanically vs. needing agent judgment
Per-round files are the right provenance unitRound-by-round artifacts beat one evolving pageMediumOpen tradeoff — decided by the Round-File Model gate

Alternatives Considered

AlternativeReason not chosen
Keep interrogation in the terminal, just reclassify skills to deepRejected by user (D1): the terminal is no longer the desired surface
Replace stage one with the interrogation pageRejected (D2): merging elicitation and selection makes framework options uninformed
Single static interrogation pageRejected (D3): a static form can't branch; loses the adaptivity that is the whole point
Replace the assumptions manifestRejected (D4): the manifest is the discipline that prevents lazy open questions

Gaps

GapEffect
Claude agent questions not directly countableThe before/after numbers come from Codex transcripts; Claude's AskUserQuestion usage couldn't be quantified from logs
No prototype of the round loop yetPage-fatigue risk is estimated, not measured; a pilot would de-risk it
Mechanical "coverage" definition undefinedThe confidence gate's enforceability depends on resolving this during implementation

Glossary Additions

Proposed terms introduced by this spec. Only approved terms are appended to research/glossary.md during the confirmed-page write step.

TermDefinitionSourceCategoryDecision
Interrogation pageHTML page archetype for eliciting user input before research (stage zero), distinct from the alignment page which reviews output after researchanalyze-sessionsworkflow
Stage zeroThe elicitation phase inserted before the framework/scope page (stage one) and the alignment review page (stage two)analyze-sessionsworkflow
Confidence gateThe loop-exit contract that blocks advance to stage one until the agent has run ≥1 interrogation round and covered all defined interview areas or had them waivedanalyze-sessionsworkflow
Interrogation roundOne iteration of the stage-zero loop: a single interrogation page plus its captured-answers sidecaranalyze-sessionsworkflow

Review Gates

Spec Direction

Approve the interrogation-page archetype as specified — stage zero, looping rounds, round 1 = assumptions manifest, confidence-gate exit?

Round-File Model

How should rounds be stored?

Scope & Non-Goals

Should the HTML interrogation page fully replace terminal questioning for research/analysis skills?

Artifact Destination

Where should this spec live?

Proposed File Changes

This is report-only. Confirm that no conventions, skills, scripts, or tests are edited until implementation is separately approved.

Post-Approval Route

After approval, how should this route next work?

Compile Feedback And Answers

Use section feedback (emphasize / thumbs-down / clarification) for concerns on any single section before answering all gates. Use Compile Responses for gate answers and/or selected section feedback; it enables as soon as one gate is answered or one section feedback is selected.