fix(setup-gbrain): invoke gstack-memory-ingest/gstack-gbrain-sync via bun run + .ts

/setup-gbrain's transcript-ingest steps told the agent to run
bin/gstack-memory-ingest and bin/gstack-gbrain-sync by BARE name. Neither
exists — only the .ts files ship (mode 644, no bin alias) — so the agent
dutifully reported 'script missing at install root' and the ingest/full-
sync steps dead-ended on every host (hit live under Codex; the Claude
render carries the same text).

All four template sites (probe, silent-bulk, post-answer full sync, the
preamble-hook incremental mention) and the four memory.md reference-doc
sites now use the repo's established form: 'bun run <path>/gstack-memory-
ingest.ts …' / 'bun run <path>/gstack-gbrain-sync.ts …' — matching what
sync-gbrain already does. Generated SKILL.md regenerated from the template
in the same commit.

Re-derived from PR #2409 by @SomSamantray per the wave's screening rule
(the PR edited the generated SKILL.md directly; the generated file must
come from gen:skill-docs). The contributor's structural test rides along
as-is: bare-invocation regexes with negative .ts lookahead and backslash-
continuation coverage pin every site, so the drift can't return. The
referenced-paths ratchet in test/setup-claude-skill-assets.test.ts drops
its two #2250 known-broken entries — the class-2 assertion now guards
these paths again.

Verified against #2250's site list (template lines 690/735/784-area, all
covered) plus a fresh grep: zero bare invocations remain in the template
or memory.md; the one prose mention ('gstack-memory-ingest now persists…')
is not an invocation and stays.

Fixes #2250
Fixes #2393

Co-authored-by: SomSamantray <SomSamantray@users.noreply.github.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Garry Tan
2026-08-16 09:49:32 -07:00
co-authored by SomSamantray Claude Fable 5
parent e20c29f5c2
commit d889453686
5 changed files with 146 additions and 17 deletions
+1 -5
View File
@@ -43,11 +43,7 @@ const BUILT_ARTIFACT_ALLOWLIST = [
* do not add entries without an issue + a scheduled fix.
*/
const KNOWN_BROKEN_CLASS2: Record<string, string> = {
// #2250: setup-gbrain's docs call both scripts by bare name; only the .ts
// files exist. Fixed by the wave's c24 (PR #2409 re-derive) — remove these
// entries in that commit.
'bin/gstack-memory-ingest': '#2250 — fixed by setup-gbrain .ts invocation-path commit',
'bin/gstack-gbrain-sync': '#2250 — fixed by setup-gbrain .ts invocation-path commit',
// (empty — #2250's bare bin names were the last entries; keep it that way)
};
/** Extract a named shell function body (through its closing brace) from setup. */