mirror of https://github.com/garrytan/gstack.git
📝 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 |
||
|---|---|---|
| .. | ||
| app | ||
| host-adapters | ||
| resolvers | ||
| analytics.ts | ||
| archetypes.ts | ||
| brain-cache-spec.ts | ||
| build-app.sh | ||
| build.sh | ||
| capture-baseline.ts | ||
| compare-pr-version.ts | ||
| declared-annotation.ts | ||
| detect-bump.ts | ||
| dev-skill.ts | ||
| discover-skills.ts | ||
| eval-compare.ts | ||
| eval-list.ts | ||
| eval-select.ts | ||
| eval-summary.ts | ||
| eval-watch.ts | ||
| garry-output-comparison.ts | ||
| gen-llms-txt.ts | ||
| gen-skill-docs.ts | ||
| gstack-schema-pack.ts | ||
| host-config-export.ts | ||
| host-config.ts | ||
| jargon-list.json | ||
| models.ts | ||
| one-way-doors.ts | ||
| preflight-agent-sdk.ts | ||
| proactive-suggestions.json | ||
| psychographic-signals.ts | ||
| question-registry.ts | ||
| setup-scc.sh | ||
| skill-check.ts | ||
| slop-diff.ts | ||
| task-emission-schema.ts | ||
| test-free-shards.ts | ||
| update-readme-throughput.ts | ||
| write-version-files.sh | ||