mirror of https://github.com/garrytan/gstack.git
Six findings, all verified against source before fixing: 1. 'Every send writes a receipt' overclaimed — fail-open sinks proceed with a stderr warning when the receipt write fails, so a fail-open send can go unrecorded (lib/egress-receipt.ts:8-14). Descriptive prose now says so; the receipted framing keeps 'attempted'. 2. 'Receipts hash the request body' is wrong for subprocess-owned sends — git pushes record sha256: null (lib/egress-receipt.ts:71). 3. 'grants shows every consent in force' overclaimed — it reports the four standing config settings (bin/gstack-egress:139-181). Reworded in README, ARCHITECTURE, and the CHANGELOG entry. 4. 'Zero-exception scanner' vs reality: the new-sink scanner carries a reasoned SCANNER_EXEMPT list (user-directed fetches, probes, instruction strings, skill prose). CLAUDE.md now names it. 5. Error-catalog cause/fix for the receipt refusal: the writer mkdirs the ledger dir itself, so 'missing' isn't a cause and bare chmod fails when it is absent — cause reworded, fix is mkdir -p && chmod. 6. gbrain-sync first-run steps described the retired binary's behavior: default repo is gstack-artifacts-$USER, and init PRINTS the gbrain hookup command (never auto-executes; bin/gstack-artifacts-init:384-419). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| designs | ||
| evals | ||
| images | ||
| spikes | ||
| ADDING_A_HOST.md | ||
| ON_THE_LOC_CONTROVERSY.md | ||
| OPENCLAW.md | ||
| REMOTE_BROWSER_ACCESS.md | ||
| askuserquestion-cjk.md | ||
| askuserquestion-split.md | ||
| domain-skills.md | ||
| explanation-diataxis-in-gstack.md | ||
| gbrain-sync-errors.md | ||
| gbrain-sync.md | ||
| gbrain-write-surfaces.md | ||
| howto-diagrams-and-formats.md | ||
| howto-document-a-shipped-feature.md | ||
| howto-ios-testing-with-gstack.md | ||
| skills.md | ||
| tutorial-document-generate.md | ||