Sync public scripts to 8ac7413
This commit is contained in:
parent
6d58148215
commit
2c2dfdf8e2
4 changed files with 47 additions and 1 deletions
|
|
@ -45,6 +45,7 @@ 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 website = read("website_mvp_inventory.md");
|
||||
const docsSmoke = read("scripts/docs-smoke.js");
|
||||
const releaseBlockerSmoke = read("scripts/release-blocker-smoke.js");
|
||||
const publicAcceptance = read("scripts/acceptance-public.sh");
|
||||
|
|
@ -82,7 +83,35 @@ for (const [source, name] of [
|
|||
);
|
||||
}
|
||||
|
||||
for (const file of ["MVP.md", "acceptance_criteria.md", "acceptance_criteria_phase2.md", "cli_acceptance_criteria.md"]) {
|
||||
assertEveryCriterionHasStatus(website, "website_mvp_inventory.md");
|
||||
assert.match(
|
||||
website,
|
||||
/private hosted website addendum to `acceptance_criteria\.md`, `acceptance_criteria_phase2\.md`, and `cli_acceptance_criteria\.md`/,
|
||||
"website acceptance criteria must declare itself as the private hosted website addendum"
|
||||
);
|
||||
assert.match(
|
||||
website,
|
||||
/barebones functional HTML with no CSS/,
|
||||
"website acceptance criteria must keep the MVP website barebones with no CSS"
|
||||
);
|
||||
assert.match(
|
||||
website,
|
||||
/Billing is not part of the MVP[\s\S]*Design-document references to billing, paid plans, or plan flags are future metadata placeholders; they do not require MVP website routes/,
|
||||
"website acceptance criteria must keep billing and paid-plan placeholders outside MVP website scope"
|
||||
);
|
||||
assert.match(
|
||||
website,
|
||||
/- \[ \] \*\*Open:\*\* The private hosted website acceptance gate exists and exercises the barebones website through `disasmer\.michelpaulissen\.com`/,
|
||||
"website acceptance criteria must leave the private website deployment gate explicit and open"
|
||||
);
|
||||
|
||||
for (const file of [
|
||||
"MVP.md",
|
||||
"acceptance_criteria.md",
|
||||
"acceptance_criteria_phase2.md",
|
||||
"cli_acceptance_criteria.md",
|
||||
"website_mvp_inventory.md",
|
||||
]) {
|
||||
assert(
|
||||
docsSmoke.includes(`"${file}"`),
|
||||
`docs smoke must include ${file} as user-facing acceptance context`
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ node scripts/tenant-isolation-contract-smoke.js
|
|||
node scripts/cli-error-exit-smoke.js
|
||||
scripts/release-source-scan.sh
|
||||
cargo test --manifest-path private/hosted-policy/Cargo.toml
|
||||
node private/hosted-policy/scripts/hosted-signup-contract-smoke.js
|
||||
node private/hosted-policy/scripts/prepare-public-release-dryrun-deployment.js
|
||||
node private/hosted-policy/scripts/hosted-deployment-smoke.js
|
||||
node private/hosted-policy/scripts/hosted-community-smoke.js
|
||||
|
|
|
|||
|
|
@ -66,6 +66,21 @@ expect(
|
|||
"billing plan flags are placeholders",
|
||||
/Design-document references to billing, paid plans, or plan flags are future metadata placeholders; they do not require MVP CLI commands, coordinator routes, schemas, migrations, website controls, or service logic/
|
||||
);
|
||||
expect(
|
||||
criteria,
|
||||
"hosted signup remains private Authentik-backed flow",
|
||||
/Hosted account creation is available only through the private hosted identity flow, backed by Authentik[\s\S]*first-login account\/project creation stays inside/
|
||||
);
|
||||
expect(
|
||||
criteria,
|
||||
"hosted signup provider and password policy criteria",
|
||||
/approved external identity-provider requirement[\s\S]*disasmer_native_password_signup_allowed: false/
|
||||
);
|
||||
expect(
|
||||
criteria,
|
||||
"hosted signup sanitized failure criteria",
|
||||
/Signup failures do not disclose moderation, abuse-scoring, or allow\/deny internals[\s\S]*stripping issuer, allowlist, abuse-score, moderation-note, and provider-secret details/
|
||||
);
|
||||
|
||||
const lines = criterionLines(criteria);
|
||||
assert(lines.length > 0, "CLI-first criteria must contain criteria lines");
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ const userFacingDocs = [
|
|||
"acceptance_criteria.md",
|
||||
"acceptance_criteria_phase2.md",
|
||||
"cli_acceptance_criteria.md",
|
||||
"website_mvp_inventory.md",
|
||||
].map((file) => [file, fs.readFileSync(path.join(repo, file), "utf8")]);
|
||||
const publicAcceptance = fs.readFileSync(
|
||||
path.join(repo, "scripts/acceptance-public.sh"),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue