@sdd-method/sdd-cli 5.2.1 → 5.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/dist/lib/behaviour-store/archive.d.ts +25 -0
  2. package/dist/lib/behaviour-store/archive.d.ts.map +1 -1
  3. package/dist/lib/behaviour-store/archive.js +52 -5
  4. package/dist/lib/behaviour-store/archive.js.map +1 -1
  5. package/dist/lib/behaviour-store/schema.d.ts +14 -4
  6. package/dist/lib/behaviour-store/schema.d.ts.map +1 -1
  7. package/dist/lib/behaviour-store/schema.js +24 -12
  8. package/dist/lib/behaviour-store/schema.js.map +1 -1
  9. package/dist/lib/catalogue/build.d.ts.map +1 -1
  10. package/dist/lib/catalogue/build.js +3 -0
  11. package/dist/lib/catalogue/build.js.map +1 -1
  12. package/dist/lib/catalogue/builders/adrs.d.ts +6 -0
  13. package/dist/lib/catalogue/builders/adrs.d.ts.map +1 -1
  14. package/dist/lib/catalogue/builders/adrs.js +1 -1
  15. package/dist/lib/catalogue/builders/adrs.js.map +1 -1
  16. package/dist/lib/catalogue/builders/contracts.d.ts.map +1 -1
  17. package/dist/lib/catalogue/builders/contracts.js +5 -0
  18. package/dist/lib/catalogue/builders/contracts.js.map +1 -1
  19. package/dist/lib/catalogue/builders/features.d.ts.map +1 -1
  20. package/dist/lib/catalogue/builders/features.js +34 -4
  21. package/dist/lib/catalogue/builders/features.js.map +1 -1
  22. package/dist/lib/catalogue/builders/repositories.d.ts +2 -1
  23. package/dist/lib/catalogue/builders/repositories.d.ts.map +1 -1
  24. package/dist/lib/catalogue/builders/repositories.js +5 -3
  25. package/dist/lib/catalogue/builders/repositories.js.map +1 -1
  26. package/dist/lib/catalogue/builders/requirements.js +1 -1
  27. package/dist/lib/catalogue/builders/requirements.js.map +1 -1
  28. package/dist/lib/catalogue/canonical-schema.yaml +3 -2
  29. package/dist/lib/catalogue/contract-id.js +1 -1
  30. package/dist/lib/catalogue/contract-id.js.map +1 -1
  31. package/dist/lib/catalogue/impact-run.d.ts.map +1 -1
  32. package/dist/lib/catalogue/impact-run.js +6 -1
  33. package/dist/lib/catalogue/impact-run.js.map +1 -1
  34. package/dist/lib/catalogue/traceability-loader.d.ts +3 -1
  35. package/dist/lib/catalogue/traceability-loader.d.ts.map +1 -1
  36. package/dist/lib/catalogue/traceability-loader.js +3 -0
  37. package/dist/lib/catalogue/traceability-loader.js.map +1 -1
  38. package/dist/lib/contracts-availability/index.d.ts.map +1 -1
  39. package/dist/lib/contracts-availability/index.js +4 -1
  40. package/dist/lib/contracts-availability/index.js.map +1 -1
  41. package/dist/lib/plan/read-sdd.d.ts +1 -0
  42. package/dist/lib/plan/read-sdd.d.ts.map +1 -1
  43. package/dist/lib/plan/read-sdd.js +2 -1
  44. package/dist/lib/plan/read-sdd.js.map +1 -1
  45. package/dist/lib/scaffold/behaviour-store.d.ts.map +1 -1
  46. package/dist/lib/scaffold/behaviour-store.js +5 -3
  47. package/dist/lib/scaffold/behaviour-store.js.map +1 -1
  48. package/dist/lib/sdd-index/repo-config.d.ts.map +1 -1
  49. package/dist/lib/sdd-index/repo-config.js +1 -0
  50. package/dist/lib/sdd-index/repo-config.js.map +1 -1
  51. package/dist/lib/sdd-index/types.d.ts +1 -1
  52. package/dist/lib/sdd-index/types.d.ts.map +1 -1
  53. package/dist/lib/snapshot/advance.d.ts.map +1 -1
  54. package/dist/lib/snapshot/advance.js +13 -5
  55. package/dist/lib/snapshot/advance.js.map +1 -1
  56. package/dist/lib/snapshot/fold.d.ts.map +1 -1
  57. package/dist/lib/snapshot/fold.js +3 -3
  58. package/dist/lib/snapshot/fold.js.map +1 -1
  59. package/dist/lib/snapshot/manifest.d.ts +6 -0
  60. package/dist/lib/snapshot/manifest.d.ts.map +1 -1
  61. package/dist/lib/snapshot/manifest.js +18 -2
  62. package/dist/lib/snapshot/manifest.js.map +1 -1
  63. package/dist/lib/structure/model.d.ts +3 -0
  64. package/dist/lib/structure/model.d.ts.map +1 -1
  65. package/dist/lib/structure/model.js +6 -1
  66. package/dist/lib/structure/model.js.map +1 -1
  67. package/dist/lib/structure/removals.d.ts +11 -0
  68. package/dist/lib/structure/removals.d.ts.map +1 -0
  69. package/dist/lib/structure/removals.js +121 -0
  70. package/dist/lib/structure/removals.js.map +1 -0
  71. package/dist/lib/sync/index.d.ts.map +1 -1
  72. package/dist/lib/sync/index.js +8 -5
  73. package/dist/lib/sync/index.js.map +1 -1
  74. package/dist/lib/validate/behaviour-store.d.ts.map +1 -1
  75. package/dist/lib/validate/behaviour-store.js +228 -38
  76. package/dist/lib/validate/behaviour-store.js.map +1 -1
  77. package/dist/lib/validate/feature-spec-pointers.d.ts.map +1 -1
  78. package/dist/lib/validate/feature-spec-pointers.js +7 -0
  79. package/dist/lib/validate/feature-spec-pointers.js.map +1 -1
  80. package/dist/lib/validate/structural-model.d.ts.map +1 -1
  81. package/dist/lib/validate/structural-model.js +7 -1
  82. package/dist/lib/validate/structural-model.js.map +1 -1
  83. package/dist/maintain-version.json +2 -2
  84. package/dist/verify-version.json +2 -2
  85. package/package.json +1 -1
  86. package/scripts/author-version.json +2 -2
  87. package/scripts/maintain-version.json +2 -2
  88. package/scripts/validate-app-docs.sh +18 -2
  89. package/scripts/verify-version.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/sync/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/sync/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"behaviour-store.d.ts","sourceRoot":"","sources":["../../../src/lib/validate/behaviour-store.ts"],"names":[],"mappings":"AAyEA,OAAO,EAAgM,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAMvP,0GAA0G;AAC1G,eAAO,MAAM,gBAAgB,WAAW,CAAC;AAEzC,6DAA6D;AAC7D,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAkD,CAAC;AAE7G,eAAO,MAAM,SAAS,aAAa,CAAC;AACpC,eAAO,MAAM,cAAc,oBAAoB,CAAC;AAWhD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,yGAAyG;IACzG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oGAAoG;IACpG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAChI,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAC1D,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,+GAA+G;IAC/G,kBAAkB,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClE;AA2BD,4FAA4F;AAC5F,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG;IAAE,MAAM,CAAC,EAAE,eAAe,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CA8FjH;AAqLD,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CA2e9G;AAyFD,0GAA0G;AAC1G,wBAAsB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAgFpF"}
1
+ {"version":3,"file":"behaviour-store.d.ts","sourceRoot":"","sources":["../../../src/lib/validate/behaviour-store.ts"],"names":[],"mappings":"AA6EA,OAAO,EAAgM,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAMvP,0GAA0G;AAC1G,eAAO,MAAM,gBAAgB,WAAW,CAAC;AAEzC,6DAA6D;AAC7D,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAkD,CAAC;AAE7G,eAAO,MAAM,SAAS,aAAa,CAAC;AACpC,eAAO,MAAM,cAAc,oBAAoB,CAAC;AAWhD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,yGAAyG;IACzG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oGAAoG;IACpG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAChI,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAC1D,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,+GAA+G;IAC/G,kBAAkB,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClE;AA2BD,4FAA4F;AAC5F,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG;IAAE,MAAM,CAAC,EAAE,eAAe,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CA8FjH;AAqLD,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CA4nB9G;AA6GD,0GAA0G;AAC1G,wBAAsB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAgFpF"}
@@ -34,13 +34,17 @@
34
34
  // change was withdrawn or replaced (M-ADR 0222 §4.6).
35
35
  // 5. surfaces: every archived baseline's evidence lists, under **Surfaces:**, each contract the
36
36
  // repositories it was observed in serve, as covered at transport or excluded with a
37
- // reason, and the list is checked against the catalogue (catalogues/repo_contract.csv),
38
- // never against itself (M-ADR 0222 §4.3, §4.4). A list the catalogue gives nothing to
37
+ // reason, and the list is checked against the catalogue (catalogues/repo_contract.csv, less
38
+ // a contract service_contract records the repository's services consuming and none exposing:
39
+ // repo_contract has no direction), never against itself (M-ADR 0222 §4.3, §4.4). A list the catalogue gives nothing to
39
40
  // check against (no Observed in line, or a repository with no catalogue contracts) fails:
40
41
  // a cross-check of zero contracts is unresolved, not a pass.
41
42
  // A baseline whose every requirement has since left the living specs (removed, or its
42
43
  // spec retired) is history: its list is not checked, so a retired surface can drop its
43
- // contract (M-ADR 0222 §4.4).
44
+ // contract (M-ADR 0222 §4.4). A baseline archived where the SDD ships record schema 1.4.0
45
+ // or later records its gate's PASS (**Baseline gate:**), so `change archive` refuses one
46
+ // that has not passed (M-ADR 0222 §4.3). An open baseline is asked these questions, and
47
+ // what it may change and which features key it, as warnings while it can still be fixed.
44
48
  // 7. features: every living spec is keyed by a catalogue feature (M-ADR 0221 §4.7). A spec keyed by no
45
49
  // feature is dropped from the catalogue by the requirements builder, which reports it only as a
46
50
  // build finding; this check makes it a failure, so a shipped requirement cannot vanish from the
@@ -69,11 +73,11 @@ import { tmpdir } from "node:os";
69
73
  import { basename, join } from "node:path";
70
74
  import { promisify } from "node:util";
71
75
  import { parseDocument } from "yaml";
72
- import { observedIn, orderArchives, parseRequirements, parseSurfaces, renamedFrom, renamePairs, resolveImplements, surfaceMatches } from "../behaviour-store/archive.js";
76
+ import { contractMoves, observedIn, orderArchives, parseRequirements, parseSurfaces, renamedFrom, renamePairs, resolveImplements, surfaceMatches } from "../behaviour-store/archive.js";
73
77
  import { parseCatalogueCsv } from "../catalogue/csv-reader.js";
74
78
  import { boundFile, conditionProblems, structuralFile, isCommit, normaliseBound, requirementBlock, sameCommit, scenarioKind, taskGroups, testPlanHeader, testPlanMapping, verdictLine, versionAtLeast } from "./agreement-evidence.js";
75
79
  import { ENFORCED as STRUCTURE_ENFORCED } from "./structural-model.js";
76
- import { compareStoreSchema, SCHEMA_NAME, SHIPPED_SCHEMA_DIR, STORE_CONFIG, STORE_SCHEMA_DIR, storeSchemaName } from "../behaviour-store/schema.js";
80
+ import { BASELINE_SCHEMA_NAME, compareStoreSchema, SCHEMA_NAME, SHIPPED_SCHEMA_DIR, shippedSchemaDir, STORE_CONFIG, STORE_SCHEMA_DIR, storeSchemaDir, storeSchemaName } from "../behaviour-store/schema.js";
77
81
  const execFileAsync = promisify(execFile);
78
82
  /** The OpenSpec release the method depends on (M-ADR 0223 ruling 2). The module installs exactly this. */
79
83
  export const OPENSPEC_VERSION = "1.14.3";
@@ -828,8 +832,133 @@ export async function checkBehaviourStore(repo, options = {}) {
828
832
  }
829
833
  const orderDecides = (name, key) => [...(peers.get(name) ?? [])].some((p) => p !== name && touches.get(p)?.has(key));
830
834
  let scopeUnresolved = 0;
831
- const servedBy = baselines > 0 ? await catalogueContracts(repo) : null;
835
+ const openBaselines = [];
836
+ for (const change of open)
837
+ if (await exists(join(repo, STORE_DIR, "changes", change, "baseline-evidence.md")))
838
+ openBaselines.push(change);
839
+ const servedBy = baselines + openBaselines.length > 0 ? await catalogueContracts(repo) : null;
832
840
  let surfacesChecked = 0;
841
+ let structureOnly = 0;
842
+ // The contract moves each archived change records, in archive order. A contract's id derives from its path, so a
843
+ // move changes it; an archived baseline's list names the contract as it was, and is resolved through the moves
844
+ // archived after it rather than edited (M-ADR 0222 §4.4). A surface that vanished with no move still fails.
845
+ const movesAt = [];
846
+ for (const name of order) {
847
+ const found = [];
848
+ let names = [];
849
+ try {
850
+ names = (await readdir(join(repo, archiveRel, name, "structure"))).filter((f) => f.endsWith(".yaml")).sort();
851
+ }
852
+ catch {
853
+ names = [];
854
+ }
855
+ for (const f of names) {
856
+ try {
857
+ found.push(...contractMoves(parseDocument((await readText(join(repo, archiveRel, name, "structure", f))) ?? "").toJS()?.["moved"]).moves);
858
+ }
859
+ catch {
860
+ // the structural-model check reports an unreadable delta
861
+ }
862
+ }
863
+ movesAt.push(found);
864
+ }
865
+ // An open change's moves count too, after every archive: the catalogue it is built with already holds the new
866
+ // identity, so the lists that named the old one follow the move while it is open, not only once it archives.
867
+ const openMoves = [];
868
+ for (const change of open) {
869
+ let names = [];
870
+ try {
871
+ names = (await readdir(join(repo, STORE_DIR, "changes", change, "structure"))).filter((f) => f.endsWith(".yaml")).sort();
872
+ }
873
+ catch {
874
+ names = [];
875
+ }
876
+ for (const f of names) {
877
+ try {
878
+ openMoves.push(...contractMoves(parseDocument((await readText(join(repo, STORE_DIR, "changes", change, "structure", f))) ?? "").toJS()?.["moved"]).moves);
879
+ }
880
+ catch {
881
+ // the structural-model check reports an unreadable delta
882
+ }
883
+ }
884
+ }
885
+ /** The identities a contract had before the moves archived after position `after` (-1: every archived move). */
886
+ const formerIdentities = (id, after) => {
887
+ const back = new Map();
888
+ for (const m of [...movesAt.slice(after + 1).flat(), ...openMoves])
889
+ back.set(m.to, [...(back.get(m.to) ?? []), m]);
890
+ const out = [];
891
+ const seen = new Set([id]);
892
+ const queue = [id];
893
+ while (queue.length > 0) {
894
+ for (const m of back.get(queue.shift()) ?? []) {
895
+ if (seen.has(m.from))
896
+ continue;
897
+ seen.add(m.from);
898
+ out.push({ id: m.from, path: m.fromPath ?? "" });
899
+ queue.push(m.from);
900
+ }
901
+ }
902
+ return out;
903
+ };
904
+ /**
905
+ * Whether a baseline admits behaviour: any requirement in its spec deltas. One that admits none (a structure-only
906
+ * baseline, such as the removal of structure carved into another SDD) observes no served behaviour, so it has no
907
+ * surface to account for, and says so with the typed claim "**Surfaces:** none".
908
+ */
909
+ const admitsBehaviour = async (dir) => {
910
+ for (const feature of await dirs(join(repo, dir, "specs"))) {
911
+ if (parseRequirements((await readText(join(repo, dir, "specs", feature, "spec.md"))) ?? "").length > 0)
912
+ return true;
913
+ }
914
+ return false;
915
+ };
916
+ /** What is wrong with a baseline's Surfaces list against the catalogue (M-ADR 0222 §4.3, §4.4). */
917
+ const surfaceProblems = async (dir, evidence, after = -1) => {
918
+ const out = [];
919
+ const parsed = parseSurfaces(evidence);
920
+ const admits = await admitsBehaviour(dir);
921
+ if (!admits) {
922
+ if (parsed.none) {
923
+ structureOnly++;
924
+ return out;
925
+ }
926
+ if (parsed.entries.length === 0) {
927
+ return [`${dir}/baseline-evidence.md: the baseline admits no behaviour (no requirement in its spec deltas), so no surface is observed: write "**Surfaces:** none" (and "**Observed in:** none" where no repository is observed)`];
928
+ }
929
+ }
930
+ else if (parsed.none) {
931
+ return [`${dir}/baseline-evidence.md: **Surfaces:** none, but the baseline admits behaviour (requirements in ${dir}/specs/); name every contract the observed repositories serve, covered at transport or excluded with a reason`];
932
+ }
933
+ if (!parsed.present)
934
+ out.push(`${dir}/baseline-evidence.md: no **Surfaces:** list; name every contract the observed repositories serve, covered at transport or excluded with a reason`);
935
+ for (const p of parsed.problems)
936
+ out.push(`${dir}/baseline-evidence.md: Surfaces: ${p}`);
937
+ if (!parsed.present)
938
+ return out;
939
+ if (servedBy === null) {
940
+ out.push(`${dir}/baseline-evidence.md: Surfaces cannot be cross-checked: catalogues/repo_contract.csv or catalogues/contracts.csv is missing; build the catalogue`);
941
+ return out;
942
+ }
943
+ const repos = observedIn(evidence);
944
+ if (repos.length === 0)
945
+ out.push(`${dir}/baseline-evidence.md: Surfaces cannot be cross-checked: no **Observed in:** line names a repository`);
946
+ for (const r of repos) {
947
+ const known = servedBy.get(r);
948
+ if ((known?.served ?? []).length === 0) {
949
+ const consumed = known?.consumed ? ` (it consumes ${known.consumed}, which a baseline does not list)` : "";
950
+ out.push(`${dir}/baseline-evidence.md: Surfaces cannot be cross-checked: the catalogue records no contract that ${r} serves${consumed}; declare the contracts it serves in its repo-config`);
951
+ }
952
+ for (const c of known?.served ?? []) {
953
+ surfacesChecked++;
954
+ const former = formerIdentities(c.id, after);
955
+ if (!parsed.entries.some((e) => surfaceMatches(e.contract, c.id, c.specPath) || former.some((f) => surfaceMatches(e.contract, f.id, f.path)))) {
956
+ out.push(`${dir}/baseline-evidence.md: Surfaces does not list ${c.specPath || c.id} (${c.id}), which ${r} serves (catalogues/repo_contract.csv, less what service_contract records it only consuming); list it as covered at transport or excluded with a reason`);
957
+ }
958
+ }
959
+ }
960
+ return out;
961
+ };
833
962
  // A baseline whose every requirement has since left the living specs (removed, or its spec retired) records a
834
963
  // surface that no longer exists; its Surfaces list is history, not checked against today's catalogue, or a
835
964
  // retired surface could never drop its contract.
@@ -841,33 +970,23 @@ export async function checkBehaviourStore(repo, options = {}) {
841
970
  const evidence = await readText(join(repo, dir, "baseline-evidence.md"));
842
971
  const isBaseline = evidence !== null;
843
972
  if (isBaseline) {
844
- const parsed = parseSurfaces(evidence);
845
- if (!parsed.present)
846
- failures.push(`${dir}/baseline-evidence.md: no **Surfaces:** list; name every contract the observed repositories serve, covered at transport or excluded with a reason`);
847
- for (const p of parsed.problems)
848
- failures.push(`${dir}/baseline-evidence.md: Surfaces: ${p}`);
849
- if (parsed.present && historical.has(name)) {
850
- // history: see historicalBaselines
973
+ if (historical.has(name)) {
974
+ // history: see historicalBaselines; its gate and Surfaces list are not checked
975
+ const parsed = parseSurfaces(evidence);
976
+ if (!parsed.present)
977
+ failures.push(`${dir}/baseline-evidence.md: no **Surfaces:** list; name every contract the observed repositories serve, covered at transport or excluded with a reason`);
978
+ for (const p of parsed.problems)
979
+ failures.push(`${dir}/baseline-evidence.md: Surfaces: ${p}`);
851
980
  }
852
- else if (parsed.present) {
853
- if (servedBy === null) {
854
- failures.push(`${dir}/baseline-evidence.md: Surfaces cannot be cross-checked: catalogues/repo_contract.csv or catalogues/contracts.csv is missing; build the catalogue`);
855
- }
856
- else {
857
- const repos = observedIn(evidence);
858
- if (repos.length === 0)
859
- failures.push(`${dir}/baseline-evidence.md: Surfaces cannot be cross-checked: no **Observed in:** line names a repository`);
860
- for (const r of repos) {
861
- if ((servedBy.get(r) ?? []).length === 0) {
862
- failures.push(`${dir}/baseline-evidence.md: Surfaces cannot be cross-checked: catalogues/repo_contract.csv records no contract for ${r}; declare the contracts it serves in its repo-config`);
863
- }
864
- for (const c of servedBy.get(r) ?? []) {
865
- surfacesChecked++;
866
- if (!parsed.entries.some((e) => surfaceMatches(e.contract, c.id, c.specPath))) {
867
- failures.push(`${dir}/baseline-evidence.md: Surfaces does not list ${c.specPath || c.id} (${c.id}), which ${r} serves (catalogues/repo_contract.csv); list it as covered at transport or excluded with a reason`);
868
- }
869
- }
870
- }
981
+ else {
982
+ failures.push(...(await surfaceProblems(dir, evidence, order.indexOf(name))));
983
+ // The gate's outcome is recorded where the SDD ships record schema 1.4.0 or later when the baseline archives;
984
+ // a baseline archived earlier carries none and is not held to it.
985
+ const archivedAt = await integratedAt(repo, dir);
986
+ if (versionAtLeast(await shippedRecordSchema(repo, archivedAt), "1.4.0")) {
987
+ const gate = baselineGate(evidence);
988
+ if (gate !== "PASS")
989
+ failures.push(`${dir}/baseline-evidence.md: archived ${gate === null ? "with no **Baseline gate:** line" : `with **Baseline gate:** ${gate}`}; a baseline archives once its gate passes: every requirement cites its evidence, characterization tests exist where the code has none, and every covered surface is evidenced at its transport (M-ADR 0222 §4.3)`);
871
990
  }
872
991
  }
873
992
  }
@@ -902,8 +1021,34 @@ export async function checkBehaviourStore(repo, options = {}) {
902
1021
  lastTouch.delete(`${feature}::${from}`);
903
1022
  }
904
1023
  }
905
- const unseen = servedBy === null ? "" : `; repositories with no catalogue contracts: ${[...new Set(await observedInAll(repo, archiveRel, order))].filter((r) => (servedBy.get(r) ?? []).length === 0).join(", ") || "none"}`;
906
- lines.push(baselines === 0 ? "surfaces: vacuous (no baseline)" : `surfaces: ${baselines} baseline(s), ${surfacesChecked} served contract(s) checked against catalogues/repo_contract.csv${unseen}${historical.size ? `; ${historical.size} historical baseline(s) not checked (every requirement they baselined has left the living specs)` : ""}`);
1024
+ // An open baseline is asked the archive's questions while it can still be fixed: its Surfaces list, what it may
1025
+ // change given the lineage so far, the features its deltas are keyed by, and its gate. Warnings, since it is in
1026
+ // progress; `change archive` refuses what is still wrong when it archives.
1027
+ const featureIds = await readText(join(repo, "catalogues", "features.csv")).then((t) => (t === null ? null : new Set(parseCatalogueCsv(t).rows.map((r) => r["id"] ?? ""))));
1028
+ for (const change of openBaselines) {
1029
+ const dir = `${STORE_DIR}/changes/${change}`;
1030
+ const evidence = (await readText(join(repo, dir, "baseline-evidence.md"))) ?? "";
1031
+ const found = [...(await surfaceProblems(dir, evidence))];
1032
+ for (const feature of await dirs(join(repo, dir, "specs"))) {
1033
+ if (featureIds !== null && !featureIds.has(feature))
1034
+ found.push(`${dir}/specs/${feature}: no catalogue feature has the id "${feature}"; give the behaviour a feature first (M-ADR 0222 §4.4)`);
1035
+ const text = (await readText(join(repo, dir, "specs", feature, "spec.md"))) ?? "";
1036
+ for (const target of [...parseRequirements(text).filter((r) => r.operation === "MODIFIED" || r.operation === "REMOVED").map((r) => r.name), ...renamedFrom(text)]) {
1037
+ scopeChecked++;
1038
+ const last = lastTouch.get(`${feature}::${target}`);
1039
+ if (last !== "baseline")
1040
+ found.push(`${dir}: a baseline changes "${target}" (${feature}), which ${last === "change" ? "a judged change last shipped" : "no earlier archived change admitted"}; a baseline may remove or modify only what a baseline admitted (M-ADR 0222 §4.4)`);
1041
+ }
1042
+ }
1043
+ const gate = baselineGate(evidence);
1044
+ if (gate !== "PASS")
1045
+ found.push(`${dir}/baseline-evidence.md: ${gate === null ? "no **Baseline gate:** line yet" : `**Baseline gate:** ${gate}`}; it archives once the gate passes (M-ADR 0222 §4.3)`);
1046
+ warnings.push(...found.map((w) => `open baseline: ${w}`));
1047
+ }
1048
+ if (openBaselines.length > 0)
1049
+ lines.push(`open baselines: ${openBaselines.length}, asked the archive's questions as warnings`);
1050
+ const unseen = servedBy === null ? "" : `; repositories with no catalogue contracts: ${[...new Set(await observedInAll(repo, archiveRel, order))].filter((r) => (servedBy.get(r)?.served ?? []).length === 0).join(", ") || "none"}`;
1051
+ lines.push(baselines === 0 ? "surfaces: vacuous (no baseline)" : `surfaces: ${baselines} baseline(s), ${surfacesChecked} served contract(s) checked against catalogues/repo_contract.csv less what service_contract records only consumed${unseen}${structureOnly ? `; ${structureOnly} structure-only baseline(s) admitting no behaviour, Surfaces: none` : ""}${historical.size ? `; ${historical.size} historical baseline(s) not checked (every requirement they baselined has left the living specs)` : ""}`);
907
1052
  lines.push(scopeChecked === 0 ? "scope: vacuous (no baseline removes, modifies or renames a requirement)" : `scope: ${scopeChecked} requirement(s) a baseline removes, modifies or renames, checked against their lineage`);
908
1053
  if (!history && archived.length > 0)
909
1054
  lines.push("order: no git history (not a git work tree, or git log failed), so same-day archives cannot be ordered");
@@ -954,6 +1099,29 @@ export async function checkBehaviourStore(repo, options = {}) {
954
1099
  lines.push(drift === 0 ? `schema: ${SCHEMA_NAME}, identical to the shipped copy` : `schema: ${SCHEMA_NAME}, ${drift} file(s) differ from the shipped copy`);
955
1100
  }
956
1101
  }
1102
+ // The baseline schema: checked as sdd-change is where the bundle ships it (a bundle from before it shipped has none),
1103
+ // and an open baseline selects it rather than sdd-change, whose Gate 0, test plan and agreement a baseline lacks.
1104
+ if (selected === SCHEMA_NAME) {
1105
+ const b = await compareStoreSchema(repo, BASELINE_SCHEMA_NAME);
1106
+ if (b.shipped) {
1107
+ const fix = "sdd-cli sync refreshes it; put adopter guidance in the store's config.yaml rules, not in the schema";
1108
+ for (const f of b.missing)
1109
+ failures.push(`${storeSchemaDir(BASELINE_SCHEMA_NAME)}/${f}: missing from the store's copy of the schema; ${fix}`);
1110
+ for (const f of b.differing)
1111
+ failures.push(`${storeSchemaDir(BASELINE_SCHEMA_NAME)}/${f}: differs from the shipped ${shippedSchemaDir(BASELINE_SCHEMA_NAME)}/${f}; ${fix}`);
1112
+ for (const f of b.extra)
1113
+ failures.push(`${storeSchemaDir(BASELINE_SCHEMA_NAME)}/${f}: not in the shipped schema; ${fix}`);
1114
+ const drift = b.missing.length + b.differing.length + b.extra.length;
1115
+ lines.push(drift === 0 ? `schema: ${BASELINE_SCHEMA_NAME}, identical to the shipped copy` : `schema: ${BASELINE_SCHEMA_NAME}, ${drift} file(s) differ from the shipped copy`);
1116
+ for (const change of openBaselines) {
1117
+ const meta = await readText(join(repo, STORE_DIR, "changes", change, ".openspec.yaml"));
1118
+ const chosen = meta === null ? null : parseDocument(meta).toJS()?.schema;
1119
+ if (chosen !== BASELINE_SCHEMA_NAME) {
1120
+ warnings.push(`open baseline: ${STORE_DIR}/changes/${change}/.openspec.yaml selects ${chosen === null || chosen === undefined ? "no schema" : `"${String(chosen)}"`}; a baseline selects ${BASELINE_SCHEMA_NAME} (schema: ${BASELINE_SCHEMA_NAME}), whose artifacts are a baseline's rather than a change's Gate 0, test plan and agreement`);
1121
+ }
1122
+ }
1123
+ }
1124
+ }
957
1125
  const population = recordFiles.length + open.length + archived.length;
958
1126
  const body = lines.map((l) => ` ${l}`).join("\n") + "\n";
959
1127
  if (failures.length > 0) {
@@ -1012,25 +1180,47 @@ async function historicalBaselines(repo, archiveRel, order) {
1012
1180
  });
1013
1181
  return out;
1014
1182
  }
1015
- /** Per repository, the contracts the catalogue says it serves (repo_contract ⋈ contracts.spec_path); null when either file is missing. */
1183
+ /**
1184
+ * Per repository, the contracts the catalogue says it serves, with how many it only consumes; null when repo_contract or
1185
+ * contracts is missing. repo_contract binds a repository to a contract in either direction, so a row is dropped where
1186
+ * service_contract records the repository's services consuming that contract and none exposing it. Rows
1187
+ * service_contract says nothing about stay: a model that omits a service's exposes rows does not shrink what is checked.
1188
+ */
1016
1189
  async function catalogueContracts(repo) {
1017
1190
  const rc = await readText(join(repo, "catalogues", "repo_contract.csv"));
1018
1191
  const cs = await readText(join(repo, "catalogues", "contracts.csv"));
1019
1192
  if (rc === null || cs === null)
1020
1193
  return null;
1021
1194
  const spec = new Map(parseCatalogueCsv(cs).rows.map((r) => [r["id"] ?? "", r["spec_path"] ?? ""]));
1195
+ const repoOf = new Map(parseCatalogueCsv((await readText(join(repo, "catalogues", "services.csv"))) ?? "").rows.map((r) => [r["id"] ?? "", r["primary_repo_id"] ?? ""]));
1196
+ const roles = new Map();
1197
+ for (const r of parseCatalogueCsv((await readText(join(repo, "catalogues", "service_contract.csv"))) ?? "").rows) {
1198
+ const key = `${repoOf.get(r["service_id"] ?? "") ?? ""}\u0000${r["contract_id"] ?? ""}`;
1199
+ roles.set(key, (roles.get(key) ?? new Set()).add(r["role"] ?? ""));
1200
+ }
1022
1201
  const out = new Map();
1023
1202
  for (const r of parseCatalogueCsv(rc).rows) {
1024
1203
  const repoId = r["repo_id"] ?? "";
1025
1204
  const id = r["contract_id"] ?? "";
1026
1205
  if (repoId === "" || id === "")
1027
1206
  continue;
1028
- const list = out.get(repoId) ?? [];
1029
- list.push({ id, specPath: spec.get(id) ?? "" });
1030
- out.set(repoId, list);
1207
+ const entry = out.get(repoId) ?? { served: [], consumed: 0 };
1208
+ const role = roles.get(`${repoId}\u0000${id}`);
1209
+ if (role?.has("consumes") && !role.has("exposes"))
1210
+ entry.consumed++;
1211
+ else
1212
+ entry.served.push({ id, specPath: spec.get(id) ?? "" });
1213
+ out.set(repoId, entry);
1031
1214
  }
1032
1215
  return out;
1033
1216
  }
1217
+ /** A baseline's recorded gate outcome: the last `**Baseline gate:** <outcome>` line's first word, upper-cased; null when there is none. */
1218
+ function baselineGate(evidence) {
1219
+ let out = null;
1220
+ for (const m of evidence.matchAll(/^\s*\*\*Baseline gate:\*\*\s*(\S+)/gm))
1221
+ out = m[1].replace(/[^A-Za-z]/g, "").toUpperCase();
1222
+ return out;
1223
+ }
1034
1224
  async function observedInAll(repo, archiveRel, names) {
1035
1225
  const out = [];
1036
1226
  for (const n of names) {