@design-parity/action 0.1.11 → 0.1.13

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.
package/README.md CHANGED
@@ -48,7 +48,10 @@ event** (mirroring the sibling `compose-ai-tools` `apply` action):
48
48
  browsable artifacts** — a top-level `README.md` + `index.html` landing page
49
49
  (linking each component's report, with a "generated, do not edit" banner),
50
50
  each component's self-contained `report.html` triptych, and a machine-readable
51
- `verdict.json` —
51
+ `verdict.json` (a versioned `BaselineSummary` carries `formatVersion` +
52
+ `$schema`, validated against
53
+ [`schema/verdict.schema.json`](./schema/verdict.schema.json); see
54
+ [`docs/report-format.md`](../../docs/report-format.md)) —
52
55
  to a permanent **`artifact_branch`** (default `design-parity/<dev-branch>`).
53
56
  This gives a stable, always-current view of `main`'s parity state without
54
57
  committing generated PNGs/HTML onto `main`, and a real baseline a PR can diff
@@ -1,5 +1,17 @@
1
1
  import type { VerdictStatus } from "@design-parity/core";
2
2
  import type { ParityReport, ComponentResult } from "./orchestrate.js";
3
+ /**
4
+ * The `verdict.json` layout version. Bumped only on an **incompatible** change
5
+ * to {@link BaselineSummary} (a renamed/removed field, a changed type, a
6
+ * tightened required set); additive optional fields do not bump it, so a reader
7
+ * must ignore unknown fields. A PR run loads a baseline written by `main` and
8
+ * checks this against the version it understands before diffing against it —
9
+ * without it the on-branch history can't evolve safely as it accumulates.
10
+ *
11
+ * Mirrors the `formatVersion` the compose-ai-tools reporting-branch
12
+ * `manifest.json` carries (compose-ai-tools#1866); see `docs/report-format.md`.
13
+ */
14
+ export declare const VERDICT_FORMAT_VERSION = 1;
3
15
  export interface BaselineComponent {
4
16
  code: string;
5
17
  source?: string;
@@ -12,6 +24,14 @@ export interface BaselineComponent {
12
24
  note?: string;
13
25
  }
14
26
  export interface BaselineSummary {
27
+ /** URL of the published schema this document conforms to. */
28
+ $schema?: string;
29
+ /**
30
+ * The {@link VERDICT_FORMAT_VERSION} this document was written at. Lets a
31
+ * reader (a PR run loading the `main` baseline to diff against) detect an
32
+ * incompatible on-branch format before consuming it.
33
+ */
34
+ formatVersion: number;
15
35
  /** ISO timestamp the baseline was assembled. */
16
36
  generatedAt: string;
17
37
  /** The commit the baseline was rendered from, when known. */
@@ -30,6 +50,119 @@ export interface BaselineMeta {
30
50
  }
31
51
  /** The machine-readable roll-up written as `verdict.json`. */
32
52
  export declare function baselineSummary(report: ParityReport, outDir: string, meta?: BaselineMeta): BaselineSummary;
53
+ /** The JSON Schema (draft-07) for `verdict.json`, as a plain object. */
54
+ export declare const verdictSchema: {
55
+ $schema: string;
56
+ $id: string;
57
+ title: string;
58
+ description: string;
59
+ "x-design-parity": {
60
+ kind: string;
61
+ formatVersion: number;
62
+ tsType: string;
63
+ tsConst: string;
64
+ alignedWith: string;
65
+ };
66
+ type: string;
67
+ required: string[];
68
+ additionalProperties: boolean;
69
+ properties: {
70
+ $schema: {
71
+ type: string;
72
+ };
73
+ formatVersion: {
74
+ type: string;
75
+ minimum: number;
76
+ description: string;
77
+ };
78
+ generatedAt: {
79
+ type: string;
80
+ format: string;
81
+ description: string;
82
+ };
83
+ commit: {
84
+ type: string;
85
+ description: string;
86
+ };
87
+ direction: {
88
+ type: string;
89
+ enum: string[];
90
+ description: string;
91
+ };
92
+ status: {
93
+ type: string;
94
+ enum: string[];
95
+ description: string;
96
+ };
97
+ blocked: {
98
+ type: string;
99
+ description: string;
100
+ };
101
+ components: {
102
+ type: string;
103
+ items: {
104
+ $ref: string;
105
+ };
106
+ };
107
+ warnings: {
108
+ type: string;
109
+ items: {
110
+ type: string;
111
+ };
112
+ description: string;
113
+ };
114
+ };
115
+ definitions: {
116
+ component: {
117
+ type: string;
118
+ required: string[];
119
+ additionalProperties: boolean;
120
+ description: string;
121
+ properties: {
122
+ code: {
123
+ type: string;
124
+ description: string;
125
+ };
126
+ source: {
127
+ type: string;
128
+ description: string;
129
+ };
130
+ status: {
131
+ type: string;
132
+ enum: string[];
133
+ description: string;
134
+ };
135
+ verdict: {
136
+ type: string;
137
+ enum: string[];
138
+ description: string;
139
+ };
140
+ findings: {
141
+ type: string;
142
+ minimum: number;
143
+ description: string;
144
+ };
145
+ report: {
146
+ type: string;
147
+ description: string;
148
+ };
149
+ note: {
150
+ type: string;
151
+ description: string;
152
+ };
153
+ };
154
+ };
155
+ };
156
+ };
157
+ /** Absolute path to the bundled schema file (useful for `$schema` refs). */
158
+ export declare const verdictSchemaPath: string;
159
+ export interface VerdictValidationResult {
160
+ valid: boolean;
161
+ /** Human-readable errors, empty when valid. */
162
+ errors: string[];
163
+ }
164
+ /** Validate an already-parsed value against the published verdict schema. */
165
+ export declare function validateVerdict(value: unknown): VerdictValidationResult;
33
166
  /** The self-contained `index.html` landing page. */
34
167
  export declare function renderBaselineIndex(summary: BaselineSummary): string;
35
168
  export interface BaselineArtifacts {
@@ -1 +1 @@
1
- {"version":3,"file":"baseline.d.ts","sourceRoot":"","sources":["../src/baseline.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAQtE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IAClC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IACrC,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAOD,8DAA8D;AAC9D,wBAAgB,eAAe,CAC7B,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,YAAiB,GACtB,eAAe,CAsBjB;AAUD,oDAAoD;AACpD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CA4DpE;AAED,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,eAAe,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,IAAI,GAAE,YAAiB,GACtB,OAAO,CAAC,iBAAiB,CAAC,CAM5B"}
1
+ {"version":3,"file":"baseline.d.ts","sourceRoot":"","sources":["../src/baseline.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAWtE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAYxC,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IAClC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IACrC,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAOD,8DAA8D;AAC9D,wBAAgB,eAAe,CAC7B,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,YAAiB,GACtB,eAAe,CAwBjB;AAED,wEAAwE;AACxE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAS,CAAC;AAEpC,4EAA4E;AAC5E,eAAO,MAAM,iBAAiB,QAE7B,CAAC;AAWF,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,OAAO,CAAC;IACf,+CAA+C;IAC/C,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,6EAA6E;AAC7E,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,uBAAuB,CAOvE;AAUD,oDAAoD;AACpD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CA4DpE;AAED,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,eAAe,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,IAAI,GAAE,YAAiB,GACtB,OAAO,CAAC,iBAAiB,CAAC,CAM5B"}
package/dist/baseline.js CHANGED
@@ -16,7 +16,26 @@
16
16
  * {@link writeBaselineArtifacts} touches disk.
17
17
  */
18
18
  import { mkdir, writeFile } from "node:fs/promises";
19
+ import { fileURLToPath } from "node:url";
19
20
  import { join, relative } from "node:path";
21
+ import AjvModule, {} from "ajv";
22
+ import schema from "../schema/verdict.schema.json" with { type: "json" };
23
+ const Ajv = (AjvModule.default ??
24
+ AjvModule);
25
+ /**
26
+ * The `verdict.json` layout version. Bumped only on an **incompatible** change
27
+ * to {@link BaselineSummary} (a renamed/removed field, a changed type, a
28
+ * tightened required set); additive optional fields do not bump it, so a reader
29
+ * must ignore unknown fields. A PR run loads a baseline written by `main` and
30
+ * checks this against the version it understands before diffing against it —
31
+ * without it the on-branch history can't evolve safely as it accumulates.
32
+ *
33
+ * Mirrors the `formatVersion` the compose-ai-tools reporting-branch
34
+ * `manifest.json` carries (compose-ai-tools#1866); see `docs/report-format.md`.
35
+ */
36
+ export const VERDICT_FORMAT_VERSION = 1;
37
+ /** Public URL of the published verdict schema, emitted as `$schema`. */
38
+ const VERDICT_SCHEMA_REF = "https://github.com/yschimke/design-parity/schema/verdict.schema.json";
20
39
  const STATUS_ICON = {
21
40
  pass: "✅",
22
41
  warn: "⚠️",
@@ -41,6 +60,8 @@ export function baselineSummary(report, outDir, meta = {}) {
41
60
  };
42
61
  });
43
62
  return {
63
+ $schema: VERDICT_SCHEMA_REF,
64
+ formatVersion: VERDICT_FORMAT_VERSION,
44
65
  generatedAt: (meta.now ?? new Date()).toISOString(),
45
66
  ...(meta.commit ? { commit: meta.commit } : {}),
46
67
  direction: report.direction,
@@ -50,6 +71,25 @@ export function baselineSummary(report, outDir, meta = {}) {
50
71
  warnings: report.warnings,
51
72
  };
52
73
  }
74
+ /** The JSON Schema (draft-07) for `verdict.json`, as a plain object. */
75
+ export const verdictSchema = schema;
76
+ /** Absolute path to the bundled schema file (useful for `$schema` refs). */
77
+ export const verdictSchemaPath = fileURLToPath(new URL("../schema/verdict.schema.json", import.meta.url));
78
+ // `validateFormats: false` keeps the published `format: "date-time"` annotation
79
+ // in the schema for tools that honour it, without pulling in `ajv-formats`.
80
+ const ajv = new Ajv({ allErrors: true, validateFormats: false });
81
+ // `x-design-parity` is a documentation annotation (kind/formatVersion/source
82
+ // metadata), not a constraint; register it so ajv's strict mode keeps it.
83
+ ajv.addKeyword({ keyword: "x-design-parity", metaSchema: { type: "object" } });
84
+ const validateFn = ajv.compile(schema);
85
+ /** Validate an already-parsed value against the published verdict schema. */
86
+ export function validateVerdict(value) {
87
+ const valid = validateFn(value);
88
+ if (valid)
89
+ return { valid: true, errors: [] };
90
+ const errors = (validateFn.errors ?? []).map((e) => `${e.instancePath || "/"} ${e.message ?? "is invalid"}`);
91
+ return { valid: false, errors };
92
+ }
53
93
  function escapeHtml(text) {
54
94
  return text
55
95
  .replace(/&/g, "&amp;")
@@ -1 +1 @@
1
- {"version":3,"file":"baseline.js","sourceRoot":"","sources":["../src/baseline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseline.js","sourceRoot":"","sources":["../src/baseline.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"candidate.d.ts","sourceRoot":"","sources":["../src/candidate.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAEV,eAAe,EACf,SAAS,EACV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAIL,KAAK,eAAe,EAErB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,QAAQ,CAAC,eAAe,CAAC,GACpC,eAAe,CASjB;AAED,+EAA+E;AAC/E,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,eAAe,CAAC,CAK1B;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,MAAM,EAAE,CAAC,CAenB;AAED,kEAAkE;AAClE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,eAAe,GAAG,iBAAiB,CAG7E;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,8EAA8E;AAC9E,MAAM,WAAW,sBAAsB;IACrC,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,sBAAsB,CAAC,CAwCjC"}
1
+ {"version":3,"file":"candidate.d.ts","sourceRoot":"","sources":["../src/candidate.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAEV,eAAe,EACf,SAAS,EACV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAIL,KAAK,eAAe,EAErB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,QAAQ,CAAC,eAAe,CAAC,GACpC,eAAe,CASjB;AAED,+EAA+E;AAC/E,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,eAAe,CAAC,CAK1B;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,MAAM,EAAE,CAAC,CAenB;AAED,kEAAkE;AAClE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,eAAe,GAAG,iBAAiB,CAG7E;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,8EAA8E;AAC9E,MAAM,WAAW,sBAAsB;IACrC,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,sBAAsB,CAAC,CAiDjC"}
package/dist/candidate.js CHANGED
@@ -94,7 +94,17 @@ export async function buildCandidateProvider(options) {
94
94
  warnings.push(...mapWarnings);
95
95
  sources.push(bundleCandidateSource({
96
96
  bundles,
97
- resolveComponentId: (preview) => matches.get(preview.id)?.code,
97
+ // Carry any variant slot the explicit `previewId` link tagged (issue
98
+ // #111) so the bundle re-tags the preview's image(s) onto it; a plain
99
+ // (untagged) match resolves to the bare code handle as before (#44).
100
+ resolveComponentId: (preview) => {
101
+ const match = matches.get(preview.id);
102
+ if (!match)
103
+ return undefined;
104
+ return match.variant
105
+ ? { code: match.code, variant: match.variant }
106
+ : match.code;
107
+ },
98
108
  }));
99
109
  }
100
110
  }
@@ -1 +1 @@
1
- {"version":3,"file":"candidate.js","sourceRoot":"","sources":["../src/candidate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"candidate.js","sourceRoot":"","sources":["../src/candidate.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -23,8 +23,8 @@ export { runReverse } from "./reverse.js";
23
23
  export type { ReverseIO } from "./reverse.js";
24
24
  export { pushBack, decidePushBack } from "./pushback.js";
25
25
  export type { PushBackGate, PushBackOptions, PushBackReport, PushBackComponent, PushBackSkip, PushBackError, PushedImage, } from "./pushback.js";
26
- export { baselineSummary, renderBaselineIndex, writeBaselineArtifacts, } from "./baseline.js";
27
- export type { BaselineArtifacts, BaselineComponent, BaselineMeta, BaselineSummary, } from "./baseline.js";
26
+ export { baselineSummary, renderBaselineIndex, writeBaselineArtifacts, validateVerdict, verdictSchema, verdictSchemaPath, VERDICT_FORMAT_VERSION, } from "./baseline.js";
27
+ export type { BaselineArtifacts, BaselineComponent, BaselineMeta, BaselineSummary, VerdictValidationResult, } from "./baseline.js";
28
28
  export { postReport } from "./github/surface.js";
29
29
  export type { GitHubCommentClient, IssueComment, PostOutcome, } from "./github/surface.js";
30
30
  export { GitHubRest } from "./github/rest.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEtE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,YAAY,GACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,aAAa,EACb,aAAa,GACd,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACzD,YAAY,EACV,YAAY,EACZ,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,WAAW,GACZ,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,eAAe,GAChB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,YAAY,EACV,mBAAmB,EACnB,YAAY,EACZ,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EACL,yBAAyB,EACzB,UAAU,GACX,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACnE,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC/D,YAAY,EACV,SAAS,EACT,SAAS,EACT,cAAc,EACd,aAAa,GACd,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEtE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,YAAY,GACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,aAAa,EACb,aAAa,GACd,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACzD,YAAY,EACV,YAAY,EACZ,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,WAAW,GACZ,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,YAAY,EACV,mBAAmB,EACnB,YAAY,EACZ,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EACL,yBAAyB,EACzB,UAAU,GACX,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACnE,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC/D,YAAY,EACV,SAAS,EACT,SAAS,EACT,cAAc,EACd,aAAa,GACd,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -15,7 +15,7 @@ export { renderReport, renderBootstrapNotice, REPORT_MARKER, CMP_PROMOTION, } fr
15
15
  export { selectMode } from "./mode.js";
16
16
  export { runReverse } from "./reverse.js";
17
17
  export { pushBack, decidePushBack } from "./pushback.js";
18
- export { baselineSummary, renderBaselineIndex, writeBaselineArtifacts, } from "./baseline.js";
18
+ export { baselineSummary, renderBaselineIndex, writeBaselineArtifacts, validateVerdict, verdictSchema, verdictSchemaPath, VERDICT_FORMAT_VERSION, } from "./baseline.js";
19
19
  // GitHub surface
20
20
  export { postReport } from "./github/surface.js";
21
21
  export { GitHubRest } from "./github/rest.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAS/C,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,aAAa,EACb,aAAa,GACd,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAWzD,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,eAAe,CAAC;AAQvB,iBAAiB;AACjB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAMjD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EACL,yBAAyB,EACzB,UAAU,GACX,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAS/C,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,aAAa,EACb,aAAa,GACd,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAWzD,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,eAAe,CAAC;AASvB,iBAAiB;AACjB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAMjD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EACL,yBAAyB,EACzB,UAAU,GACX,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@design-parity/action",
3
- "version": "0.1.11",
3
+ "version": "0.1.13",
4
4
  "description": "Integration layer: wires resolver, adapters, candidate, checks, diff, and policy into a parity run, and surfaces the verdict (CLI now; GitHub Action surface to follow).",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -9,27 +9,30 @@
9
9
  "exports": {
10
10
  ".": "./dist/index.js",
11
11
  "./run": "./dist/cli/run.js",
12
- "./reverse": "./dist/cli/reverse.js"
12
+ "./reverse": "./dist/cli/reverse.js",
13
+ "./schema/verdict.schema.json": "./schema/verdict.schema.json"
13
14
  },
14
15
  "files": [
15
- "dist"
16
+ "dist",
17
+ "schema"
16
18
  ],
17
19
  "scripts": {
18
20
  "build": "tsc --build",
19
21
  "test": "vitest run"
20
22
  },
21
23
  "dependencies": {
22
- "@design-parity/core": "^0.1.11",
23
- "@design-parity/resolver": "^0.1.11",
24
- "@design-parity/policy": "^0.1.11",
25
- "@design-parity/diff": "^0.1.11",
26
- "@design-parity/report-html": "^0.1.11",
27
- "@design-parity/checks": "^0.1.11",
28
- "@design-parity/candidate": "^0.1.11",
29
- "@design-parity/adapter-figma": "^0.1.11",
30
- "@design-parity/adapter-stitch": "^0.1.11",
31
- "@design-parity/adapter-claude-design": "^0.1.11",
32
- "@design-parity/adapter-bundle": "^0.1.11"
24
+ "ajv": "^8.17.1",
25
+ "@design-parity/core": "^0.1.13",
26
+ "@design-parity/resolver": "^0.1.13",
27
+ "@design-parity/policy": "^0.1.13",
28
+ "@design-parity/diff": "^0.1.13",
29
+ "@design-parity/report-html": "^0.1.13",
30
+ "@design-parity/checks": "^0.1.13",
31
+ "@design-parity/candidate": "^0.1.13",
32
+ "@design-parity/adapter-figma": "^0.1.13",
33
+ "@design-parity/adapter-stitch": "^0.1.13",
34
+ "@design-parity/adapter-claude-design": "^0.1.13",
35
+ "@design-parity/adapter-bundle": "^0.1.13"
33
36
  },
34
37
  "repository": {
35
38
  "type": "git",
@@ -0,0 +1,97 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://github.com/yschimke/design-parity/schema/verdict.schema.json",
4
+ "title": "verdict",
5
+ "description": "The machine-readable parity roll-up published as `verdict.json` to the permanent artifact branch (default `design-parity/main`). One per run; the PR run loads it as the baseline to diff its candidate against `main`. Source of truth is the `BaselineSummary` TypeScript interface in `packages/action/src/baseline.ts`. Aligned with the compose-ai-tools reporting-branch contract (compose-ai-tools#1866); see `docs/report-format.md`.",
6
+ "x-design-parity": {
7
+ "kind": "design-parity/verdict",
8
+ "formatVersion": 1,
9
+ "tsType": "BaselineSummary",
10
+ "tsConst": "VERDICT_FORMAT_VERSION",
11
+ "alignedWith": "compose-ai-tools reporting-branch manifest.json (formatVersion) + data-product envelope (schemaVersion)"
12
+ },
13
+ "type": "object",
14
+ "required": ["formatVersion", "generatedAt", "direction", "status", "blocked", "components", "warnings"],
15
+ "additionalProperties": false,
16
+ "properties": {
17
+ "$schema": { "type": "string" },
18
+ "formatVersion": {
19
+ "type": "integer",
20
+ "minimum": 1,
21
+ "description": "Versions the verdict.json layout. Bumped only on an incompatible change (a renamed/removed field, a changed type, a tightened `required`); additive optional fields do not bump it, so consumers must ignore unknown fields. Mirrors the `formatVersion` the compose-ai-tools reporting-branch `manifest.json` carries."
22
+ },
23
+ "generatedAt": {
24
+ "type": "string",
25
+ "format": "date-time",
26
+ "description": "ISO timestamp the baseline was assembled."
27
+ },
28
+ "commit": {
29
+ "type": "string",
30
+ "description": "The source commit the baseline was rendered from, when known (`GITHUB_SHA`)."
31
+ },
32
+ "direction": {
33
+ "type": "string",
34
+ "enum": ["design-led", "code-led"],
35
+ "description": "Which side was authoritative for this run (resolved; never `auto` here)."
36
+ },
37
+ "status": {
38
+ "type": "string",
39
+ "enum": ["pass", "warn", "fail"],
40
+ "description": "Worst verdict status across components (errors do not escalate it)."
41
+ },
42
+ "blocked": {
43
+ "type": "boolean",
44
+ "description": "True only when the direction blocks PRs and at least one verdict failed."
45
+ },
46
+ "components": {
47
+ "type": "array",
48
+ "items": { "$ref": "#/definitions/component" }
49
+ },
50
+ "warnings": {
51
+ "type": "array",
52
+ "items": { "type": "string" },
53
+ "description": "Run-level warnings (unresolved components, fail-soft errors) that did not escalate `status`."
54
+ }
55
+ },
56
+ "definitions": {
57
+ "component": {
58
+ "type": "object",
59
+ "required": ["code", "status"],
60
+ "additionalProperties": false,
61
+ "description": "One component's roll-up entry. Carries the verdict status and finding count, not the full Finding objects — those live in the component's `report.html`. The finding/verdict vocabulary is documented in `docs/report-format.md`.",
62
+ "properties": {
63
+ "code": {
64
+ "type": "string",
65
+ "description": "Code handle, e.g. `ui/Button.kt#PrimaryButton`."
66
+ },
67
+ "source": {
68
+ "type": "string",
69
+ "description": "Design source the reference came from (`figma`, `stitch`, `claude-design`, `bundle`)."
70
+ },
71
+ "status": {
72
+ "type": "string",
73
+ "enum": ["ok", "skipped", "error"],
74
+ "description": "Whether the component produced a verdict (`ok`), had no candidate/reference (`skipped`), or failed soft (`error`)."
75
+ },
76
+ "verdict": {
77
+ "type": "string",
78
+ "enum": ["pass", "warn", "fail"],
79
+ "description": "The component's verdict status; present only when `status` is `ok`."
80
+ },
81
+ "findings": {
82
+ "type": "integer",
83
+ "minimum": 0,
84
+ "description": "Count of findings the verdict produced; present only when a verdict was produced."
85
+ },
86
+ "report": {
87
+ "type": "string",
88
+ "description": "Path to the component's `report.html`, relative to the artifact root."
89
+ },
90
+ "note": {
91
+ "type": "string",
92
+ "description": "Human-readable detail, e.g. why a component was skipped."
93
+ }
94
+ }
95
+ }
96
+ }
97
+ }