chore(guards): register wave-1 carves; monolith invariants retire; baselines + ratchet follow

CARVE_GUARDS gains review/codex/land-and-deploy (12 carved skills total);
their MONOLITH_INVARIANTS entries retire (invariants now generate from the
registry, cso precedent). Touchfiles: carve-section-loading covers the three
new carves; the codex + land-and-deploy LLM-judge dep lists widen to their
sections. Regen + goldens + branch-internal baseline + ratchet ceilings
recaptured (review 24,052 -> skeleton-based ceiling; union floors hold).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Garry Tan
2026-08-25 16:36:16 +00:00
co-authored by Claude Fable 5
parent 4e54d6e0a2
commit 00737fcb1b
5 changed files with 219 additions and 145 deletions
+85
View File
@@ -371,6 +371,91 @@ export const CARVE_GUARDS: Record<string, CarveGuard> = {
// v1.64+v1.65 merge sums both waves' preamble growth; measured 1.073.
maxSizeRatio: 1.08,
},
// ── Token-reduction Phase 4 wave 1 (v1.69.x branch) ──────────────────────
review: {
skill: 'review',
expectedSections: ['plan-completion.md', 'review-army.md', 'adversarial.md'],
requiredReads: ['plan-completion.md', 'review-army.md'],
scenario:
"The working tree has a real diff against the base branch (assume Step 1's git checks passed; the diff implements the PLAN.md cache layer). Run the /review flow: the scope-drift and plan-completion deep pass against PLAN.md, then the critical pass, then the Review Army specialist dispatch — apply the specialist checklists yourself instead of launching subagents. Produce the review report. Do NOT commit, push, or create a PR.",
staticInvariants: {
mustStayInSkeleton: [
'## Step 0: Detect platform and base branch',
'## Step 1: Check branch',
'## Step 1.5: Scope Drift Detection',
'## Step 4: Critical pass (core review)',
'## Confidence Calibration',
'## Step 5: Fix-First Review',
'## Important Rules',
'Persist Eng Review result',
],
mustPrecedeStop: ['## Step 0: Detect platform and base branch'],
mustMoveToSection: [
'Plan File Discovery',
'MULTI-SPECIALIST CONFIRMED',
'Cross-model synthesis',
'codex review --base',
],
gateAfterStop: undefined, // operational multi-STOP skill, like ship
},
behavioral: 'plan',
maxSkeletonBytes: 55_600, // Phase 4 wave 1; measured 55,010
minUnionBytes: 89_000, // Phase 4 wave 1; measured union 93,357
mustContain: ['confidence', 'P1', 'P2', 'Review Army', 'adversarial'],
},
codex: {
skill: 'codex',
expectedSections: ['review-mode.md', 'challenge-mode.md', 'consult-mode.md'],
requiredReads: ['review-mode.md', 'consult-mode.md'],
scenario:
"Run the /codex skill twice: first Review mode against this branch's diff (produce the GATE verdict), then Consult mode with the follow-up 'is the strongest finding worth fixing before ship?'. Follow the Step 1 dispatch and read each selected mode's section before executing it; if the codex CLI is unavailable, still walk the mode instructions and report what you would run.",
staticInvariants: {
mustStayInSkeleton: [
'## Step 1: Detect mode',
'## Filesystem Boundary',
'Synthesis recommendation (REQUIRED)',
'Recommendation: <action> because',
'UNDER_CODEX',
],
mustPrecedeStop: ['## Step 1: Detect mode', '## Filesystem Boundary'],
mustMoveToSection: [
'The gate FAILS CLOSED',
'Think like an attacker and a chaos engineer',
'codex exec resume',
],
gateAfterStop: 'EXIT PLAN MODE GATE',
},
behavioral: 'prompt',
maxSkeletonBytes: 55_760, // Phase 4 wave 1; measured 55,155
minUnionBytes: 83_400, // Phase 4 wave 1; measured union 84,304
mustContain: ['GATE: PASS', 'CROSS-MODEL ANALYSIS', 'codex exec resume', 'sandbox_mode="read-only"', 'mktemp'],
maxSizeRatio: 1.06, // measured 1.040 vs the v1.64.1.0 parity baseline
},
'land-and-deploy': {
skill: 'land-and-deploy',
expectedSections: ['first-run-validation.md', 'readiness-gate.md', 'merge-and-deploy.md'],
requiredReads: ['readiness-gate.md', 'merge-and-deploy.md'],
scenario:
'This project has a confirmed prior /land-and-deploy run (treat the Step 1.5 check as CONFIRMED). A PR exists for this branch and CI is green. Simulate — do not run gh or actually merge: run the pre-merge readiness gate and produce the readiness report, then walk the merge and deploy-strategy steps, stating which merge path and deploy strategy you would take. Do NOT use AskUserQuestion.',
staticInvariants: {
mustStayInSkeleton: [
'land-deploy-confirmed',
'## Step 3.4: VERSION drift detection',
'## Step 6: Wait for deploy',
],
mustPrecedeStop: ['land-deploy-confirmed'],
mustMoveToSection: [
'PRE-MERGE READINESS REPORT',
'gh pr merge --squash --auto --delete-branch',
'DEPLOY INFRASTRUCTURE VALIDATION',
],
gateAfterStop: undefined, // operational skill
},
behavioral: 'prompt',
maxSkeletonBytes: 57_500, // Phase 4 wave 1; estimated ~56.2KB rendered — re-measured at regen
minUnionBytes: 91_000, // Phase 4 wave 1; estimated union ~94.9KB
mustContain: ['readiness', 'merge', 'canary', 'revert', 'staging'],
},
};
/** Sorted carved-skill names. Consumers derive their lists from this — no parallel lists. */
+2 -13
View File
@@ -206,19 +206,8 @@ export function runParityChecks(opts: {
*/
const MONOLITH_INVARIANTS: ParityInvariant[] = [
// cso is now carved — its invariant is generated from CARVE_GUARDS below.
{
skill: 'review',
mustContain: ['confidence', 'P1', 'P2'],
mustHaveHeadings: ['## Preamble', '## When to invoke'],
// The adversarial step swapped its bare `command -v codex` check for the shared
// codexPreflight() block (install + auth tri-state + CODEX_MODE branch prose),
// landing ~6.3% over the v1.53.0.0 baseline. Intentional: it adds proper
// not-installed vs not-authed handling, not slop.
// v1.64+v1.65 merge: both waves grew the shared preamble (evidence
// directive + telemetry failure flags); measured 1.094.
maxSizeRatio: 1.10,
minBytes: 70_000,
},
// review, codex, and land-and-deploy carved in token-reduction Phase 4
// wave 1 (v1.69.x branch) — their invariants generate from CARVE_GUARDS too.
{
skill: 'qa',
mustContain: ['bug', 'browse', 'fix'],
+3 -3
View File
@@ -111,7 +111,7 @@ export const E2E_TOUCHFILES: Record<string, string[]> = {
// skills with no prior plan-mode test:
'office-hours-auto-mode': ['bin/gstack-skill-start', 'bin/gstack-skill-end', 'office-hours/**', 'scripts/resolvers/preamble/generate-completion-status.ts', 'scripts/resolvers/question-tuning.ts', 'scripts/resolvers/preamble/generate-ask-user-format.ts', 'scripts/resolvers/preamble.ts', 'test/helpers/claude-pty-runner.ts', 'test/skill-e2e-office-hours-auto-mode.test.ts'],
'office-hours-phase4-fork': ['bin/gstack-skill-start', 'bin/gstack-skill-end', 'office-hours/**', 'scripts/resolvers/preamble/generate-ask-user-format.ts', 'scripts/resolvers/preamble/generate-completion-status.ts', 'scripts/resolvers/preamble.ts', 'scripts/resolvers/question-tuning.ts', 'test/helpers/llm-judge.ts', 'test/skill-e2e-office-hours-phase4.test.ts'],
'llm-judge-recommendation': ['test/helpers/llm-judge.ts', 'test/llm-judge-recommendation.test.ts', 'scripts/resolvers/preamble/generate-ask-user-format.ts', 'codex/SKILL.md.tmpl', 'scripts/resolvers/review.ts'],
'llm-judge-recommendation': ['codex/**', 'test/helpers/llm-judge.ts', 'test/llm-judge-recommendation.test.ts', 'scripts/resolvers/preamble/generate-ask-user-format.ts', 'codex/SKILL.md.tmpl', 'scripts/resolvers/review.ts'],
// v1.21+ AUTO_DECIDE preserve eval (periodic). Verifies the Tool resolution
// fix doesn't trip the legitimate /plan-tune opt-in path: when the user has
// written a never-ask preference, AUQ should still auto-decide rather than
@@ -139,7 +139,7 @@ export const E2E_TOUCHFILES: Record<string, string[]> = {
// devex, office-hours + future PR2 carves). One file iterating CARVE_GUARDS;
// the selector sets GSTACK_CARVE_SKILL=<name> to scope cost to the changed
// skill (D-CODEX A). Touching the registry/helper or sections.ts runs all.
'carve-section-loading': ['plan-eng-review/**', 'plan-design-review/**', 'plan-devex-review/**', 'office-hours/**', 'document-release/**', 'design-consultation/**', 'cso/**', 'test/helpers/carve-guards.ts', 'scripts/resolvers/sections.ts', 'scripts/gen-skill-docs.ts', 'test/helpers/auq-sdk-capture.ts', 'test/helpers/session-runner.ts'],
'carve-section-loading': ['review/**', 'codex/**', 'land-and-deploy/**', 'plan-eng-review/**', 'plan-design-review/**', 'plan-devex-review/**', 'office-hours/**', 'document-release/**', 'design-consultation/**', 'cso/**', 'test/helpers/carve-guards.ts', 'scripts/resolvers/sections.ts', 'scripts/gen-skill-docs.ts', 'test/helpers/auq-sdk-capture.ts', 'test/helpers/session-runner.ts'],
'autoplan-chain-pty': ['autoplan/**', 'plan-ceo-review/**', 'plan-design-review/**', 'plan-eng-review/**', 'plan-devex-review/**', 'test/fixtures/plans/ui-heavy-feature.md', 'test/helpers/claude-pty-runner.ts', 'test/skill-e2e-autoplan-chain.test.ts'],
'e2e-harness-audit': ['bin/gstack-skill-start', 'bin/gstack-skill-end', 'plan-ceo-review/**', 'plan-eng-review/**', 'plan-design-review/**', 'plan-devex-review/**', 'scripts/resolvers/preamble/generate-completion-status.ts', 'test/helpers/agent-sdk-runner.ts', 'test/helpers/claude-pty-runner.ts'],
@@ -783,7 +783,7 @@ export const LLM_JUDGE_TOUCHFILES: Record<string, string[]> = {
'office-hours/SKILL.md design sketch': ['office-hours/SKILL.md', 'office-hours/SKILL.md.tmpl', 'scripts/gen-skill-docs.ts'],
// Deploy skills
'land-and-deploy/SKILL.md workflow': ['land-and-deploy/SKILL.md', 'land-and-deploy/SKILL.md.tmpl'],
'land-and-deploy/SKILL.md workflow': ['land-and-deploy/SKILL.md', 'land-and-deploy/SKILL.md.tmpl', 'land-and-deploy/sections/**'],
'canary/SKILL.md monitoring loop': ['canary/SKILL.md', 'canary/SKILL.md.tmpl'],
'benchmark/SKILL.md perf collection': ['benchmark/SKILL.md', 'benchmark/SKILL.md.tmpl'],
'setup-deploy/SKILL.md platform setup': ['setup-deploy/SKILL.md', 'setup-deploy/SKILL.md.tmpl'],