mirror of https://github.com/garrytan/gstack.git
Library fix: revoke/reset/rotate now share ONE noun alternation (api key,
token, secret, credential, access key, password) with optional plural s?.
Pre-fix leaks: "reset my secret", "reset my access key", "revoke my secret"
(mismatched per-verb lists) and every plural form ("rotate the credentials",
"revoke all tokens" — \b(...)\b cannot match a trailing s).
Runtime wiring — the regexes could never fire in production before:
- gstack-question-preference --check gains --summary-stdin: the question
text pipes via stdin (never argv — summaries carry quotes/newlines/shell
metacharacters) and feeds isOneWayDoor alongside the id, so an ad-hoc
destructive question with a stored never-ask preference now forces
ASK_NORMALLY. Empty/absent stdin keeps exact id-only semantics.
- question-preference-hook falls back to classifyQuestion(question text)
when the registry lookup misses, so unregistered destructive questions
pass through to a human instead of auto-deciding.
- question-tuning resolver prose shows the piped form (SKILL.md regen lands
in the wave's release commit).
Tripwires (verified fail-first): full verbs x nouns x singular/plural matrix
with the #2024 repro rows, benign-summary no-over-match rows, stdin
transport survival (quotes/newlines), empty-stdin fail-safe, and hook
fallback both directions (destructive -> pass-through, benign -> deny).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| preamble | ||
| browse.ts | ||
| codex-helpers.ts | ||
| composition.ts | ||
| confidence.ts | ||
| constants.ts | ||
| design.ts | ||
| dx.ts | ||
| gbrain.ts | ||
| index.ts | ||
| learnings.ts | ||
| make-pdf.ts | ||
| model-overlay.ts | ||
| preamble.ts | ||
| question-tuning.ts | ||
| redact-doc.ts | ||
| review-army.ts | ||
| review.ts | ||
| sections.ts | ||
| tasks-section.ts | ||
| testing.ts | ||
| types.ts | ||
| utility.ts | ||