Skip to content

fix(ask-user): keep question payloads compact - #1241

Closed
jbetala7 wants to merge 1 commit into
garrytan:mainfrom
jbetala7:oss/fix-1208-ask-user-layout
Closed

jbetala7 wants to merge 1 commit into
garrytan:mainfrom
jbetala7:oss/fix-1208-ask-user-layout

Conversation

@jbetala7

Copy link
Copy Markdown
Contributor

Fixes #1208.

Summary

  • move the rich AskUserQuestion decision brief out of the tool question payload and into the preceding markdown
  • require question to be one sentence, no newlines, <=80 chars
  • limit one call to at most two related questions/tabs and avoid duplicated trade-off text
  • regenerate tier-2+ skills and ship goldens

Testing

  • bun test test/resolver-ask-user-format.test.ts test/gen-skill-docs.test.ts test/host-config.test.ts

mastermanas805 added a commit to mastermanas805/gstack that referenced this pull request May 11, 2026
Match the versioned design-doc convention in docs/designs/
(PLAN_TUNING_V0.md, PLAN_TUNING_V1.md, SELF_LEARNING_V0.md,
PACING_UPDATES_V0.md). The original PLAN_ROLLOUT_DOGFOOD.md filename
introduced a new "_DOGFOOD" suffix that didn't match any existing
pattern and read like an evidence appendix rather than a design doc.

Restructure:
- New "Design" section at the top describing what /plan-rollout is,
  what v0 ships, and what's deferred to v1.1+
- "Dogfood: PR garrytan#1241" section retains the worked example (file
  breakdown, reader-time estimate, verdict, findings)
- New "v1.1 roadmap" section consolidates the four follow-up todos

All original dogfood content preserved verbatim under its new section
heading.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Long decision-brief bodies packed into AskUserQuestion's `question` field
and multi-tab batches make the question card unreadable in panel hosts
(VSCode). The brief belongs in markdown before the call; the tool payload
should stay compact.

generate-ask-user-format.ts now documents, in the Format section:
- the two-part contract (markdown brief, then a compact tool_use payload);
- "Tool payload rules": `question` is one sentence / no newlines / <=80
  chars, brief content stays in markdown, batch at most two related
  questions/tabs (sequence the rest), and no duplicated trade-off text
  between `question` and `options[].description`;
- four matching self-check items.

This grafts only the compact-payload guidance onto the current resolver —
it preserves the Conductor / runtime-failure-fallback content that landed
on main since this PR was first opened.

Regenerated all host SKILL.md variants (--host all) and refreshed the
claude/codex/factory ship golden fixtures so the generated docs carry the
new rules.

Tests: new resolver assertions (compact-question, tab-batching,
no-duplicate-tradeoff, self-check items) and a gen-skill-docs assertion
that the rules reach generated tier 2+ SKILL.md. Affected suites
(resolver-ask-user-format, gen-skill-docs, host-config) green.

Fixes garrytan#1208

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@jbetala7
jbetala7 force-pushed the oss/fix-1208-ask-user-layout branch from 360f345 to 8d79caf Compare June 17, 2026 07:04
@jbetala7

Copy link
Copy Markdown
Contributor Author

Rebased onto current main (c7ae6320) — was conflicting since the AskUserQuestion resolver picked up the Conductor / runtime-failure-fallback rewrite. History is now a single clean commit (the old 4 merge commits are gone).

Reconciliation note: I grafted only the compact-payload guidance (two-part brief + tool payload, question <=80 chars / one sentence / no newlines, batch at most two tabs, no duplicated trade-off text, plus the matching self-check items) onto the current resolver. The earlier version of this PR also shortened the "Tool resolution" section; I dropped that part since main has since expanded it with the Conductor and failure-fallback rules, which this PR now preserves intact.

Regenerated all host SKILL.md variants (--host all) and refreshed the claude/codex/factory ship goldens. Verified every one of the 49 changed files diffs to AUQ-compact lines only (no unrelated generator drift). Affected suites green: resolver-ask-user-format, gen-skill-docs, host-config (516 assertions).

@time-attack

Copy link
Copy Markdown
Contributor

@16francej Merge this version because it passed the Mac checks and is the chosen implementation for compact question payloads.

time-attack pushed a commit to time-attack/gstack that referenced this pull request Jul 22, 2026
garrytan#452

Three reviewed bug-fix overlays (MCP-packaging review, office-hours inline
approval doc, host-neutral ## Review calibration), pinned set 22 -> 25 with
executable regression fixtures. garrytan#1241 (compact AUQ preamble) held back: it
drifts 43 baseline-render oracle hashes and needs a separate provenance call.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
time-attack pushed a commit to time-attack/gstack that referenced this pull request Jul 31, 2026
…k outputs

Question-format class (garrytan#1208/garrytan#1241/garrytan#1066/garrytan#2373/garrytan#2035):

- generate-skill-tree emits ONE references/QUESTION-FORMAT.md per dispatcher
  tree: decision brief as direct assistant text, short question field
  (~120 chars), 12-char tab labels, max 4 options with split protocol, and
  the unavailable-tool prose fallback that NEVER silently defaults.
- Dangling module pointers to "the preamble's AskUserQuestion Format
  section" (excluded from canonical execution) repoint to the packaged
  contract: plan-ceo-review, office-hours, benchmark-models, sync-gbrain,
  plan-eng-review sections.
- SHARED-JUDGMENT gains rule 14: unavailable question tool renders identical
  options as numbered prose and stops; never silently default.
- question-preference-hook emits only documented PreToolUse outputs: the
  invalid permissionDecision 'defer' (garrytan#2035/garrytan#1924) is gone; no opinion is
  empty stdout, additionalContext rides without a permissionDecision. Tests
  that pinned 'defer' as correct now pin the documented shape.
- Parity pins: +15 checks (3 per tree), 4402 -> 4417.
- Tripwires: QUESTION-FORMAT exists + dispatcher-loaded in all trees, no
  preamble-format pointers survive, every hook permissionDecision literal is
  in the documented allow/deny/ask set.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@capy-ai

capy-ai Bot commented Oct 3, 2026

Copy link
Copy Markdown

Thanks for this, @jbetala7. The fix is now on main: the AskUserQuestion format was reworked in the Opus 5.5 prompt cleanup (see v1.91.15.0). Closing as superseded; if you still see the problem on the latest gstack, please open an issue with ./setup --status output.

@capy-ai capy-ai Bot closed this Oct 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

AskUserQuestion: long decision-brief bodies + multi-tab batches break VSCode panel layout

2 participants