mirror of
https://github.com/garrytan/gstack.git
synced 2026-11-12 19:44:48 +01:00
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:
1 parent
842fceba78
commit
a7819d5875
1 file changed
+3
-3
@@ -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);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in new issue
Block a user