gstack/docs
Zachary Townsend 4257e8170d fix(plan-tune): stop emitting invalid permissionDecision "defer" (breaks Conductor AUQ)
The PreToolUse question-preference-hook emitted
`permissionDecision: "defer"` on its pass-through path. `"defer"` is not a
valid Claude Code permissionDecision — the spec defines only
`allow` / `deny` / `ask`. Native Claude Code silently ignored the unknown
value and fell through to normal flow, so it appeared to work.

Conductor's `mcp__conductor__AskUserQuestion` bridge does NOT ignore it: an
unrecognized permissionDecision on its own injected tool hangs the
round-trip, so the question never renders and no tool_result is returned
(the harness substitutes "[Tool result missing due to internal error]").
Because defer() fires on every ordinary question with no never-ask
enforcement, this broke AskUserQuestion entirely for Conductor users whenever
the gstack plan-tune hooks were installed.

Fix: express "no opinion" the spec-correct way — emit no permissionDecision.
Emit nothing at all when there is no additionalContext; surface
additionalContext (Layer 8 memory) alone otherwise. The deny enforcement
path is unchanged (deny is spec-valid).

- Update the defer() contract + tests (defer => no permissionDecision).
- Add a Conductor regression test: ordinary AUQ question => empty stdout.
- Correct docs/spikes/claude-code-hook-mutation.md, which incorrectly
  documented "defer" as a valid permissionDecision value.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 10:05:17 -07:00
..
designs v1.46.0.0 feat: gstack v2 foundation — catalog tokens drop 56%, eval-first floor covers all 51 skills (#1712) 2026-05-26 16:50:03 -07:00
evals v1.6.4.0: cut Haiku classifier FP from 44% to 23%, gate now enforced (#1135) 2026-04-23 10:23:40 -07:00
images feat: Completeness Principle — Boil the Lake (v0.6.1) (#140) 2026-03-17 16:34:08 -05:00
spikes fix(plan-tune): stop emitting invalid permissionDecision "defer" (breaks Conductor AUQ) 2026-05-31 10:05:17 -07:00
ADDING_A_HOST.md feat: declarative multi-host platform + OpenCode, Slate, Cursor, OpenClaw (v0.15.5.0) (#793) 2026-04-04 15:32:20 -07:00
ON_THE_LOC_CONTROVERSY.md feat: gstack v1 — simpler prompts + real LOC receipts (v1.0.0.0) (#1039) 2026-04-18 15:05:42 +08:00
OPENCLAW.md feat: native OpenClaw skills + ClaHub publishing (v0.15.10.0) (#832) 2026-04-05 10:07:03 -07:00
REMOTE_BROWSER_ACCESS.md v1.16.0.0 feat: tunnel allowlist 17→26 + canDispatchOverTunnel pure function (#1253) 2026-04-28 00:57:28 -07:00
askuserquestion-split.md v1.48.0.0 feat: AskUserQuestion split rule + runtime AUTO_DECIDE carve-out (#1740) 2026-05-26 23:43:07 -07:00
domain-skills.md v1.20.0.0 feat: browser-skills runtime + gbrain-support carryover (#1233) 2026-04-28 20:08:04 -07:00
explanation-diataxis-in-gstack.md v1.35.0.0 feat: add /document-generate skill + enhance /document-release with Diataxis coverage map (#1477) 2026-05-14 11:35:32 -04:00
gbrain-sync-errors.md v1.38.0.0 fix wave: Windows install hardening + Unicode sanitization at server egress (4 community PRs) (#1505) 2026-05-14 21:19:58 -07:00
gbrain-sync.md v1.38.0.0 fix wave: Windows install hardening + Unicode sanitization at server egress (4 community PRs) (#1505) 2026-05-14 21:19:58 -07:00
gbrain-write-surfaces.md v1.52.1.0 feat: brain-aware planning — 5 skills read structured gbrain context before asking (#1742) 2026-05-29 08:35:00 -07:00
howto-document-a-shipped-feature.md v1.35.0.0 feat: add /document-generate skill + enhance /document-release with Diataxis coverage map (#1477) 2026-05-14 11:35:32 -04:00
howto-ios-testing-with-gstack.md v1.43.0.0 feat: iOS device-farm (5 skills, Mac daemon, Tailscale) (#1574) 2026-05-21 16:09:26 -07:00
skills.md v1.52.0.0 feat(plan-tune): explicit consent + first-run setup wizard for contributors (#1741) 2026-05-28 18:21:09 -07:00
tutorial-document-generate.md v1.35.0.0 feat: add /document-generate skill + enhance /document-release with Diataxis coverage map (#1477) 2026-05-14 11:35:32 -04:00