mirror of
https://github.com/garrytan/gstack.git
synced 2026-09-11 23:49:01 +02:00
feat(land-and-deploy): carve first-run validation, readiness gate, and merge/deploy into sections
The once-per-repo dry-run validation, the pre-merge readiness gate, and the
merge + deploy-strategy steps (37.8KB) load on demand: skeleton 91.1KB ->
55.7KB. Step 1.5 keeps its detection bash as the dispatch; the first-run
section's fingerprint-save block gained {{SLUG_EVAL}} so it is self-contained.
Zero content lost (line-coverage checked against HEAD).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
87589961a4
commit
b4fda5f484
@@ -31,7 +31,9 @@ describe('content-binding template drift', () => {
|
||||
});
|
||||
|
||||
test('land-and-deploy grades staleness content-first (wtree rule) and checks evidence', () => {
|
||||
const land = rendered('land-and-deploy/SKILL.md');
|
||||
// Carved (prompt-token-load-reduction): Step 3.5 moved out of the skeleton
|
||||
// into the on-demand readiness-gate section — the grading rules live there.
|
||||
const land = rendered('land-and-deploy/sections/readiness-gate.md');
|
||||
expect(land).toContain('wtree');
|
||||
expect(land).toContain('---WTREE---');
|
||||
expect(land).toMatch(/gstack-evidence check --label tests --expect-cmd '[^']+' --max-age 24/);
|
||||
@@ -54,7 +56,9 @@ describe('content-binding template drift', () => {
|
||||
// structurally: the three row names in order inside the rule sentence.
|
||||
const rowList = /diff-scoped rows only:[\s\S]{0,80}?adversarial-review[\s\S]{0,80}?codex-review[\s\S]{0,80}?ship-stage entries/;
|
||||
expect(rendered('ship/SKILL.md')).toMatch(rowList);
|
||||
expect(rendered('land-and-deploy/SKILL.md')).toMatch(rowList);
|
||||
// land-and-deploy's copy of the row list lives in the carved readiness-gate
|
||||
// section (Step 3.5a), not the skeleton.
|
||||
expect(rendered('land-and-deploy/sections/readiness-gate.md')).toMatch(rowList);
|
||||
});
|
||||
|
||||
test('release-body write side carries the banner tripwire (and it actually fires)', () => {
|
||||
|
||||
Reference in New Issue
Block a user