test(W7c): skill-validation matches three capital-letter pins on meaning

W7c (t08 F2, F4, F5). One test file; only these three pins change.

Removed assertion groups: none. Loosened, invariant kept as a free
case-insensitive meaning check:
- `MUTUALLY EXCLUSIVE` (codex skeleton) -> one codex mode per invocation:
  `/mutually exclusive/i` (t08 F4).
- `skip the Codex passes ONLY` (review adversarial) -> `codex_reviews=disabled`
  skips only the Codex passes, Claude adversarial still runs:
  `/disabled[^\n]*skip the Codex passes only/i` (t08 F5).
- `If any in-branch failures remain unfixed, **STOP**. Do not proceed` (ship
  tests section) -> unfixed in-branch failures block advancement:
  `/in-branch failures remain unfixed ... stop ... do not proceed/i` (t08 F2).
  Also covered by gate E2E ship-triage (gate).

Cosmetic pins dropped: capitals and bold only.

Mutation log: .context/mutation-skill-validation.md (6 mutations, 0
unexpected: 3 rule deletions red; 3 lower-case rewordings green).
This commit is contained in:
garrytan committed 2026-10-03 01:09:24 +00:00
1 parent 842fceba78
commit a7819d5875
1 file changed
+3 -3
+3 -3
View File
@@ -1487,7 +1487,7 @@ describe('Codex skill', () => {
expect(content).toContain('Step 2C: Consult Mode');
const skeleton = fs.readFileSync(path.join(ROOT, 'codex', 'SKILL.md'), 'utf-8');
expect(skeleton).toContain('## Step 1: Detect mode');
expect(skeleton).toContain('MUTUALLY EXCLUSIVE');
expect(skeleton).toMatch(/mutually exclusive/i);
});
test('codex union contains gate verdict logic', () => {
@@ -1587,7 +1587,7 @@ describe('Codex skill', () => {
expect(content).toContain('CODEX_MODE');
expect(content).toContain('command -v codex'); // install check kept literal
// codex_reviews=disabled gates Codex passes only; Claude adversarial still runs
expect(content).toContain('skip the Codex passes ONLY');
expect(content).toMatch(/disabled[^\n]*skip the Codex passes only/i);
// Review log
expect(content).toContain('adversarial-review');
expect(content).toContain('reasoning_effort="high"');
@@ -2023,7 +2023,7 @@ describe('Test failure triage in ship skill', () => {
test('ship/SKILL.md uses in-branch language for stop condition', () => {
const content = readShipUnion();
expect(content).toContain('If any in-branch failures remain unfixed, **STOP**. Do not proceed');
expect(content).toMatch(/in-branch failures remain unfixed[\s\S]{0,40}\bstop\b[\s\S]{0,20}do not proceed/i);
});
});