test: repin ~70 assertions to the script contract — every literal gets a successor

Assertions that pinned inline-bash internals (update-check guard, _SESSIONS
reaping, telemetry start/end blocks, routing probe, repo-strip producer,
first-task gating, EXPLAIN_LEVEL/QUESTION_TUNING echoes, #2499 jq scope
resolution, Issue-8 CONDUCTOR gate) now pin the same invariants in their new
home: bin/gstack-skill-start / bin/gstack-skill-end file content for script
internals, the invocation fence + interpretation prose for render-side
behavior. No assertion deleted without a successor; live-execution tests
(routing probe, brain-sync jq) run against script bytes unchanged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Garry Tan
2026-08-25 15:37:00 +00:00
co-authored by Claude Fable 5
parent eb1607aaf8
commit 17bebe33ab
9 changed files with 280 additions and 109 deletions
+8 -1
View File
@@ -475,7 +475,14 @@ describe('preamble — QUESTION_TUNING injection', () => {
preambleTier: 2,
};
const out = generatePreamble(ctx);
expect(out).toContain('QUESTION_TUNING: $_QUESTION_TUNING');
// Phase 1: the config echo moved into bin/gstack-skill-start; the render's
// section gates itself on the echoed key.
const script = fs.readFileSync(
path.join(import.meta.dir, '..', 'bin', 'gstack-skill-start'),
'utf-8',
);
expect(script).toContain('echo "QUESTION_TUNING: $_QUESTION_TUNING"');
expect(out).toContain('QUESTION_TUNING: false');
expect(out).toContain('## Question Tuning');
expect(out).toContain('gstack-question-preference --check');
expect(out).toContain('gstack-question-log');