feat(#1726): G1-G6 portability AST rules; fix all offenders; delete the ratchet (Phase 4) (#1731)

Phase 4 of epic #1702. Closes #1726.
This commit is contained in:
Tom Boucher
2026-06-25 18:24:39 -04:00
committed by GitHub
parent 2990305f78
commit f08b177215
88 changed files with 2038 additions and 377 deletions

View File

@@ -380,7 +380,7 @@ describe('SECURE: VALIDATION.md security columns', () => {
test('both columns appear in the Per-Task Verification Map table', () => {
const content = fs.readFileSync(valPath, 'utf-8');
// Find the table header row containing both columns
const lines = content.split('\n');
const lines = content.split(/\r?\n/);
const headerLine = lines.find(
line => line.includes('Threat Ref') && line.includes('Secure Behavior')
);
@@ -516,7 +516,7 @@ describe('SECURE: per-threat severity gate (#1626)', () => {
// The old unconditional language said "phase must not ship" without a severity qualifier.
// After the fix, every "phase must not ship" must be paired with a severity condition.
// Find all occurrences of "must not ship" and verify none appear without "severity" nearby.
const lines = content.split('\n');
const lines = content.split(/\r?\n/);
for (const line of lines) {
if (line.includes('must not ship') && !line.includes('severity')) {
assert.fail(