chore: require migration business sampling evidence

This commit is contained in:
Codex
2026-06-30 13:07:20 +08:00
parent 9fdb6cd28b
commit 6e17e77aaf
5 changed files with 33 additions and 3 deletions

View File

@@ -105,6 +105,17 @@ assert.ok(
'migration profile mismatch should be reported as a blocker',
);
const missingBusinessSampling = runGate(tempDir => {
const evidence = createEvidence(tempDir);
evidence.checks = evidence.checks.filter(item => item.id !== 'migration.pb-import-sample');
return evidence;
});
assert.notEqual(missingBusinessSampling.status, 0, 'missing import business sampling should fail launch gate');
assert.ok(
missingBusinessSampling.payload.checks?.some(item => item.id === 'check.migration.pb-import-sample' && item.status === 'blocker'),
'missing import business sampling should be reported as a blocker',
);
const missingAttestation = runGate(tempDir => {
const evidence = createEvidence(tempDir);
evidence.attestations = evidence.attestations.filter(item => item.id !== 'backup.snapshot');

View File

@@ -50,6 +50,12 @@ const gateChecks = [
commandIncludes: 'pb:import:validate',
summary: { fail: 0 },
},
{
id: 'migration.pb-import-sample',
label: 'PocketBase imported business sampling',
commandIncludes: 'pb:import:sample',
summary: { fail: 0 },
},
{
id: 'api.integration',
label: 'API integration regression',