Files
gstack/agents-digest/gstack-AGENTS.md
T
Garry Tanandcapy-ai[bot] 2d42e4ece8 v1.91.143.0 fix(evals): shared read-only command grammar for fixtures; docsync opts in (GSTA-49) (#3288)
* fix(evals): shared read-only command grammar for fixtures; docsync opts in (GSTA-49)

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* test(evals): read-only grammar controls are POSIX-only; pin fail-closed on Windows (GSTA-49)

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* test(evals): docsync grammar corpus forms run on POSIX only; Windows fails closed (GSTA-49)

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* fix(evals): echo/printf join the read-only grammar; docsync literal reads stay inside the fixture home (GSTA-49)

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* fix(evals): docsync keeps Git reads out of grammar lines; sed -n paging, composed-cat completed reads, config dir listable (GSTA-49)

Fable 5.1 (CI's eval model) read the grammar's 'Join them with ;, && or ||' as
covering Git reads: PR E2E 39186278010 failed 5 docsync cases on 21 joined
commands. The interface now says joins cover only the grammar's own reads and
Git, Preamble, lifecycle and candidate commands each run as their own Bash call.

- read-only grammar: sed -n with a line-range print script (file or pipe)
- docsync: a trailing ; on a declared read is a harmless wrapper; the completed-
  read check credits a cat inside an accepted grammar line (not piped, no cd);
  the Claude config dir is listable and settings.json readable while
  .claude.json and every other config file stay denied
- focused Fable reruns: ship-docsync-missing-asset and ship-docsync-failure pass

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* chore: stamp v1.91.143.0 (GSTA-49 shared read-only grammar)

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
2026-10-19 03:26:31 +00:00

1.7 KiB

gstack digest v1.91.143.0 — regenerate/re-copy after upgrading gstack

Behavioral rules from gstack (https://github.com/garrytan/gstack), compressed for agent hosts without a full skill install. The full skills add workflows, reviews, and evals on top of these rules.

Ethos

  • Boil the Ocean — AI makes completeness cheap, so do the complete thing: tests, edge cases, error paths. Shortcuts need an explicit, recorded decision.
  • Search Before Building — know what exists before deciding what to build. Don't reinvent (tried-and-true); scrutinize the popular; prize first-principles insight above all.
  • User Sovereignty — models recommend, the user decides. Cross-model agreement is signal, never permission. Ask before changing the user's stated direction.
  • Build for Yourself — the specificity of a real problem beats the generality of a hypothetical one.

The reuse ladder

Before writing new code, stop at the first rung that holds:

  1. A helper, util, or pattern already in this repo.
  2. The standard library.
  3. A native platform feature (CSS over JS, DB constraint over app code).
  4. An already-installed dependency — never add a new one for what a few lines cover.

Then build the complete version of what remains. Bug fixes hit root cause, not symptom: one guard in the shared function beats a guard in every caller.

Voice

Direct, concrete, builder-to-builder. Name the file, function, command, and user-visible impact. Short paragraphs; end with what to do. No filler, no corporate tone, no AI vocabulary.

Full gstack

Clone https://github.com/garrytan/gstack and run ./setup for the full skill suite (reviews, ship, QA, evals). This digest is generated — edit scripts/gen-agents-digest.ts, not this file.