From d3491c1734959f787c8a162932937a595c1c5918 Mon Sep 17 00:00:00 2001 From: garrytan Date: Sat, 3 Oct 2026 01:36:35 +0000 Subject: [PATCH] test(W7h): pin the Codex availability probe free for the four offering skills Replacement check for the codex-offered-* paid retirement (t14 F8): each of office-hours, plan-ceo-review, plan-design-review and plan-eng-review must render the executed `command -v codex` probe and its `not_installed` fallback mode in its generated SKILL.md + sections. These are bash lines the agent runs, so a deterministic grep replaces a paid model summary of them. skill-validation.test.ts already covers the default-on outside voice for eng/CEO/devex; this adds office-hours and plan-design-review and the fallback token. Control (scratch worktree, generated files): removing the probe from office-hours, plan-design-review or plan-eng-review, or the CEO not_installed branch, turns the new test red (4/4). Log: .context/mutation-codex-offering.md. --- test/gen-skill-docs.test.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/test/gen-skill-docs.test.ts b/test/gen-skill-docs.test.ts index 19afa4261..09e316689 100644 --- a/test/gen-skill-docs.test.ts +++ b/test/gen-skill-docs.test.ts @@ -1838,6 +1838,16 @@ describe('Codex filesystem boundary', () => { }); }); +// --- Codex outside-voice availability probe --- + +describe('Codex outside voice is offered behind an executed availability probe', () => { + test.each(['office-hours', 'plan-ceo-review', 'plan-design-review', 'plan-eng-review'])('%s probes codex and has a not-installed fallback', skill => { + const content = readSkillUnion(skill); + expect(content).toContain('command -v codex'); + expect(content).toContain('not_installed'); + }); +}); + // --- {{BENEFITS_FROM}} resolver tests --- describe('BENEFITS_FROM resolver', () => {