Bounded Grilling
Overview
Bounded Grilling exposes and resolves material human decisions without turning
an interview into an endless session or implementation. The human owns value
judgments and authority decisions. The agent discovers facts, frames options,
recommends a default, returns a traceable decision packet, and stops.
Invocation gate
Run only when:
- the user explicitly asks to be grilled, interviewed, or stress-tested; or
- the shared
/wf router invokes one genuine human-owned ambiguity under the
user's standing ask-not-assume instruction; or
- the user explicitly invokes Wayfinder charting, which authorizes one bounded
opening-router call; or
- an existing, named Wayfinder HITL decision ticket invokes the skill.
Outside those cases, an agent may briefly offer Bounded Grilling when a
route-changing decision is blocking progress, but must not begin until the
user accepts. Complexity or ambiguity alone is not permission to start.
Authority boundary
- Ask the human only for decisions; investigate discoverable facts first.
- Never answer the human side of a HITL decision.
- Never implement, publish, install, configure, activate, or otherwise mutate
the product because the interview ended.
- Bounded Grilling does not claim, edit, close, link, or create tracker items.
- The invoking Wayfinder workflow owns all authorized tracker persistence and
map, fog, frontier, and dependency updates.
- Stop immediately on a user stop signal.
Choose one mode
Opening router
Use for a loose plan or destination before choosing the planning route.
- Resolve no more than three distinct route-changing human decisions.
- Stop earlier when remaining uncertainty is non-blocking.
- Return exactly one route:
DIRECT_SPEC — the route is clear enough for local specification;
WAYFINDER — material multi-session fog or dependent decisions remain;
BLOCKED — required evidence or decision authority is unavailable.
- Return the compact decision packet and stop.
- Do not create a specification, Wayfinder map, task, or other artifact.
Opening route handoff
Return this exact versioned handoff with the compact decision packet:
schema: grill-route-v1
route: DIRECT_SPEC | WAYFINDER | BLOCKED
destination: <settled destination or explicit unknown>
accepted_decision_handles: []
constraints: []
negative_requirements: []
evidence_handles: []
suspected_fog: []
out_of_scope: []
persistence: confirmed | pending
Use existing project or ticket handles. When none exist, preserve the exact
accepted value with an actual timestamp rather than inventing a parallel
decision-ID system.
DIRECT_SPEC is consumable by to-spec.
WAYFINDER is consumable by Wayfinder chart mode.
BLOCKED names the missing evidence or authority.
Do not invoke either consumer automatically. Return the handoff and stop.
Wayfinder HITL decision
Use only with one existing, named human-decision ticket.
- Require the ticket name/ID, destination, decision question, relevant
accepted decisions, and direct dependencies. Return
BLOCKED if the
minimum context is unavailable.
- Resolve exactly one decision branch.
- Ask follow-ups only when needed to clarify that same branch.
- Open no second ticket and resolve no unrelated decision.
- Return exactly one outcome:
RESOLVED — one accepted value is ready to persist;
DEFERRED — the human explicitly deferred the decision;
BLOCKED — evidence or authority is insufficient;
PROTOTYPE_REQUIRED — the decision cannot be judged faithfully in prose
and needs one bounded runnable artifact plus human reaction.
- For
PROTOTYPE_REQUIRED, name exactly one decision question, choose LOGIC
or UI, state artifact constraints/authority still needed, and return no
accepted value. The invoking Wayfinder keeps this decision open and owns any
prototype ticket creation/linking.
- Otherwise return the compact decision packet to the invoking Wayfinder
workflow.
- The ticket remains unresolved until Wayfinder confirms persistence.
- After authorized persistence and map/dependency updates, stop. Do not
select or begin the next ticket.
Prototype escalation gate
Use PROTOTYPE_REQUIRED only when concrete interaction would materially reduce
uncertainty that questioning cannot, such as:
- legal/illegal state transitions or behavior at difficult edges (
LOGIC);
- UI hierarchy, navigation, layout, or primary affordance (
UI);
- multiple plausible structures whose consequences cannot be compared reliably
from prose.
Do not escalate merely because a prototype would be interesting or because the
human dislikes choosing. A prototype must still answer one route-changing
question. Return the proposed branch, minimum cases/variants, standing
constraints, and missing artifact authority. Do not build it inside Bounded
Grilling.
Decision-value gate
Ask a question only when its answer can materially change at least one of:
- scope or destination;
- architecture or execution class;
- supported user/cohort or support burden;
- authority, safety, privacy, or recovery boundary;
- dependency or credential structure;
- acceptance or release method.
Do not ask ordinary implementation, schema, command, fixture-count, naming, or
milestone details when they can safely remain local-spec work. Do not reopen a
settled decision without new evidence, a material contradiction, or an
explicit user request.
Question loop
For the current decision:
- State the decision and why it blocks downstream work.
- Inspect available files, tracker records, documentation, and appropriate
primary sources for answerable facts.
- Separate observed facts, assumptions, and value judgments.
- Ask exactly one question.
- Include:
- the minimum relevant facts and constraints;
- one recommended answer;
- the principal trade-off;
- at most four materially distinct selectable options when options help;
- free-form input through
Other.
- Wait for the answer.
- If the answer is ambiguous, ask only the smallest follow-up needed for the
same decision.
- Confirm the normalized accepted value before returning it when an
interpretation could change scope or authority.
Use clarify for selectable questions. Never place choices only in prose.
Do not force artificial choices when an open-ended answer is necessary.
Compact decision packet
Reuse an existing Wayfinder ticket ID or project decision ID. Do not create a
parallel identity system.
Every accepted decision record must contain:
- existing ticket/decision ID or source handle;
- accepted value and human owner;
- concise rationale;
- evidence handles or explicit assumptions;
- material constraints and negative requirements;
- dependencies affected, invalidated, or newly unblocked;
- an actual timestamp obtained from the tracker or a time tool.
Add conditional fields only when applicable:
- recommendation rejected or materially modified;
- prior value revised or superseded;
- explicit deferral or blocker;
- opening-router outcome.
Preserve superseded records and mark them stale; never silently overwrite
decision history. A Wayfinder map indexes the authoritative record rather than
duplicating its full rationale.
In opening-router mode, if no authorized durable artifact exists, return the
packet in chat with persistence: pending; do not create a file or tracker
item. In Wayfinder mode, return persistence: pending until the invoking
workflow confirms the record was written.
Completion and handoff
Opening-router mode is complete only when:
- up to three route-changing decisions are resolved, or the route is known
earlier;
- the packet is returned;
- a valid
grill-route-v1 handoff is returned;
DIRECT_SPEC, WAYFINDER, or BLOCKED is returned; and
- no artifact or implementation phase has begun.
Wayfinder mode is complete only when:
- one branch is
RESOLVED, DEFERRED, BLOCKED, or
PROTOTYPE_REQUIRED;
- a
PROTOTYPE_REQUIRED return names one question, branch, constraints, and
missing authority without claiming an accepted decision;
- the compact packet is returned for every other outcome;
- the invoking Wayfinder workflow reports whether persistence succeeded;
- authorized map/dependency effects are reported; and
- no next ticket, prototype build, or implementation phase has begun.
Returning a resolved WF clarification to the already-authorized parent task is
not a new planning or implementation phase; that task may resume within its
existing scope. Any downstream phase not already authorized by the parent
request requires a fresh user action.
Common pitfalls
- Unsolicited grilling. Outside explicit,
/wf-routed, or named-ticket
authority, offer it; do not auto-start.
- Endless interrogation. Enforce the opening-router and one-ticket bounds.
- Low-value questions. Apply the decision-value gate before asking.
- Asking for facts. Research them and cite the evidence.
- Batching decisions. Ask one question and wait.
- Leading choices. Recommend clearly, but keep alternatives materially
distinct and explain the principal trade-off.
- Decision loss. Return the compact packet and require persistence status.
- Summary weakening. Downstream work should reference authoritative
decision IDs rather than rely only on compressed prose.
- Tracker coupling. Grill returns the packet; Wayfinder owns mutations.
- Prototyping inside the interview. Return
PROTOTYPE_REQUIRED; do not
build, select, or imply acceptance inside Bounded Grilling.
- Implementation drift. Stop after route or persistence.
Verification checklist
1---2name: bounded-grilling3description: Use only when the user explicitly asks to be grilled, interviewed, or stress-tested, when /wf routes one genuine human-owned ambiguity, or when a named Wayfinder HITL decision ticket invokes it. Resolves bounded human decisions with evidence, recommendations, traceable records, and no implementation.4license: MIT5---67# Bounded Grilling89## Overview1011Bounded Grilling exposes and resolves material human decisions without turning12an interview into an endless session or implementation. The human owns value13judgments and authority decisions. The agent discovers facts, frames options,14recommends a default, returns a traceable decision packet, and stops.1516## Invocation gate1718Run only when:1920- the user explicitly asks to be grilled, interviewed, or stress-tested; or21- the shared `/wf` router invokes one genuine human-owned ambiguity under the22 user's standing ask-not-assume instruction; or23- the user explicitly invokes Wayfinder charting, which authorizes one bounded24 opening-router call; or25- an existing, named Wayfinder HITL decision ticket invokes the skill.2627Outside those cases, an agent may briefly offer Bounded Grilling when a28route-changing decision is blocking progress, but must not begin until the29user accepts. Complexity or ambiguity alone is not permission to start.3031## Authority boundary3233- Ask the human only for decisions; investigate discoverable facts first.34- Never answer the human side of a HITL decision.35- Never implement, publish, install, configure, activate, or otherwise mutate36 the product because the interview ended.37- Bounded Grilling does not claim, edit, close, link, or create tracker items.38- The invoking Wayfinder workflow owns all authorized tracker persistence and39 map, fog, frontier, and dependency updates.40- Stop immediately on a user stop signal.4142## Choose one mode4344### Opening router4546Use for a loose plan or destination before choosing the planning route.47481. Resolve no more than three distinct route-changing human decisions.492. Stop earlier when remaining uncertainty is non-blocking.503. Return exactly one route:51 - `DIRECT_SPEC` — the route is clear enough for local specification;52 - `WAYFINDER` — material multi-session fog or dependent decisions remain;53 - `BLOCKED` — required evidence or decision authority is unavailable.544. Return the compact decision packet and stop.555. Do not create a specification, Wayfinder map, task, or other artifact.5657### Opening route handoff5859Return this exact versioned handoff with the compact decision packet:6061```yaml62schema: grill-route-v163route: DIRECT_SPEC | WAYFINDER | BLOCKED64destination: <settled destination or explicit unknown>65accepted_decision_handles: []66constraints: []67negative_requirements: []68evidence_handles: []69suspected_fog: []70out_of_scope: []71persistence: confirmed | pending72```7374Use existing project or ticket handles. When none exist, preserve the exact75accepted value with an actual timestamp rather than inventing a parallel76decision-ID system.7778- `DIRECT_SPEC` is consumable by `to-spec`.79- `WAYFINDER` is consumable by Wayfinder chart mode.80- `BLOCKED` names the missing evidence or authority.8182Do not invoke either consumer automatically. Return the handoff and stop.8384### Wayfinder HITL decision8586Use only with one existing, named human-decision ticket.87881. Require the ticket name/ID, destination, decision question, relevant89 accepted decisions, and direct dependencies. Return `BLOCKED` if the90 minimum context is unavailable.912. Resolve exactly one decision branch.923. Ask follow-ups only when needed to clarify that same branch.934. Open no second ticket and resolve no unrelated decision.945. Return exactly one outcome:95 - `RESOLVED` — one accepted value is ready to persist;96 - `DEFERRED` — the human explicitly deferred the decision;97 - `BLOCKED` — evidence or authority is insufficient;98 - `PROTOTYPE_REQUIRED` — the decision cannot be judged faithfully in prose99 and needs one bounded runnable artifact plus human reaction.1006. For `PROTOTYPE_REQUIRED`, name exactly one decision question, choose `LOGIC`101 or `UI`, state artifact constraints/authority still needed, and return no102 accepted value. The invoking Wayfinder keeps this decision open and owns any103 prototype ticket creation/linking.1047. Otherwise return the compact decision packet to the invoking Wayfinder105 workflow.1068. The ticket remains unresolved until Wayfinder confirms persistence.1079. After authorized persistence and map/dependency updates, stop. Do not108 select or begin the next ticket.109110## Prototype escalation gate111112Use `PROTOTYPE_REQUIRED` only when concrete interaction would materially reduce113uncertainty that questioning cannot, such as:114115- legal/illegal state transitions or behavior at difficult edges (`LOGIC`);116- UI hierarchy, navigation, layout, or primary affordance (`UI`);117- multiple plausible structures whose consequences cannot be compared reliably118 from prose.119120Do not escalate merely because a prototype would be interesting or because the121human dislikes choosing. A prototype must still answer one route-changing122question. Return the proposed branch, minimum cases/variants, standing123constraints, and missing artifact authority. Do not build it inside Bounded124Grilling.125126## Decision-value gate127128Ask a question only when its answer can materially change at least one of:129130- scope or destination;131- architecture or execution class;132- supported user/cohort or support burden;133- authority, safety, privacy, or recovery boundary;134- dependency or credential structure;135- acceptance or release method.136137Do not ask ordinary implementation, schema, command, fixture-count, naming, or138milestone details when they can safely remain local-spec work. Do not reopen a139settled decision without new evidence, a material contradiction, or an140explicit user request.141142## Question loop143144For the current decision:1451461. State the decision and why it blocks downstream work.1472. Inspect available files, tracker records, documentation, and appropriate148 primary sources for answerable facts.1493. Separate observed facts, assumptions, and value judgments.1504. Ask exactly one question.1515. Include:152 - the minimum relevant facts and constraints;153 - one recommended answer;154 - the principal trade-off;155 - at most four materially distinct selectable options when options help;156 - free-form input through `Other`.1576. Wait for the answer.1587. If the answer is ambiguous, ask only the smallest follow-up needed for the159 same decision.1608. Confirm the normalized accepted value before returning it when an161 interpretation could change scope or authority.162163Use `clarify` for selectable questions. Never place choices only in prose.164Do not force artificial choices when an open-ended answer is necessary.165166## Compact decision packet167168Reuse an existing Wayfinder ticket ID or project decision ID. Do not create a169parallel identity system.170171Every accepted decision record must contain:172173- existing ticket/decision ID or source handle;174- accepted value and human owner;175- concise rationale;176- evidence handles or explicit assumptions;177- material constraints and negative requirements;178- dependencies affected, invalidated, or newly unblocked;179- an actual timestamp obtained from the tracker or a time tool.180181Add conditional fields only when applicable:182183- recommendation rejected or materially modified;184- prior value revised or superseded;185- explicit deferral or blocker;186- opening-router outcome.187188Preserve superseded records and mark them stale; never silently overwrite189decision history. A Wayfinder map indexes the authoritative record rather than190duplicating its full rationale.191192In opening-router mode, if no authorized durable artifact exists, return the193packet in chat with `persistence: pending`; do not create a file or tracker194item. In Wayfinder mode, return `persistence: pending` until the invoking195workflow confirms the record was written.196197## Completion and handoff198199Opening-router mode is complete only when:200201- up to three route-changing decisions are resolved, or the route is known202 earlier;203- the packet is returned;204- a valid `grill-route-v1` handoff is returned;205- `DIRECT_SPEC`, `WAYFINDER`, or `BLOCKED` is returned; and206- no artifact or implementation phase has begun.207208Wayfinder mode is complete only when:209210- one branch is `RESOLVED`, `DEFERRED`, `BLOCKED`, or211 `PROTOTYPE_REQUIRED`;212- a `PROTOTYPE_REQUIRED` return names one question, branch, constraints, and213 missing authority without claiming an accepted decision;214- the compact packet is returned for every other outcome;215- the invoking Wayfinder workflow reports whether persistence succeeded;216- authorized map/dependency effects are reported; and217- no next ticket, prototype build, or implementation phase has begun.218219Returning a resolved WF clarification to the already-authorized parent task is220not a new planning or implementation phase; that task may resume within its221existing scope. Any downstream phase not already authorized by the parent222request requires a fresh user action.223224## Common pitfalls2252261. **Unsolicited grilling.** Outside explicit, `/wf`-routed, or named-ticket227 authority, offer it; do not auto-start.2282. **Endless interrogation.** Enforce the opening-router and one-ticket bounds.2293. **Low-value questions.** Apply the decision-value gate before asking.2304. **Asking for facts.** Research them and cite the evidence.2315. **Batching decisions.** Ask one question and wait.2326. **Leading choices.** Recommend clearly, but keep alternatives materially233 distinct and explain the principal trade-off.2347. **Decision loss.** Return the compact packet and require persistence status.2358. **Summary weakening.** Downstream work should reference authoritative236 decision IDs rather than rely only on compressed prose.2379. **Tracker coupling.** Grill returns the packet; Wayfinder owns mutations.23810. **Prototyping inside the interview.** Return `PROTOTYPE_REQUIRED`; do not239 build, select, or imply acceptance inside Bounded Grilling.24011. **Implementation drift.** Stop after route or persistence.241242## Verification checklist243244- [ ] Invocation was explicit, routed by `/wf` for one genuine human-owned245 ambiguity, or attached to one named Wayfinder HITL ticket.246- [ ] Every question passed the decision-value gate.247- [ ] Discoverable facts were investigated instead of delegated to the user.248- [ ] Only one question was active at a time.249- [ ] Recommendation, trade-off, and options were clear.250- [ ] Opening mode resolved at most three route-changing decisions.251- [ ] Opening mode returned a valid `grill-route-v1` handoff.252- [ ] Wayfinder mode resolved exactly one decision branch or returned one253 bounded `PROTOTYPE_REQUIRED` handoff.254- [ ] `PROTOTYPE_REQUIRED` was used only when interaction adds decision value,255 and no artifact was built inside Grill.256- [ ] The compact packet contains every required core field when applicable.257- [ ] Grill performed no tracker mutation.258- [ ] Persistence status and dependency effects are explicit.259- [ ] The correct mode-specific route or outcome was returned.260- [ ] No next phase or unauthorized side effect occurred.