test: golden regression fixtures for hermes/gbrain/openclaw ship skill

Only claude/codex/factory had golden baselines, so a host-specific rewrite
regression (such as the Agent-tool rewrite gap) on the agent-runtime hosts would
go uncaught. Add ship-skill golden fixtures plus a parametrized test for the
three regular .<host>/skills/gstack-ship hosts, locking their tool/path rewrites
(Bash->terminal/exec, Agent->delegate_task/sessions_spawn, .claude->.host,
CLAUDE.md->AGENTS.md).
This commit is contained in:
katlun-lgtm 2026-06-09 14:11:06 -04:00
parent 9c36fbdd22
commit b436148096
4 changed files with 8873 additions and 0 deletions

2974
test/fixtures/golden/gbrain-ship-SKILL.md vendored Normal file

File diff suppressed because it is too large Load Diff

2969
test/fixtures/golden/hermes-ship-SKILL.md vendored Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -409,6 +409,17 @@ describe('golden-file regression', () => {
const current = fs.readFileSync(path.join(ROOT, '.factory', 'skills', 'gstack-ship', 'SKILL.md'), 'utf-8');
expect(current).toBe(golden);
});
// Agent-runtime hosts share the regular .<host>/skills/gstack-ship layout. These lock their
// host-specific rewrites (Bash->terminal/exec, Agent->delegate_task/sessions_spawn,
// .claude->.host, CLAUDE.md->AGENTS.md) so a regression like the Agent-tool rewrite gap is caught.
for (const host of ['hermes', 'gbrain', 'openclaw']) {
test(`${host} ship skill matches golden baseline`, () => {
const golden = fs.readFileSync(path.join(GOLDEN_DIR, `${host}-ship-SKILL.md`), 'utf-8');
const current = fs.readFileSync(path.join(ROOT, `.${host}`, 'skills', 'gstack-ship', 'SKILL.md'), 'utf-8');
expect(current).toBe(golden);
});
}
});
// ─── Individual host config correctness ─────────────────────