fix(quality): anchor quantified registry populations
ci/woodpecker/pr/ci Pipeline was successful

This commit is contained in:
2026-08-01 12:39:49 -05:00
parent 32b490a712
commit fbb6191298
14 changed files with 594 additions and 37 deletions
+46
View File
@@ -289,6 +289,13 @@ test('PR verification states the RM-60 boundary without executing an intermediat
manifest: { schemaVersion: 1 },
});
assert.deepEqual(result.failures, []);
assert.ok(
result.observations.some((observation) =>
/HISTORY BOOTSTRAP BOUNDARY.*DOES:.*provider target.*sound.*cannot rewrite main.*DOES NOT:.*compromise.*main.*Builds 1-2/i.test(
observation,
),
),
);
assert.ok(
result.observations.some((observation) =>
/DOES:.*current tree.*DOES NOT:.*isolated.*RM-60.*RM-59/i.test(observation),
@@ -306,6 +313,42 @@ test('PR verification states the RM-60 boundary without executing an intermediat
}
});
test('target merge-base includes gate changes committed before registry introduction', async () => {
const root = `${fixtureRoot}-delayed-introduction`;
await rm(root, { recursive: true, force: true });
await mkdir(root, { recursive: true });
git(root, 'init', '-q');
git(root, 'config', 'user.name', 'gate-test');
git(root, 'config', 'user.email', '[email protected]');
await writeFile(path.join(root, 'baseline.txt'), 'baseline\n');
git(root, 'add', '.');
git(root, 'commit', '-m', 'target baseline');
const baseline = git(root, 'rev-parse', 'HEAD');
git(root, 'update-ref', 'refs/remotes/origin/main', baseline);
await mkdir(path.join(root, 'scripts'), { recursive: true });
await writeFile(path.join(root, 'scripts', 'preflight.mjs'), 'process.exit(0);\n');
git(root, 'add', '.');
git(root, 'commit', '-m', 'gate change before registry');
const preRegistryGateChange = git(root, 'rev-parse', 'HEAD');
await mkdir(path.join(root, 'gates'), { recursive: true });
await writeFile(path.join(root, 'gates', 'gates.manifest.json'), '{"schemaVersion":1}\n');
git(root, 'add', '.');
git(root, 'commit', '-m', 'delayed registry introduction');
const previousBranch = process.env.CI_COMMIT_BRANCH;
process.env.CI_COMMIT_BRANCH = 'feature/delayed-introduction';
try {
const result = await verifyHistory({ root, manifest: { schemaVersion: 1 } });
assert.match(
result.failures.join('\n'),
new RegExp(`${preRegistryGateChange}.*own-tree registry cannot be read`, 'i'),
);
} finally {
if (previousBranch === undefined) delete process.env.CI_COMMIT_BRANCH;
else process.env.CI_COMMIT_BRANCH = previousBranch;
}
});
test('derived history boundary includes the registry-introduction commit', async () => {
const root = `${fixtureRoot}-derived-boundary`;
await rm(root, { recursive: true, force: true });
@@ -317,6 +360,7 @@ test('derived history boundary includes the registry-introduction commit', async
git(root, 'add', '.');
git(root, 'commit', '-m', 'baseline');
const baseline = git(root, 'rev-parse', 'HEAD');
git(root, 'update-ref', 'refs/remotes/origin/main', baseline);
await mkdir(path.join(root, 'gates'), { recursive: true });
await writeFile(path.join(root, 'gates', 'gates.manifest.json'), '{"schemaVersion":1}\n');
git(root, 'add', '.');
@@ -330,6 +374,7 @@ test('derived history boundary includes the registry-introduction commit', async
assert.deepEqual(deriveHistoryBoundary(root, head), {
activationCommit: baseline,
introductionCommit: introduction,
targetRef: 'refs/remotes/origin/main',
});
assert.deepEqual(await listProspectiveCommits(root, baseline, head), [introduction, head]);
});
@@ -380,6 +425,7 @@ test('globally invalid provider evidence fails when HEAD is the only prospective
await writeFile(path.join(root, 'baseline.txt'), 'baseline\n');
git(root, 'add', '.');
git(root, 'commit', '-m', 'baseline');
git(root, 'update-ref', 'refs/remotes/origin/main', git(root, 'rev-parse', 'HEAD'));
await mkdir(path.join(root, 'gates'), { recursive: true });
await writeFile(path.join(root, 'gates', 'gates.manifest.json'), '{"schemaVersion":1}\n');
git(root, 'add', '.');