@brandlab-digital/conformance 1.0.0-rc.8 → 1.0.0

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 (65) hide show
  1. package/dist/cli.d.ts +0 -3
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +35 -93
  4. package/dist/cli.js.map +1 -1
  5. package/dist/current-release.d.ts +3 -0
  6. package/dist/current-release.d.ts.map +1 -0
  7. package/dist/current-release.js +54 -0
  8. package/dist/current-release.js.map +1 -0
  9. package/dist/project.d.ts +19 -24
  10. package/dist/project.d.ts.map +1 -1
  11. package/dist/project.js +444 -1070
  12. package/dist/project.js.map +1 -1
  13. package/dist/release-manifest.d.ts +29 -82
  14. package/dist/release-manifest.d.ts.map +1 -1
  15. package/dist/release-manifest.js +141 -348
  16. package/dist/release-manifest.js.map +1 -1
  17. package/dist/rendered-content.d.ts +36 -0
  18. package/dist/rendered-content.d.ts.map +1 -0
  19. package/dist/rendered-content.js +146 -0
  20. package/dist/rendered-content.js.map +1 -0
  21. package/dist/verification-policy.d.ts +162 -0
  22. package/dist/verification-policy.d.ts.map +1 -0
  23. package/dist/verification-policy.js +309 -0
  24. package/dist/verification-policy.js.map +1 -0
  25. package/package.json +6 -22
  26. package/dist/legacy-architecture-contracts.d.ts +0 -31
  27. package/dist/legacy-architecture-contracts.d.ts.map +0 -1
  28. package/dist/legacy-architecture-contracts.js +0 -49
  29. package/dist/legacy-architecture-contracts.js.map +0 -1
  30. package/dist/locations.d.ts +0 -63
  31. package/dist/locations.d.ts.map +0 -1
  32. package/dist/locations.js +0 -105
  33. package/dist/locations.js.map +0 -1
  34. package/dist/project-config-v2-contract.d.ts +0 -32
  35. package/dist/project-config-v2-contract.d.ts.map +0 -1
  36. package/dist/project-config-v2-contract.js +0 -926
  37. package/dist/project-config-v2-contract.js.map +0 -1
  38. package/dist/project-config-v3.d.ts +0 -43
  39. package/dist/project-config-v3.d.ts.map +0 -1
  40. package/dist/project-config-v3.js +0 -2876
  41. package/dist/project-config-v3.js.map +0 -1
  42. package/dist/project-config.d.ts +0 -3
  43. package/dist/project-config.d.ts.map +0 -1
  44. package/dist/project-config.js +0 -3
  45. package/dist/project-config.js.map +0 -1
  46. package/dist/release-catalog.d.ts +0 -4
  47. package/dist/release-catalog.d.ts.map +0 -1
  48. package/dist/release-catalog.js +0 -714
  49. package/dist/release-catalog.js.map +0 -1
  50. package/dist/release-contract-compatibility.d.ts +0 -97
  51. package/dist/release-contract-compatibility.d.ts.map +0 -1
  52. package/dist/release-contract-compatibility.js +0 -112
  53. package/dist/release-contract-compatibility.js.map +0 -1
  54. package/dist/schema-hygiene.d.ts +0 -26
  55. package/dist/schema-hygiene.d.ts.map +0 -1
  56. package/dist/schema-hygiene.js +0 -28
  57. package/dist/schema-hygiene.js.map +0 -1
  58. package/dist/source-safety-contracts.d.ts +0 -20
  59. package/dist/source-safety-contracts.d.ts.map +0 -1
  60. package/dist/source-safety-contracts.js +0 -60
  61. package/dist/source-safety-contracts.js.map +0 -1
  62. package/dist/vitest.d.ts +0 -110
  63. package/dist/vitest.d.ts.map +0 -1
  64. package/dist/vitest.js +0 -2678
  65. package/dist/vitest.js.map +0 -1
package/dist/cli.d.ts CHANGED
@@ -3,9 +3,6 @@ import { type BrandlabConformanceMode } from "./project.js";
3
3
  interface CliOptions {
4
4
  root: string;
5
5
  installedRelease?: string | null;
6
- targetRelease?: string | null;
7
- supportPolicyPath: string | null;
8
- releaseManifestPaths: string[];
9
6
  mode: BrandlabConformanceMode;
10
7
  json: boolean;
11
8
  help: boolean;
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAIA,OAAO,EAGL,KAAK,uBAAuB,EAE7B,MAAM,cAAc,CAAC;AAOtB,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,IAAI,EAAE,uBAAuB,CAAC;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;CACf;AAED,UAAU,KAAK;IACb,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAeD,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,UAAU,CAgDhF;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,EAAE,GAAE,KAGH,GACA,MAAM,CAqCR;AA0FD,wBAAgB,kCAAkC,CAChD,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAOT"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAIA,OAAO,EAGL,KAAK,uBAAuB,EAE7B,MAAM,cAAc,CAAC;AAEtB,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,IAAI,EAAE,uBAAuB,CAAC;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;CACf;AAED,UAAU,KAAK;IACb,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAmBD,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,UAAU,CA2BhF;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,EAAE,GAAE,KAGH,GACA,MAAM,CAkBR;AAmDD,wBAAgB,kCAAkC,CAChD,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAOT"}
package/dist/cli.js CHANGED
@@ -1,58 +1,47 @@
1
1
  #!/usr/bin/env node
2
- import { existsSync, readFileSync, realpathSync } from "node:fs";
3
- import { dirname, isAbsolute, resolve } from "node:path";
2
+ import { realpathSync } from "node:fs";
3
+ import { resolve } from "node:path";
4
4
  import { fileURLToPath } from "node:url";
5
5
  import { evaluateBrandlabProject, shouldFailBrandlabConformance, } from "./project.js";
6
- import { compareBrandlabSemver, } from "./release-manifest.js";
7
- const HELP = `Brandlab version-aware conformance
6
+ const HELP = `Brandlab verification
7
+
8
+ Runs the current objective verification checks for one project.
8
9
 
9
10
  Usage:
10
- brandlab-conformance --support-policy <path> [--root <path>]
11
+ brandlab-verify [--root <path>]
11
12
  [--installed-release <version|unadopted>]
12
- [--release-manifest <path>]...
13
- [--target-release <version|none>] [--mode <local|ci|preflight>] [--json]
13
+ [--mode <local|ci|preflight>] [--json]
14
14
 
15
15
  Exit status:
16
- local/ci fail only for installed-release maintenance blockers
17
- preflight also fails for target-release migration blockers
16
+ local/ci fail only for objective current-release blockers
17
+ preflight uses the same checks against an isolated candidate
18
+
19
+ Static verification reports tests, builds, browsers and deployments as not run
20
+ until real evidence is supplied.
18
21
  `;
19
22
  export function parseBrandlabConformanceArgs(argv) {
20
23
  const parsed = {
21
24
  root: process.cwd(),
22
- supportPolicyPath: null,
23
- releaseManifestPaths: [],
24
25
  mode: "local",
25
26
  json: false,
26
27
  help: false,
27
28
  };
28
29
  for (let index = 0; index < argv.length; index += 1) {
29
30
  const argument = argv[index];
30
- if (argument === "--help" || argument === "-h") {
31
+ if (argument === "--help" || argument === "-h")
31
32
  parsed.help = true;
32
- }
33
- else if (argument === "--json") {
33
+ else if (argument === "--json")
34
34
  parsed.json = true;
35
- }
36
35
  else if (argument === "--root") {
37
36
  parsed.root = resolve(requireValue(argv, ++index, "--root"));
38
37
  }
39
- else if (argument === "--support-policy") {
40
- parsed.supportPolicyPath = resolve(requireValue(argv, ++index, "--support-policy"));
41
- }
42
- else if (argument === "--release-manifest") {
43
- parsed.releaseManifestPaths.push(resolve(requireValue(argv, ++index, "--release-manifest")));
44
- }
45
38
  else if (argument === "--installed-release") {
46
39
  const value = requireValue(argv, ++index, "--installed-release");
47
40
  parsed.installedRelease = value === "unadopted" ? null : value;
48
41
  }
49
- else if (argument === "--target-release") {
50
- const value = requireValue(argv, ++index, "--target-release");
51
- parsed.targetRelease = value === "none" ? null : value;
52
- }
53
42
  else if (argument === "--mode") {
54
43
  const value = requireValue(argv, ++index, "--mode");
55
- if (value !== "local" && value !== "ci" && value !== "preflight") {
44
+ if (!["local", "ci", "preflight"].includes(value)) {
56
45
  throw new Error(`Invalid --mode ${value}.`);
57
46
  }
58
47
  parsed.mode = value;
@@ -61,9 +50,6 @@ export function parseBrandlabConformanceArgs(argv) {
61
50
  throw new Error(`Unknown argument ${argument}.`);
62
51
  }
63
52
  }
64
- if (!parsed.help && parsed.supportPolicyPath === null) {
65
- throw new Error("--support-policy is required.");
66
- }
67
53
  return parsed;
68
54
  }
69
55
  export function runBrandlabConformanceCli(argv, io = {
@@ -76,23 +62,10 @@ export function runBrandlabConformanceCli(argv, io = {
76
62
  io.stdout(HELP);
77
63
  return 0;
78
64
  }
79
- const supportPolicy = loadSupportPolicy(options.supportPolicyPath);
80
- const policyManifestPaths = resolveSupportPolicyReleaseManifestPaths(options.supportPolicyPath, supportPolicy);
81
- const releaseManifests = [
82
- ...new Set([
83
- ...policyManifestPaths,
84
- ...options.releaseManifestPaths,
85
- ]),
86
- ]
87
- .map(loadReleaseManifest)
88
- .sort((left, right) => compareBrandlabSemver(left.releaseVersion, right.releaseVersion));
89
65
  const result = evaluateBrandlabProject({
90
66
  root: options.root,
91
67
  installedRelease: options.installedRelease,
92
- targetRelease: options.targetRelease,
93
68
  mode: options.mode,
94
- releaseManifests,
95
- supportPolicy,
96
69
  });
97
70
  io.stdout(options.json ? `${JSON.stringify(result, null, 2)}\n` : formatResult(result));
98
71
  return shouldFailBrandlabConformance(result) ? 1 : 0;
@@ -102,64 +75,33 @@ export function runBrandlabConformanceCli(argv, io = {
102
75
  return 2;
103
76
  }
104
77
  }
105
- function loadSupportPolicy(path) {
106
- if (path === null)
107
- throw new Error("--support-policy is required.");
108
- try {
109
- return JSON.parse(readFileSync(path, "utf8"));
110
- }
111
- catch (error) {
112
- const detail = error instanceof Error ? error.message : String(error);
113
- throw new Error(`Unable to load support policy from ${path}: ${detail}`);
114
- }
115
- }
116
- function loadReleaseManifest(path) {
117
- try {
118
- return JSON.parse(readFileSync(path, "utf8"));
119
- }
120
- catch (error) {
121
- const detail = error instanceof Error ? error.message : String(error);
122
- throw new Error(`Unable to load release manifest from ${path}: ${detail}`);
123
- }
124
- }
125
- function resolveSupportPolicyReleaseManifestPaths(supportPolicyPath, supportPolicy) {
126
- if (supportPolicyPath === null)
127
- throw new Error("--support-policy is required.");
128
- const references = Object.values(supportPolicy.releases ?? {}).map((release) => release?.manifest);
129
- if (references.length === 0 ||
130
- references.some((reference) => typeof reference !== "string" ||
131
- reference.length === 0 ||
132
- isAbsolute(reference) ||
133
- reference.includes("\\") ||
134
- reference.split("/").some((segment) => segment === ".."))) {
135
- throw new Error("Support policy must use safe relative immutable release-manifest paths.");
136
- }
137
- let candidateRoot = dirname(supportPolicyPath);
138
- while (true) {
139
- const candidates = references.map((reference) => resolve(candidateRoot, reference));
140
- if (candidates.every((candidate) => existsSync(candidate)))
141
- return candidates;
142
- const parent = dirname(candidateRoot);
143
- if (parent === candidateRoot)
144
- break;
145
- candidateRoot = parent;
146
- }
147
- throw new Error(`Cannot resolve every support-policy release manifest from ${supportPolicyPath}.`);
148
- }
149
78
  function formatResult(result) {
79
+ const externalChecks = result.verification.checks.filter((check) => check.status === "not_run");
80
+ const staticStatus = result.verification.summary.blockers > 0
81
+ ? "blocked"
82
+ : result.verification.summary.warnings > 0
83
+ ? "warning"
84
+ : "pass";
150
85
  const lines = [
151
- "Brandlab conformance",
86
+ "Brandlab verification",
152
87
  `installed: ${result.installedRelease ?? "unadopted"}`,
153
- `target: ${result.targetRelease ?? "none"}`,
154
- `maintenance: ${formatSummary(result.maintenance)}`,
155
- `migration: ${formatSummary(result.migration)}`,
156
- `advisory: ${formatSummary(result.advisory)}`,
88
+ `policy: ${result.verification.policyVersion}`,
89
+ `static checks: ${staticStatus}`,
90
+ `external evidence: ${externalChecks.length > 0
91
+ ? `not run (${externalChecks.map((check) => check.title).join(", ")})`
92
+ : "complete"}`,
93
+ `findings: ${formatSummary(result.verification.summary)}`,
157
94
  ];
158
- for (const finding of result.findings) {
95
+ for (const family of result.verification.families) {
96
+ if (family.status === "pass")
97
+ continue;
98
+ lines.push(`[${family.status}] ${family.title}: ${family.blockers} blocker(s), ${family.warnings} warning(s)`);
99
+ }
100
+ for (const finding of result.operationalFindings) {
159
101
  const location = finding.path
160
102
  ? ` (${finding.path}${finding.line ? `:${finding.line}` : ""})`
161
103
  : "";
162
- lines.push(`[${finding.classification}/${finding.severity}] ${finding.ruleId}${location}: ${finding.actual}`);
104
+ lines.push(`[${finding.familyId}/${finding.severity}] ${finding.ruleId}${location}: ${finding.actual}`);
163
105
  }
164
106
  return `${lines.join("\n")}\n`;
165
107
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,uBAAuB,EACvB,6BAA6B,GAG9B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,qBAAqB,GAGtB,MAAM,uBAAuB,CAAC;AAkB/B,MAAM,IAAI,GAAG;;;;;;;;;;;CAWZ,CAAC;AAEF,MAAM,UAAU,4BAA4B,CAAC,IAAuB;IAClE,MAAM,MAAM,GAAe;QACzB,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE;QACnB,iBAAiB,EAAE,IAAI;QACvB,oBAAoB,EAAE,EAAE;QACxB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,KAAK;KACZ,CAAC;IAEF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC/C,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACrB,CAAC;aAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACrB,CAAC;aAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC/D,CAAC;aAAM,IAAI,QAAQ,KAAK,kBAAkB,EAAE,CAAC;YAC3C,MAAM,CAAC,iBAAiB,GAAG,OAAO,CAChC,YAAY,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAChD,CAAC;QACJ,CAAC;aAAM,IAAI,QAAQ,KAAK,oBAAoB,EAAE,CAAC;YAC7C,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAC9B,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAC3D,CAAC;QACJ,CAAC;aAAM,IAAI,QAAQ,KAAK,qBAAqB,EAAE,CAAC;YAC9C,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC;YACjE,MAAM,CAAC,gBAAgB,GAAG,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QACjE,CAAC;aAAM,IAAI,QAAQ,KAAK,kBAAkB,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;YAC9D,MAAM,CAAC,aAAa,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QACzD,CAAC;aAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YACpD,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;gBACjE,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,GAAG,CAAC,CAAC;YAC9C,CAAC;YACD,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,oBAAoB,QAAQ,GAAG,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,iBAAiB,KAAK,IAAI,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,IAAuB,EACvB,KAAY;IACV,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;IAC9C,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;CAC/C;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,4BAA4B,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAChB,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,aAAa,GAAG,iBAAiB,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACnE,MAAM,mBAAmB,GAAG,wCAAwC,CAClE,OAAO,CAAC,iBAAiB,EACzB,aAAa,CACd,CAAC;QACF,MAAM,gBAAgB,GAAG;YACvB,GAAG,IAAI,GAAG,CAAC;gBACT,GAAG,mBAAmB;gBACtB,GAAG,OAAO,CAAC,oBAAoB;aAChC,CAAC;SACH;aACE,GAAG,CAAC,mBAAmB,CAAC;aACxB,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACpB,qBAAqB,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,cAAc,CAAC,CACjE,CAAC;QACJ,MAAM,MAAM,GAAG,uBAAuB,CAAC;YACrC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,gBAAgB;YAChB,aAAa;SACd,CAAC,CAAC;QACH,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QACxF,OAAO,6BAA6B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAClF,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAmB;IAC5C,IAAI,IAAI,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACpE,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAA0B,CAAC;IACzE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAI,KAAK,MAAM,EAAE,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAA4B,CAAC;IAC3E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,KAAK,MAAM,EAAE,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC;AAED,SAAS,wCAAwC,CAC/C,iBAAgC,EAChC,aAAoC;IAEpC,IAAI,iBAAiB,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACjF,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAChE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQ,CAC/B,CAAC;IACF,IACE,UAAU,CAAC,MAAM,KAAK,CAAC;QACvB,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAC5B,OAAO,SAAS,KAAK,QAAQ;YAC7B,SAAS,CAAC,MAAM,KAAK,CAAC;YACtB,UAAU,CAAC,SAAS,CAAC;YACrB,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;YACxB,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,CACzD,EACD,CAAC;QACD,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;IACJ,CAAC;IAED,IAAI,aAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC/C,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAC9C,OAAO,CAAC,aAAa,EAAE,SAAmB,CAAC,CAC5C,CAAC;QACF,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAAE,OAAO,UAAU,CAAC;QAC9E,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QACtC,IAAI,MAAM,KAAK,aAAa;YAAE,MAAM;QACpC,aAAa,GAAG,MAAM,CAAC;IACzB,CAAC;IACD,MAAM,IAAI,KAAK,CACb,6DAA6D,iBAAiB,GAAG,CAClF,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,MAAiC;IACrD,MAAM,KAAK,GAAG;QACZ,sBAAsB;QACtB,cAAc,MAAM,CAAC,gBAAgB,IAAI,WAAW,EAAE;QACtD,WAAW,MAAM,CAAC,aAAa,IAAI,MAAM,EAAE;QAC3C,gBAAgB,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;QACnD,cAAc,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;QAC/C,aAAa,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;KAC9C,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI;YAC3B,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG;YAC/D,CAAC,CAAC,EAAE,CAAC;QACP,KAAK,CAAC,IAAI,CACR,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,MAAM,GAAG,QAAQ,KAAK,OAAO,CAAC,MAAM,EAAE,CAClG,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,CAAC;AAED,SAAS,aAAa,CAAC,OAAiD;IACtE,OAAO,GAAG,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,QAAQ,gBAAgB,OAAO,CAAC,QAAQ,gBAAgB,OAAO,CAAC,IAAI,OAAO,CAAC;AACnH,CAAC;AAED,SAAS,YAAY,CAAC,IAAuB,EAAE,KAAa,EAAE,QAAgB;IAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,oBAAoB,CAAC,CAAC;IACvF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,SAAiB,EACjB,QAA4B;IAE5B,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,IAAI,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,OAAO,CAAC,QAAQ,GAAG,yBAAyB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type BrandlabRuntimeReleaseContract } from "./release-manifest.js";
2
+ export declare const BRANDLAB_CURRENT_RUNTIME_RELEASE: BrandlabRuntimeReleaseContract;
3
+ //# sourceMappingURL=current-release.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"current-release.d.ts","sourceRoot":"","sources":["../src/current-release.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,8BAA8B,EAEpC,MAAM,uBAAuB,CAAC;AAE/B,eAAO,MAAM,gCAAgC,EAkD7B,8BAA8B,CAAC"}
@@ -0,0 +1,54 @@
1
+ // Generated by standards/scripts/generate-conformance-current-release.mjs.
2
+ // Each exact package release verifies its own current runtime contract.
3
+ import { validateBrandlabRuntimeReleaseContract, } from "./release-manifest.js";
4
+ export const BRANDLAB_CURRENT_RUNTIME_RELEASE = Object.freeze({
5
+ "capabilities": [
6
+ "typed-project-business-and-route-data",
7
+ "essential-search-foundations",
8
+ "shared-contact-delivery",
9
+ "privacy-safe-lead-analytics",
10
+ "security-patched-runtime",
11
+ "live-google-review-summary",
12
+ "high-signal-project-verification",
13
+ "packed-positive-and-negative-consumers",
14
+ "changesets-oidc-release"
15
+ ],
16
+ "contracts": {
17
+ "analytics": "analytics-v4",
18
+ "architecture": "architecture-v5",
19
+ "configuration": "project-config-v5",
20
+ "contact": "contact-v4",
21
+ "seo": "seo-v4"
22
+ },
23
+ "kind": "brandlab-runtime-release-contract",
24
+ "packages": {
25
+ "@brandlab-digital/conformance": {
26
+ "version": "1.0.0"
27
+ },
28
+ "@brandlab-digital/eslint-plugin": {
29
+ "version": "1.0.0"
30
+ },
31
+ "@brandlab-digital/site-core": {
32
+ "version": "1.0.0"
33
+ },
34
+ "@brandlab-digital/site-next": {
35
+ "version": "1.0.0"
36
+ }
37
+ },
38
+ "releaseVersion": "1.0.0",
39
+ "runtime": {
40
+ "bundler": "turbopack",
41
+ "cacheComponents": false,
42
+ "next": "16.2.12",
43
+ "node": "24.x",
44
+ "packageManager": "npm@11.14.1",
45
+ "react": "19.2.8",
46
+ "reactDom": "19.2.8",
47
+ "router": "app",
48
+ "sharp": "0.35.3",
49
+ "typescript": "6.0.3"
50
+ },
51
+ "schemaVersion": "brandlab.runtime-release-contract.v1"
52
+ });
53
+ validateBrandlabRuntimeReleaseContract(BRANDLAB_CURRENT_RUNTIME_RELEASE);
54
+ //# sourceMappingURL=current-release.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"current-release.js","sourceRoot":"","sources":["../src/current-release.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,wEAAwE;AACxE,OAAO,EAEL,sCAAsC,GACvC,MAAM,uBAAuB,CAAC;AAE/B,MAAM,CAAC,MAAM,gCAAgC,GAAG,MAAM,CAAC,MAAM,CAC7D;IACE,cAAc,EAAE;QACd,uCAAuC;QACvC,8BAA8B;QAC9B,yBAAyB;QACzB,6BAA6B;QAC7B,0BAA0B;QAC1B,4BAA4B;QAC5B,kCAAkC;QAClC,wCAAwC;QACxC,yBAAyB;KAC1B;IACD,WAAW,EAAE;QACX,WAAW,EAAE,cAAc;QAC3B,cAAc,EAAE,iBAAiB;QACjC,eAAe,EAAE,mBAAmB;QACpC,SAAS,EAAE,YAAY;QACvB,KAAK,EAAE,QAAQ;KAChB;IACD,MAAM,EAAE,mCAAmC;IAC3C,UAAU,EAAE;QACV,+BAA+B,EAAE;YAC/B,SAAS,EAAE,OAAO;SACnB;QACD,iCAAiC,EAAE;YACjC,SAAS,EAAE,OAAO;SACnB;QACD,6BAA6B,EAAE;YAC7B,SAAS,EAAE,OAAO;SACnB;QACD,6BAA6B,EAAE;YAC7B,SAAS,EAAE,OAAO;SACnB;KACF;IACD,gBAAgB,EAAE,OAAO;IACzB,SAAS,EAAE;QACT,SAAS,EAAE,WAAW;QACtB,iBAAiB,EAAE,KAAK;QACxB,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,MAAM;QACd,gBAAgB,EAAE,aAAa;QAC/B,OAAO,EAAE,QAAQ;QACjB,UAAU,EAAE,QAAQ;QACpB,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,QAAQ;QACjB,YAAY,EAAE,OAAO;KACtB;IACD,eAAe,EAAE,sCAAsC;CACxD,CAC6C,CAAC;AAE/C,sCAAsC,CAAC,gCAAgC,CAAC,CAAC"}
package/dist/project.d.ts CHANGED
@@ -1,15 +1,13 @@
1
- import { type BrandlabArchitectureConfigLike, type PackageJsonLike } from "./vitest.js";
2
- import { type BrandlabContractVersions, type BrandlabReleaseManifest, type BrandlabRuntimeReleaseContract, type BrandlabSupportPolicy } from "./release-manifest.js";
3
- export declare const BRANDLAB_CONFORMANCE_SCHEMA_VERSION = "brandlab.conformance.v1";
4
- export declare const BRANDLAB_CONFORMANCE_EVALUATOR_VERSION = "control-plane-v1";
5
- export declare const BRANDLAB_ARCHITECTURE_DISPATCH_RULESET_ID = "version-aware-architecture-dispatch-v1";
1
+ import { type BrandlabContractVersions, type BrandlabReleaseManifest, type BrandlabRuntimeReleaseContract } from "./release-manifest.js";
2
+ import { type BrandlabOperationalFinding, type BrandlabVerificationEvidence, type BrandlabVerificationResult } from "./verification-policy.js";
3
+ export { BRANDLAB_VERIFICATION_CHECKS, BRANDLAB_VERIFICATION_FAMILIES, BRANDLAB_VERIFICATION_POLICY_VERSION, type BrandlabVerificationCheckId, type BrandlabVerificationCheckResult, type BrandlabVerificationEvidence, type BrandlabVerificationEvidenceKind, type BrandlabVerificationFamilyId, type BrandlabVerificationFamilyResult, type BrandlabVerificationResult, type BrandlabVerificationStatus, } from "./verification-policy.js";
4
+ export declare const BRANDLAB_CONFORMANCE_SCHEMA_VERSION = "brandlab.conformance.v2";
5
+ export declare const BRANDLAB_CONFORMANCE_EVALUATOR_VERSION = "current-only-v2";
6
6
  export type BrandlabConformanceMode = "local" | "ci" | "preflight";
7
- export type BrandlabFindingClassification = "maintenance" | "migration" | "advisory";
8
7
  export type BrandlabFindingSeverity = "blocker" | "warning" | "info";
9
8
  export interface BrandlabFinding {
10
9
  ruleId: string;
11
10
  surface: string;
12
- classification: BrandlabFindingClassification;
13
11
  severity: BrandlabFindingSeverity;
14
12
  contract: {
15
13
  name: string;
@@ -37,31 +35,28 @@ export interface BrandlabConformanceResult {
37
35
  implementationFingerprint: string;
38
36
  mode: BrandlabConformanceMode;
39
37
  installedRelease: string | null;
40
- targetRelease: string | null;
41
38
  findings: BrandlabFinding[];
42
- maintenance: ConformanceSummary;
43
- migration: ConformanceSummary;
44
- advisory: ConformanceSummary;
39
+ operationalFindings: BrandlabOperationalFinding[];
40
+ verification: BrandlabVerificationResult;
41
+ summary: ConformanceSummary;
45
42
  }
46
43
  export interface EvaluateBrandlabProjectOptions {
47
44
  root: string;
48
45
  installedRelease?: string | null;
49
- targetRelease?: string | null;
50
46
  mode?: BrandlabConformanceMode;
51
- releaseCatalog?: readonly BrandlabRuntimeReleaseContract[];
52
- /**
53
- * Optional external post-build attestations. These are never embedded in the
54
- * conformance package; control-plane callers may provide them when exact
55
- * registry-integrity comparison is required.
56
- */
57
- releaseManifests?: readonly BrandlabReleaseManifest[];
58
- supportPolicy: BrandlabSupportPolicy;
59
- /** Compatibility input for callers that already parse legacy brandlab.config.ts. */
60
- architecture?: BrandlabArchitectureConfigLike | null;
47
+ release?: BrandlabRuntimeReleaseContract;
48
+ releaseManifest?: BrandlabReleaseManifest;
49
+ verificationEvidence?: readonly BrandlabVerificationEvidence[];
50
+ }
51
+ interface ProjectPackageJsonLike {
52
+ dependencies?: Record<string, string>;
53
+ devDependencies?: Record<string, string>;
54
+ engines?: Record<string, string>;
55
+ overrides?: Record<string, string>;
56
+ packageManager?: string;
61
57
  }
62
58
  export declare function evaluateBrandlabProject(options: EvaluateBrandlabProjectOptions): BrandlabConformanceResult;
63
59
  export declare function shouldFailBrandlabConformance(result: BrandlabConformanceResult): boolean;
64
- export declare function detectInstalledBrandlabRelease(packageJson: PackageJsonLike | null): string | null;
65
- export declare function readBrandlabArchitectureConfig(root: string): BrandlabArchitectureConfigLike | null;
60
+ export declare function detectInstalledBrandlabRelease(packageJson: ProjectPackageJsonLike | null): string | null;
66
61
  export type { BrandlabContractVersions };
67
62
  //# sourceMappingURL=project.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"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"}