Sync public tree to abeb195
This commit is contained in:
parent
c836abc405
commit
fa0b074b05
4 changed files with 26 additions and 3 deletions
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"kind": "disasmer-filtered-public-tree",
|
||||
"source_commit": "41a0af41b5289a1cac004531798bb5269c9bd749",
|
||||
"release_name": "dryrun-41a0af41b528",
|
||||
"source_commit": "abeb19529fac4053ded85c73612264032cc79c08",
|
||||
"release_name": "dryrun-abeb19529fac",
|
||||
"filtered_out": [
|
||||
"private/**",
|
||||
"experiments/**",
|
||||
|
|
|
|||
|
|
@ -5,6 +5,15 @@ const fs = require("fs");
|
|||
const path = require("path");
|
||||
|
||||
const repo = path.resolve(__dirname, "..");
|
||||
if (
|
||||
fs.existsSync(path.join(repo, "DISASMER_PUBLIC_TREE.json")) &&
|
||||
!fs.existsSync(path.join(repo, "acceptance_criteria.md"))
|
||||
) {
|
||||
console.log(
|
||||
"Acceptance doc contract smoke skipped: root acceptance markdown is filtered from this public tree"
|
||||
);
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
function read(relativePath) {
|
||||
return fs.readFileSync(path.join(repo, relativePath), "utf8");
|
||||
|
|
@ -66,6 +75,11 @@ for (const [source, name] of [
|
|||
]) {
|
||||
assertEveryCriterionHasStatus(source, name);
|
||||
assertNoOpenCriteria(source, name);
|
||||
assert.match(
|
||||
source,
|
||||
/Design-document references to billing, paid plans, or plan flags are future metadata placeholders; they do not require MVP/,
|
||||
`${name} must keep billing/paid-plan placeholders outside MVP implementation scope`
|
||||
);
|
||||
}
|
||||
|
||||
for (const file of ["MVP.md", "acceptance_criteria.md", "acceptance_criteria_phase2.md", "cli_acceptance_criteria.md"]) {
|
||||
|
|
|
|||
|
|
@ -59,6 +59,11 @@ expect(
|
|||
"future hosted business non-goal",
|
||||
/billing, paid-plan checkout, team\/org management, provider setup wizards, secret-manager UI, full support tooling, broad moderation consoles, and durable account\/business-process management are intentionally outside this CLI-first MVP slice/
|
||||
);
|
||||
expect(
|
||||
criteria,
|
||||
"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/
|
||||
);
|
||||
|
||||
const lines = criterionLines(criteria);
|
||||
assert(lines.length > 0, "CLI-first criteria must contain criteria lines");
|
||||
|
|
|
|||
|
|
@ -58,7 +58,11 @@ expect(
|
|||
);
|
||||
expect(
|
||||
"billing-only surfaces are postponed",
|
||||
/If a website route, API, database field, control, or acceptance item exists only for billing, paid plans, hosted business operations, broad admin\/moderation, team management, provider setup, secret management, or durable account\/business-process management, postpone it instead of building it for this MVP\./
|
||||
/If a website route, API, database field, control, or acceptance item exists only for billing, paid plans, hosted business operations, broad admin\/moderation, team management, provider setup, secret management, durable account\/business-process management, or any similarly future hosted-business concern, postpone it instead of building it for this MVP\./
|
||||
);
|
||||
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 website routes, database fields, UI controls, CLI commands, coordinator routes, or service logic/
|
||||
);
|
||||
assert.doesNotMatch(source, /community-tier/, "use `community tier`, not `community-tier`");
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue