Add public CLI-first acceptance gate

This commit is contained in:
Michel Paulissen 2026-07-03 23:12:37 +02:00
parent afaf918973
commit 4b323224b2
6 changed files with 143 additions and 7 deletions

View file

@ -35,10 +35,12 @@ function assertNoOpenCriteria(source, name) {
const phase2 = read("acceptance_criteria_phase2.md");
const base = read("acceptance_criteria.md");
const cliFirst = read("cli_acceptance_criteria.md");
const docsSmoke = read("scripts/docs-smoke.js");
const releaseBlockerSmoke = read("scripts/release-blocker-smoke.js");
const publicAcceptance = read("scripts/acceptance-public.sh");
const privateAcceptance = read("scripts/acceptance-private.sh");
const cliFirstAcceptance = read("scripts/acceptance-cli-first.sh");
const publicSplit = read("scripts/verify-public-split.sh");
assert.match(
@ -60,12 +62,13 @@ assert.match(
for (const [source, name] of [
[base, "acceptance_criteria.md"],
[phase2, "acceptance_criteria_phase2.md"],
[cliFirst, "cli_acceptance_criteria.md"],
]) {
assertEveryCriterionHasStatus(source, name);
assertNoOpenCriteria(source, name);
}
for (const file of ["MVP.md", "acceptance_criteria.md", "acceptance_criteria_phase2.md"]) {
for (const file of ["MVP.md", "acceptance_criteria.md", "acceptance_criteria_phase2.md", "cli_acceptance_criteria.md"]) {
assert(
docsSmoke.includes(`"${file}"`),
`docs smoke must include ${file} as user-facing acceptance context`
@ -100,6 +103,7 @@ for (const [source, name] of [
for (const [scriptName, script] of [
["public acceptance", publicAcceptance],
["private acceptance", privateAcceptance],
["CLI-first acceptance", cliFirstAcceptance],
["public split", publicSplit],
]) {
assert(