From 353d64345bdf753295006c63db6730c7437b79e4 Mon Sep 17 00:00:00 2001 From: Garry Tan Date: Tue, 25 Aug 2026 16:09:08 +0000 Subject: [PATCH] =?UTF-8?q?feat(gen):=20AUQ=20slim=20=E2=80=94=20tool=20re?= =?UTF-8?q?solution=20as=20a=20STATUS-line=20branch=20table,=20split=20rul?= =?UTF-8?q?es=20to=20invariants=20+=20absolute=20pointer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Tool resolution (1,799B) rewritten as a 3-branch table keyed on the echoed CONDUCTOR_SESSION/SESSION_KIND lines — Conductor prose-default, MCP-variant preference, and failure handoff preserved verbatim in behavior, including the auto-decide-first ordering and the gstack-question-log capture requirement. 5+-options handling (1,924B) compressed to the split invariants (never drop; D.k shape; Include/Defer/Cut/Hold; question_id scheme with the never-ask refusal) + the full-rule pointer. Both doc pointers now interpolate the absolute install root (Codex outside-voice #7 convention) instead of the bare 'in the gstack repo'. Failure-fallback, Format, and self-check sections are byte-identical — all 14 MANDATORY always-loaded pins pass with zero test edits. Co-Authored-By: Claude Fable 5 --- .../preamble/generate-ask-user-format.ts | 59 +++++++------------ 1 file changed, 22 insertions(+), 37 deletions(-) diff --git a/scripts/resolvers/preamble/generate-ask-user-format.ts b/scripts/resolvers/preamble/generate-ask-user-format.ts index 533c002c0..937b9f323 100644 --- a/scripts/resolvers/preamble/generate-ask-user-format.ts +++ b/scripts/resolvers/preamble/generate-ask-user-format.ts @@ -1,17 +1,15 @@ import type { TemplateContext } from '../types'; -export function generateAskUserFormat(_ctx: TemplateContext): string { +export function generateAskUserFormat(ctx: TemplateContext): string { return `## AskUserQuestion Format ### Tool resolution (read first) -"AskUserQuestion" can resolve to two tools at runtime: the **host MCP variant** (e.g. \`mcp__conductor__AskUserQuestion\` — appears in your tool list when the host registers it) or the **native** Claude Code tool. +Branch on the skill-start STATUS lines, in this order: -**Conductor rule (read before the MCP rule):** if \`CONDUCTOR_SESSION: true\` was echoed by the preamble, do NOT call AskUserQuestion at all — neither native nor any \`mcp__*__AskUserQuestion\` variant. Render EVERY decision brief as the **prose form** below and STOP. This is proactive, not a reaction to a failure: Conductor disables native AUQ and its MCP variant is flaky (it returns \`[Tool result missing due to internal error]\`), so prose is the reliable path. **Auto-decide preferences still apply first:** if a \`[plan-tune auto-decide]