gstack/scripts
Benjamin D. Smith 2311e32d63 docs(workspace): mandate single-select default in AskUserQuestion format
📝 Summary:
• Add a `multiSelect` rule to the shared AskUserQuestion decision-brief
  preamble, plus a matching self-check bullet
• Regenerate the 44 SKILL.md surfaces that inline the preamble

🔧 Technical Improvements:
• `generate-ask-user-format.ts` now states that options are mutually
  exclusive by DEFAULT, and `multiSelect: true` is legal only when
  every option is an independently-selectable atom whose pro/con and
  effort stand alone
• Bundles or combinations of the same underlying items (`E1+E3`,
  `All three`, `E1 only`, `Defer all`) are mutually exclusive by
  construction, so they take `multiSelect: false` and score
  `Completeness:` per option LETTER, not per sub-item
• Names the diagnostic tell: a defer/none option or a do-everything
  option sitting in the list proves the question is single-select
• Routes 5+ independent atoms to the existing split chain rather than
  to `multiSelect`, so the 4-option cap is never silently exceeded

🏗 Architecture:
• The rule lives in the preamble resolver, not in any one skill, so
  every skill that renders a decision brief inherits it from one
  source; the 44 regenerated `SKILL.md` files are build output

🧾 Reports:
• Regenerated with `gen:skill-docs:user` to match how this branch's
  `SKILL.md` were produced (gbrain blocks inlined); the pure-form
  `gen:skill-docs` variant strips them and would have carried 326
  unrelated deletions
• `bun test test/host-config.test.ts test/skill-validation.test.ts
  test/audit-compliance.test.ts test/question-log-hook.test.ts
  test/gstack-question-preference.test.ts` — 387 pass, 0 fail across
  the four non-golden files
• The three `golden-file regression` tests were ALREADY red at HEAD:
  `test/fixtures/golden/*-ship-SKILL.md` are pure-form while the
  committed `ship/SKILL.md` is brain-form. Left untouched — a
  pre-existing defect, not this change

📊 Code Changes:
• 138 insertions, 0 deletions (net +138)

📦 Files Modified:
• `scripts/resolvers/preamble/generate-ask-user-format.ts`
  (substantial changes) — add the single-select rule paragraph and
  the `multiSelect: false` self-check bullet
• 44 × `**/SKILL.md` (minor updates) — regenerated preamble
2026-07-10 23:38:53 +10:00
..
app feat: GStack Browser — double-click AI browser with anti-bot stealth (#695) 2026-04-04 10:17:05 -07:00
host-adapters feat: declarative multi-host platform + OpenCode, Slate, Cursor, OpenClaw (v0.15.5.0) (#793) 2026-04-04 15:32:20 -07:00
resolvers docs(workspace): mandate single-select default in AskUserQuestion format 2026-07-10 23:38:53 +10:00
analytics.ts feat: safety hook skills + skill usage telemetry (v0.7.1) (#189) 2026-03-18 23:57:59 -05:00
archetypes.ts feat: gstack v1 — simpler prompts + real LOC receipts (v1.0.0.0) (#1039) 2026-04-18 15:05:42 +08:00
brain-cache-spec.ts 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
build-app.sh v1.41.1.0 fix wave: 7 HIGH bugs from external audit + regression tests (PR #1169 follow-up) (#1592) 2026-05-20 06:56:41 -07:00
build.sh v1.42.0.0 Daegu wave: 23 community-filed bugs + PTY classifier enforcement (24 bisect commits) (#1594) 2026-05-20 07:35:01 -07:00
capture-baseline.ts 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
compare-pr-version.ts v1.16.0.0 feat: tunnel allowlist 17→26 + canDispatchOverTunnel pure function (#1253) 2026-04-28 00:57:28 -07:00
declared-annotation.ts v1.52.0.0 feat(plan-tune): explicit consent + first-run setup wizard for contributors (#1741) 2026-05-28 18:21:09 -07:00
detect-bump.ts v1.11.0.0 feat(ship): workspace-aware version allocation (#1168) 2026-04-23 23:03:27 -07:00
dev-skill.ts v1.57.9.0 feat: source-clean gbrain render (dev-setup --out-dir + machine-wide gbrain-refresh) (#1951) 2026-06-09 22:29:23 -07:00
discover-skills.ts v1.54.0.0 feat: carve /ship into skeleton + on-demand sections (-59% always-loaded) (#1806) 2026-05-30 12:09:10 -07:00
eval-compare.ts feat: worktree isolation for E2E tests + infrastructure elegance (v0.11.12.0) (#425) 2026-03-23 23:05:22 -07:00
eval-list.ts feat: worktree isolation for E2E tests + infrastructure elegance (v0.11.12.0) (#425) 2026-03-23 23:05:22 -07:00
eval-select.ts feat: diff-based test selection for E2E and LLM-judge evals (v0.6.1.0) (#139) 2026-03-17 18:45:41 -05:00
eval-summary.ts feat: worktree isolation for E2E tests + infrastructure elegance (v0.11.12.0) (#425) 2026-03-23 23:05:22 -07:00
eval-watch.ts feat: /land-and-deploy, /canary, /benchmark + perf review (v0.7.0) (#183) 2026-03-21 14:31:36 -07:00
garry-output-comparison.ts fix: remove hardcoded author emails from throughput script 2026-04-18 15:36:50 +08:00
gen-llms-txt.ts v1.28.0.0 feat: browse --headed/--proxy/--navigate + gstack/llms.txt + webdriver-only stealth (#1363) 2026-05-07 20:14:59 -07:00
gen-skill-docs.ts v1.58.4.0 fix: high-priority community bug wave + PTY plan-mode smoke gate (#2077) 2026-06-21 07:15:19 -07:00
gstack-schema-pack.ts 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
host-config-export.ts feat: declarative multi-host platform + OpenCode, Slate, Cursor, OpenClaw (v0.15.5.0) (#793) 2026-04-04 15:32:20 -07:00
host-config.ts feat: OpenClaw integration v2 — prompt is the bridge (v0.15.9.0) (#816) 2026-04-05 02:23:59 -07:00
jargon-list.json feat: gstack v1 — simpler prompts + real LOC receipts (v1.0.0.0) (#1039) 2026-04-18 15:05:42 +08:00
models.ts feat(v1.5.2.0): Opus 4.7 migration — model overlay, voice, routing (#1117) 2026-04-22 01:06:22 -07:00
one-way-doors.ts v1.57.6.0 fix wave: 8 community bugs (4 security guards failing open) (#1911) 2026-06-08 06:39:38 -07:00
preflight-agent-sdk.ts v1.39.2.0 feat: GSTACK_* env-shim for Conductor + gbrain/gstack setup docs (#1534) 2026-05-16 12:32:33 -07:00
proactive-suggestions.json chore(pr-prep): add /pr-prep to the proactive-suggestions registry 2026-07-02 21:56:31 +10:00
psychographic-signals.ts v1.52.0.0 feat(plan-tune): explicit consent + first-run setup wizard for contributors (#1741) 2026-05-28 18:21:09 -07:00
question-registry.ts v1.52.0.0 feat(plan-tune): explicit consent + first-run setup wizard for contributors (#1741) 2026-05-28 18:21:09 -07:00
setup-scc.sh feat: gstack v1 — simpler prompts + real LOC receipts (v1.0.0.0) (#1039) 2026-04-18 15:05:42 +08:00
skill-check.ts v1.15.0.0 feat: slim preamble + real-PTY plan-mode E2E harness (#1215) 2026-04-26 13:55:13 -07:00
slop-diff.ts security: tunnel dual-listener + SSRF + envelope + path wave (v1.6.0.0) (#1137) 2026-04-21 21:58:27 -07:00
task-emission-schema.ts v1.38.1.0 fix wave: surrogate-safe page captures (#1440), Implementation Tasks across review skills (#1454), root-level artifact patterns (#1452) (#1504) 2026-05-14 21:46:50 -07:00
test-free-shards.ts v1.24.0.0 feat: cross-platform hardening — curated Windows lane + Bun.which resolver + path-portability helper (#1252) 2026-05-01 07:21:28 -07:00
update-readme-throughput.ts feat: gstack v1 — simpler prompts + real LOC receipts (v1.0.0.0) (#1039) 2026-04-18 15:05:42 +08:00
write-version-files.sh v1.42.0.0 Daegu wave: 23 community-filed bugs + PTY classifier enforcement (24 bisect commits) (#1594) 2026-05-20 07:35:01 -07:00