diff --git a/test/fixtures/context-budget.json b/test/fixtures/context-budget.json index d20fda828..78ac32b5d 100644 --- a/test/fixtures/context-budget.json +++ b/test/fixtures/context-budget.json @@ -2,64 +2,64 @@ "_comment": "Context-budget ratchet ceilings (~tokens). Regenerate: bun test/helpers/capture-context-budget.ts. Headroom: alwaysOnTotal x1.05, eagerPerInvocation x1.1. Graded by test/context-budget-ratchet.test.ts via lib/context-bill.ts checkBudget.", "alwaysOnTotal": 6344, "eagerPerInvocation": { - "autoplan": 27445, - "benchmark": 10114, - "benchmark-models": 9086, - "browse": 15469, + "autoplan": 24328, + "benchmark": 6997, + "benchmark-models": 5969, + "browse": 12352, "browser-skills/hackernews-frontpage": 371, - "canary": 15492, + "canary": 12375, "careful": 919, - "codex": 26760, - "context-restore": 14506, - "context-save": 15123, - "cso": 20096, - "design-consultation": 18557, - "design-html": 20573, - "design-review": 29138, - "design-shotgun": 19603, - "devex-review": 20496, - "diagram": 9104, - "document-generate": 17251, - "document-release": 15048, + "codex": 23643, + "context-restore": 11389, + "context-save": 12006, + "cso": 16979, + "design-consultation": 15440, + "design-html": 17456, + "design-review": 26021, + "design-shotgun": 16486, + "devex-review": 17379, + "diagram": 5987, + "document-generate": 14134, + "document-release": 11931, "freeze": 990, - "gstack": 8806, + "gstack": 5689, "gstack-upgrade": 3981, "guard": 889, - "health": 15704, - "investigate": 16357, - "ios-clean": 13881, - "ios-design-review": 14062, - "ios-fix": 13835, - "ios-qa": 16132, - "ios-sync": 14005, - "land-and-deploy": 29370, - "landing-report": 14416, - "learn": 14086, - "make-pdf": 10214, - "office-hours": 26763, - "open-gstack-browser": 9687, + "health": 12587, + "investigate": 13240, + "ios-clean": 10764, + "ios-design-review": 10945, + "ios-fix": 10718, + "ios-qa": 13014, + "ios-sync": 10888, + "land-and-deploy": 26253, + "landing-report": 11299, + "learn": 10969, + "make-pdf": 7097, + "office-hours": 23646, + "open-gstack-browser": 6569, "openclaw/skills/gstack-openclaw-ceo-review": 2764, "openclaw/skills/gstack-openclaw-investigate": 1429, "openclaw/skills/gstack-openclaw-office-hours": 4433, "openclaw/skills/gstack-openclaw-retro": 2542, - "pair-agent": 16436, - "plan-ceo-review": 24431, - "plan-design-review": 23872, - "plan-devex-review": 21713, - "plan-eng-review": 18652, - "plan-tune": 19660, - "qa": 23445, - "qa-only": 17927, - "retro": 24885, - "review": 29309, - "scrape": 9196, - "setup-browser-cookies": 8377, - "setup-deploy": 15246, - "setup-gbrain": 25250, - "ship": 23847, - "skillify": 17092, - "spec": 22662, - "sync-gbrain": 18874, + "pair-agent": 13319, + "plan-ceo-review": 21314, + "plan-design-review": 20755, + "plan-devex-review": 18596, + "plan-eng-review": 15535, + "plan-tune": 16543, + "qa": 20328, + "qa-only": 14809, + "retro": 21767, + "review": 26192, + "scrape": 6079, + "setup-browser-cookies": 5260, + "setup-deploy": 12129, + "setup-gbrain": 22133, + "ship": 20730, + "skillify": 13974, + "spec": 19544, + "sync-gbrain": 15757, "unfreeze": 393 } } diff --git a/test/fixtures/parity-baseline-v1.69.1.0.json b/test/fixtures/parity-baseline-v1.69.1.0.json new file mode 100644 index 000000000..484a58139 --- /dev/null +++ b/test/fixtures/parity-baseline-v1.69.1.0.json @@ -0,0 +1,643 @@ +{ + "tag": "v1.69.1.0", + "capturedAt": "2026-08-25T15:19:35.204Z", + "capturedFromCommit": "6ed09078", + "capturedFromBranch": "prompt-token-load-reduction", + "totalSkills": 53, + "totalCorpusBytes": 3234749, + "estTotalCatalogTokens": 4195, + "topHeaviest": [ + { + "skill": "ship", + "skillMdBytes": 209656, + "skillMdLines": 1286, + "estTokens": 52414, + "tmplBytes": 29080, + "descriptionLen": 293, + "hasGateEval": true, + "hasPeriodicEval": true + }, + { + "skill": "plan-ceo-review", + "skillMdBytes": 145538, + "skillMdLines": 1310, + "estTokens": 36385, + "tmplBytes": 29028, + "descriptionLen": 764, + "hasGateEval": true, + "hasPeriodicEval": true + }, + { + "skill": "office-hours", + "skillMdBytes": 126047, + "skillMdLines": 1521, + "estTokens": 31512, + "tmplBytes": 30566, + "descriptionLen": 860, + "hasGateEval": true, + "hasPeriodicEval": false + }, + { + "skill": "plan-eng-review", + "skillMdBytes": 119102, + "skillMdLines": 892, + "estTokens": 29776, + "tmplBytes": 13955, + "descriptionLen": 201, + "hasGateEval": true, + "hasPeriodicEval": true + }, + { + "skill": "plan-devex-review", + "skillMdBytes": 119025, + "skillMdLines": 1294, + "estTokens": 29756, + "tmplBytes": 18598, + "descriptionLen": 220, + "hasGateEval": true, + "hasPeriodicEval": true + }, + { + "skill": "plan-design-review", + "skillMdBytes": 118485, + "skillMdLines": 1331, + "estTokens": 29621, + "tmplBytes": 18463, + "descriptionLen": 218, + "hasGateEval": true, + "hasPeriodicEval": true + }, + { + "skill": "land-and-deploy", + "skillMdBytes": 100476, + "skillMdLines": 1818, + "estTokens": 25119, + "tmplBytes": 54352, + "descriptionLen": 160, + "hasGateEval": true, + "hasPeriodicEval": false + }, + { + "skill": "review", + "skillMdBytes": 100242, + "skillMdLines": 1684, + "estTokens": 25061, + "tmplBytes": 14141, + "descriptionLen": 205, + "hasGateEval": true, + "hasPeriodicEval": false + }, + { + "skill": "design-review", + "skillMdBytes": 99589, + "skillMdLines": 1835, + "estTokens": 24897, + "tmplBytes": 11674, + "descriptionLen": 306, + "hasGateEval": true, + "hasPeriodicEval": false + }, + { + "skill": "autoplan", + "skillMdBytes": 93109, + "skillMdLines": 1686, + "estTokens": 23277, + "tmplBytes": 46355, + "descriptionLen": 336, + "hasGateEval": true, + "hasPeriodicEval": true + } + ], + "skills": { + "autoplan": { + "skill": "autoplan", + "skillMdBytes": 93109, + "skillMdLines": 1686, + "estTokens": 23277, + "tmplBytes": 46355, + "descriptionLen": 336, + "hasGateEval": true, + "hasPeriodicEval": true + }, + "benchmark": { + "skill": "benchmark", + "skillMdBytes": 26777, + "skillMdLines": 591, + "estTokens": 6694, + "tmplBytes": 9378, + "descriptionLen": 213, + "hasGateEval": true, + "hasPeriodicEval": false + }, + "benchmark-models": { + "skill": "benchmark-models", + "skillMdBytes": 22844, + "skillMdLines": 466, + "estTokens": 5711, + "tmplBytes": 6631, + "descriptionLen": 217, + "hasGateEval": false, + "hasPeriodicEval": false + }, + "browse": { + "skill": "browse", + "skillMdBytes": 47273, + "skillMdLines": 862, + "estTokens": 11818, + "tmplBytes": 15864, + "descriptionLen": 181, + "hasGateEval": true, + "hasPeriodicEval": false + }, + "canary": { + "skill": "canary", + "skillMdBytes": 47362, + "skillMdLines": 862, + "estTokens": 11841, + "tmplBytes": 8033, + "descriptionLen": 180, + "hasGateEval": true, + "hasPeriodicEval": false + }, + "careful": { + "skill": "careful", + "skillMdBytes": 3516, + "skillMdLines": 88, + "estTokens": 879, + "tmplBytes": 3400, + "descriptionLen": 331, + "hasGateEval": false, + "hasPeriodicEval": false + }, + "codex": { + "skill": "codex", + "skillMdBytes": 90485, + "skillMdLines": 1555, + "estTokens": 22621, + "tmplBytes": 43658, + "descriptionLen": 187, + "hasGateEval": true, + "hasPeriodicEval": false + }, + "context-restore": { + "skill": "context-restore", + "skillMdBytes": 43587, + "skillMdLines": 753, + "estTokens": 10897, + "tmplBytes": 7092, + "descriptionLen": 238, + "hasGateEval": true, + "hasPeriodicEval": false + }, + "context-save": { + "skill": "context-save", + "skillMdBytes": 45947, + "skillMdLines": 838, + "estTokens": 11487, + "tmplBytes": 9293, + "descriptionLen": 168, + "hasGateEval": true, + "hasPeriodicEval": false + }, + "cso": { + "skill": "cso", + "skillMdBytes": 79571, + "skillMdLines": 1095, + "estTokens": 19893, + "tmplBytes": 21724, + "descriptionLen": 196, + "hasGateEval": true, + "hasPeriodicEval": false + }, + "design-consultation": { + "skill": "design-consultation", + "skillMdBytes": 80444, + "skillMdLines": 1040, + "estTokens": 20111, + "tmplBytes": 9554, + "descriptionLen": 890, + "hasGateEval": true, + "hasPeriodicEval": false + }, + "design-html": { + "skill": "design-html", + "skillMdBytes": 66806, + "skillMdLines": 1321, + "estTokens": 16702, + "tmplBytes": 22567, + "descriptionLen": 235, + "hasGateEval": true, + "hasPeriodicEval": false + }, + "design-review": { + "skill": "design-review", + "skillMdBytes": 99589, + "skillMdLines": 1835, + "estTokens": 24897, + "tmplBytes": 11674, + "descriptionLen": 306, + "hasGateEval": true, + "hasPeriodicEval": false + }, + "design-shotgun": { + "skill": "design-shotgun", + "skillMdBytes": 63095, + "skillMdLines": 1183, + "estTokens": 15774, + "tmplBytes": 13331, + "descriptionLen": 788, + "hasGateEval": true, + "hasPeriodicEval": false + }, + "devex-review": { + "skill": "devex-review", + "skillMdBytes": 66513, + "skillMdLines": 1116, + "estTokens": 16628, + "tmplBytes": 7984, + "descriptionLen": 201, + "hasGateEval": false, + "hasPeriodicEval": false + }, + "diagram": { + "skill": "diagram", + "skillMdBytes": 22912, + "skillMdLines": 466, + "estTokens": 5728, + "tmplBytes": 6732, + "descriptionLen": 359, + "hasGateEval": true, + "hasPeriodicEval": false + }, + "document-generate": { + "skill": "document-generate", + "skillMdBytes": 54091, + "skillMdLines": 1062, + "estTokens": 13523, + "tmplBytes": 15940, + "descriptionLen": 334, + "hasGateEval": false, + "hasPeriodicEval": false + }, + "document-release": { + "skill": "document-release", + "skillMdBytes": 71210, + "skillMdLines": 771, + "estTokens": 17803, + "tmplBytes": 6688, + "descriptionLen": 192, + "hasGateEval": true, + "hasPeriodicEval": false + }, + "freeze": { + "skill": "freeze", + "skillMdBytes": 3787, + "skillMdLines": 102, + "estTokens": 947, + "tmplBytes": 3671, + "descriptionLen": 533, + "hasGateEval": false, + "hasPeriodicEval": false + }, + "gstack-upgrade": { + "skill": "gstack-upgrade", + "skillMdBytes": 15236, + "skillMdLines": 364, + "estTokens": 3809, + "tmplBytes": 15116, + "descriptionLen": 163, + "hasGateEval": true, + "hasPeriodicEval": false + }, + "guard": { + "skill": "guard", + "skillMdBytes": 3401, + "skillMdLines": 91, + "estTokens": 850, + "tmplBytes": 3283, + "descriptionLen": 703, + "hasGateEval": false, + "hasPeriodicEval": false + }, + "health": { + "skill": "health", + "skillMdBytes": 48173, + "skillMdLines": 886, + "estTokens": 12043, + "tmplBytes": 11617, + "descriptionLen": 184, + "hasGateEval": true, + "hasPeriodicEval": false + }, + "investigate": { + "skill": "investigate", + "skillMdBytes": 50671, + "skillMdLines": 886, + "estTokens": 12668, + "tmplBytes": 11566, + "descriptionLen": 1241, + "hasGateEval": true, + "hasPeriodicEval": false + }, + "ios-clean": { + "skill": "ios-clean", + "skillMdBytes": 41196, + "skillMdLines": 684, + "estTokens": 10299, + "tmplBytes": 3743, + "descriptionLen": 254, + "hasGateEval": false, + "hasPeriodicEval": false + }, + "ios-design-review": { + "skill": "ios-design-review", + "skillMdBytes": 41888, + "skillMdLines": 687, + "estTokens": 10472, + "tmplBytes": 4417, + "descriptionLen": 209, + "hasGateEval": false, + "hasPeriodicEval": false + }, + "ios-fix": { + "skill": "ios-fix", + "skillMdBytes": 41017, + "skillMdLines": 683, + "estTokens": 10254, + "tmplBytes": 3574, + "descriptionLen": 187, + "hasGateEval": false, + "hasPeriodicEval": false + }, + "ios-qa": { + "skill": "ios-qa", + "skillMdBytes": 49808, + "skillMdLines": 840, + "estTokens": 12452, + "tmplBytes": 12370, + "descriptionLen": 223, + "hasGateEval": true, + "hasPeriodicEval": false + }, + "ios-sync": { + "skill": "ios-sync", + "skillMdBytes": 41670, + "skillMdLines": 681, + "estTokens": 10418, + "tmplBytes": 4220, + "descriptionLen": 269, + "hasGateEval": true, + "hasPeriodicEval": false + }, + "land-and-deploy": { + "skill": "land-and-deploy", + "skillMdBytes": 100476, + "skillMdLines": 1818, + "estTokens": 25119, + "tmplBytes": 54352, + "descriptionLen": 160, + "hasGateEval": true, + "hasPeriodicEval": false + }, + "landing-report": { + "skill": "landing-report", + "skillMdBytes": 43242, + "skillMdLines": 729, + "estTokens": 10811, + "tmplBytes": 6847, + "descriptionLen": 195, + "hasGateEval": false, + "hasPeriodicEval": false + }, + "learn": { + "skill": "learn", + "skillMdBytes": 41979, + "skillMdLines": 763, + "estTokens": 10495, + "tmplBytes": 5594, + "descriptionLen": 178, + "hasGateEval": true, + "hasPeriodicEval": false + }, + "make-pdf": { + "skill": "make-pdf", + "skillMdBytes": 27161, + "skillMdLines": 593, + "estTokens": 6790, + "tmplBytes": 9306, + "descriptionLen": 177, + "hasGateEval": false, + "hasPeriodicEval": false + }, + "office-hours": { + "skill": "office-hours", + "skillMdBytes": 126047, + "skillMdLines": 1521, + "estTokens": 31512, + "tmplBytes": 30566, + "descriptionLen": 860, + "hasGateEval": true, + "hasPeriodicEval": false + }, + "open-gstack-browser": { + "skill": "open-gstack-browser", + "skillMdBytes": 25141, + "skillMdLines": 560, + "estTokens": 6285, + "tmplBytes": 7719, + "descriptionLen": 204, + "hasGateEval": false, + "hasPeriodicEval": false + }, + "pair-agent": { + "skill": "pair-agent", + "skillMdBytes": 50973, + "skillMdLines": 963, + "estTokens": 12743, + "tmplBytes": 13368, + "descriptionLen": 167, + "hasGateEval": false, + "hasPeriodicEval": false + }, + "plan-ceo-review": { + "skill": "plan-ceo-review", + "skillMdBytes": 145538, + "skillMdLines": 1310, + "estTokens": 36385, + "tmplBytes": 29028, + "descriptionLen": 764, + "hasGateEval": true, + "hasPeriodicEval": true + }, + "plan-design-review": { + "skill": "plan-design-review", + "skillMdBytes": 118485, + "skillMdLines": 1331, + "estTokens": 29621, + "tmplBytes": 18463, + "descriptionLen": 218, + "hasGateEval": true, + "hasPeriodicEval": true + }, + "plan-devex-review": { + "skill": "plan-devex-review", + "skillMdBytes": 119025, + "skillMdLines": 1294, + "estTokens": 29756, + "tmplBytes": 18598, + "descriptionLen": 220, + "hasGateEval": true, + "hasPeriodicEval": true + }, + "plan-eng-review": { + "skill": "plan-eng-review", + "skillMdBytes": 119102, + "skillMdLines": 892, + "estTokens": 29776, + "tmplBytes": 13955, + "descriptionLen": 201, + "hasGateEval": true, + "hasPeriodicEval": true + }, + "plan-tune": { + "skill": "plan-tune", + "skillMdBytes": 63312, + "skillMdLines": 1223, + "estTokens": 15828, + "tmplBytes": 26922, + "descriptionLen": 327, + "hasGateEval": true, + "hasPeriodicEval": false + }, + "qa": { + "skill": "qa", + "skillMdBytes": 77798, + "skillMdLines": 1525, + "estTokens": 19450, + "tmplBytes": 12701, + "descriptionLen": 218, + "hasGateEval": true, + "hasPeriodicEval": false + }, + "qa-only": { + "skill": "qa-only", + "skillMdBytes": 56678, + "skillMdLines": 1066, + "estTokens": 14170, + "tmplBytes": 3851, + "descriptionLen": 165, + "hasGateEval": true, + "hasPeriodicEval": false + }, + "retro": { + "skill": "retro", + "skillMdBytes": 83308, + "skillMdLines": 1625, + "estTokens": 20827, + "tmplBytes": 42589, + "descriptionLen": 838, + "hasGateEval": true, + "hasPeriodicEval": false + }, + "review": { + "skill": "review", + "skillMdBytes": 100242, + "skillMdLines": 1684, + "estTokens": 25061, + "tmplBytes": 14141, + "descriptionLen": 205, + "hasGateEval": true, + "hasPeriodicEval": false + }, + "scrape": { + "skill": "scrape", + "skillMdBytes": 23264, + "skillMdLines": 504, + "estTokens": 5816, + "tmplBytes": 5336, + "descriptionLen": 167, + "hasGateEval": true, + "hasPeriodicEval": false + }, + "setup-browser-cookies": { + "skill": "setup-browser-cookies", + "skillMdBytes": 20129, + "skillMdLines": 438, + "estTokens": 5032, + "tmplBytes": 2724, + "descriptionLen": 222, + "hasGateEval": false, + "hasPeriodicEval": false + }, + "setup-deploy": { + "skill": "setup-deploy", + "skillMdBytes": 46420, + "skillMdLines": 805, + "estTokens": 11605, + "tmplBytes": 7805, + "descriptionLen": 197, + "hasGateEval": true, + "hasPeriodicEval": false + }, + "setup-gbrain": { + "skill": "setup-gbrain", + "skillMdBytes": 84706, + "skillMdLines": 1700, + "estTokens": 21177, + "tmplBytes": 48298, + "descriptionLen": 325, + "hasGateEval": true, + "hasPeriodicEval": false + }, + "ship": { + "skill": "ship", + "skillMdBytes": 209656, + "skillMdLines": 1286, + "estTokens": 52414, + "tmplBytes": 29080, + "descriptionLen": 293, + "hasGateEval": true, + "hasPeriodicEval": true + }, + "skillify": { + "skill": "skillify", + "skillMdBytes": 53482, + "skillMdLines": 1036, + "estTokens": 13371, + "tmplBytes": 15338, + "descriptionLen": 233, + "hasGateEval": true, + "hasPeriodicEval": false + }, + "spec": { + "skill": "spec", + "skillMdBytes": 74800, + "skillMdLines": 1428, + "estTokens": 18700, + "tmplBytes": 32196, + "descriptionLen": 282, + "hasGateEval": true, + "hasPeriodicEval": false + }, + "sync-gbrain": { + "skill": "sync-gbrain", + "skillMdBytes": 60303, + "skillMdLines": 1064, + "estTokens": 15076, + "tmplBytes": 23886, + "descriptionLen": 246, + "hasGateEval": false, + "hasPeriodicEval": false + }, + "unfreeze": { + "skill": "unfreeze", + "skillMdBytes": 1504, + "skillMdLines": 49, + "estTokens": 376, + "tmplBytes": 1386, + "descriptionLen": 199, + "hasGateEval": false, + "hasPeriodicEval": false + } + } +} diff --git a/test/skill-size-budget.test.ts b/test/skill-size-budget.test.ts index 313aad48e..3c61638f0 100644 --- a/test/skill-size-budget.test.ts +++ b/test/skill-size-budget.test.ts @@ -14,8 +14,13 @@ * compares LIVE eval runs (tool calls, turns, cost); this one compares * static SKILL.md sizes. Both gate-tier. * - * The baseline lives at test/fixtures/parity-baseline-v1.47.0.0.json, - * captured by scripts/capture-baseline.ts before any Phase A work landed. + * The baseline lives at test/fixtures/parity-baseline-v1.69.1.0.json, + * re-captured 2026-08-25 during token-reduction Phase 1 (bash consolidation + * moved ~11-13KB of inline preamble bash per skill into bin/gstack-skill-start + * and bin/gstack-skill-end — a deliberate corpus-wide shrink; receipt: + * gstack-context-bill --diff in PR #2691). The prior v1.47.0.0 fixture stays + * on disk for history. Live pins at capture time: this test (shrink floor) + * and test/parity-suite.test.ts vs parity-baseline-v1.64.1.0.json (growth). * * Override: * - GSTACK_SIZE_BUDGET_RATIO= changes the per-skill regression ratio. @@ -37,7 +42,7 @@ import { logBudgetOverride } from './helpers/budget-override'; import { CARVED_SKILLS } from './helpers/carve-guards'; const REPO_ROOT = path.resolve(import.meta.dir, '..'); -const BASELINE_PATH = path.join(REPO_ROOT, 'test', 'fixtures', 'parity-baseline-v1.47.0.0.json'); +const BASELINE_PATH = path.join(REPO_ROOT, 'test', 'fixtures', 'parity-baseline-v1.69.1.0.json'); // Default per-skill ratio is 1.50 (50% growth tolerance). Adjusted v1.52.0.0 // (cathedral cap audit) from 1.05 → 1.50: a 5% ratio tripped on legitimate @@ -57,11 +62,11 @@ interface Regression { } describe('SKILL.md size budget regression (gate, free)', () => { - test('parity-baseline-v1.47.0.0.json exists', () => { + test('parity-baseline-v1.69.1.0.json exists', () => { expect(fs.existsSync(BASELINE_PATH)).toBe(true); }); - test('no skill exceeds v1.47.0.0 baseline size × ratio', () => { + test('no skill exceeds v1.69.1.0 baseline size × ratio', () => { const baseline: ParityBaseline = JSON.parse(fs.readFileSync(BASELINE_PATH, 'utf-8')); const current = captureBaseline({ repoRoot: REPO_ROOT }); @@ -157,7 +162,7 @@ describe('SKILL.md size budget regression (gate, free)', () => { * sectioned invariant in parity-harness.ts (minBytes on skeleton+sections). * Add the remaining three here as they carve. */ - test('no skill shrinks past 80% of v1.47.0.0 baseline (catches accidental body strip)', () => { + test('no skill shrinks past 80% of v1.69.1.0 baseline (catches accidental body strip)', () => { const baseline: ParityBaseline = JSON.parse(fs.readFileSync(BASELINE_PATH, 'utf-8')); const current = captureBaseline({ repoRoot: REPO_ROOT }); const MIN_RATIO = 0.80; // a skill at <80% of its v1.44 size signals mass-deletion