@tangle-network/browser-agent-driver 0.31.0 → 0.32.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 (104) hide show
  1. package/dist/brain/index.d.ts +12 -0
  2. package/dist/brain/index.d.ts.map +1 -1
  3. package/dist/brain/index.js +36 -8
  4. package/dist/brain/index.js.map +1 -1
  5. package/dist/cli-design-audit.d.ts.map +1 -1
  6. package/dist/cli-design-audit.js +8 -18
  7. package/dist/cli-design-audit.js.map +1 -1
  8. package/dist/cli-jobs.js +4 -13
  9. package/dist/cli-jobs.js.map +1 -1
  10. package/dist/cli-patterns.d.ts +1 -1
  11. package/dist/cli-patterns.d.ts.map +1 -1
  12. package/dist/design/audit/attribution/types.d.ts +3 -3
  13. package/dist/design/audit/attribution/types.d.ts.map +1 -1
  14. package/dist/design/audit/attribution/types.js +2 -2
  15. package/dist/design/audit/build-result.d.ts +68 -0
  16. package/dist/design/audit/build-result.d.ts.map +1 -0
  17. package/dist/design/audit/build-result.js +243 -0
  18. package/dist/design/audit/build-result.js.map +1 -0
  19. package/dist/design/audit/classify-ensemble.d.ts +1 -1
  20. package/dist/design/audit/classify-ensemble.d.ts.map +1 -1
  21. package/dist/design/audit/ethics/check.d.ts +2 -2
  22. package/dist/design/audit/ethics/check.d.ts.map +1 -1
  23. package/dist/design/audit/ethics/check.js +1 -1
  24. package/dist/design/audit/ethics/loader.d.ts +1 -1
  25. package/dist/design/audit/ethics/loader.d.ts.map +1 -1
  26. package/dist/design/audit/evaluate.js +1 -1
  27. package/dist/design/audit/evaluate.js.map +1 -1
  28. package/dist/design/audit/first-principles-mode.d.ts +1 -1
  29. package/dist/design/audit/first-principles-mode.d.ts.map +1 -1
  30. package/dist/design/audit/modality/android.d.ts +1 -1
  31. package/dist/design/audit/modality/android.d.ts.map +1 -1
  32. package/dist/design/audit/modality/html.d.ts +1 -1
  33. package/dist/design/audit/modality/html.d.ts.map +1 -1
  34. package/dist/design/audit/modality/ios.d.ts +1 -1
  35. package/dist/design/audit/modality/ios.d.ts.map +1 -1
  36. package/dist/design/audit/modality/types.d.ts +2 -2
  37. package/dist/design/audit/modality/types.d.ts.map +1 -1
  38. package/dist/design/audit/modality/types.js +1 -1
  39. package/dist/design/audit/patches/generate.d.ts +45 -0
  40. package/dist/design/audit/patches/generate.d.ts.map +1 -0
  41. package/dist/design/audit/patches/generate.js +161 -0
  42. package/dist/design/audit/patches/generate.js.map +1 -0
  43. package/dist/design/audit/patches/parse.d.ts +1 -1
  44. package/dist/design/audit/patches/parse.d.ts.map +1 -1
  45. package/dist/design/audit/patches/render.d.ts +1 -1
  46. package/dist/design/audit/patches/render.d.ts.map +1 -1
  47. package/dist/design/audit/patches/severity-enforcement.d.ts +1 -1
  48. package/dist/design/audit/patches/severity-enforcement.d.ts.map +1 -1
  49. package/dist/design/audit/patches/validate.d.ts +7 -1
  50. package/dist/design/audit/patches/validate.d.ts.map +1 -1
  51. package/dist/design/audit/patches/validate.js +8 -1
  52. package/dist/design/audit/patches/validate.js.map +1 -1
  53. package/dist/design/audit/patterns/match.d.ts +1 -1
  54. package/dist/design/audit/patterns/match.d.ts.map +1 -1
  55. package/dist/design/audit/patterns/types.d.ts +2 -2
  56. package/dist/design/audit/patterns/types.d.ts.map +1 -1
  57. package/dist/design/audit/pipeline.d.ts +1 -1
  58. package/dist/design/audit/pipeline.d.ts.map +1 -1
  59. package/dist/design/audit/pipeline.js +41 -27
  60. package/dist/design/audit/pipeline.js.map +1 -1
  61. package/dist/design/audit/rubric/loader.d.ts +1 -1
  62. package/dist/design/audit/rubric/loader.d.ts.map +1 -1
  63. package/dist/design/audit/rubric/rollup-weights.d.ts +1 -1
  64. package/dist/design/audit/rubric/rollup-weights.d.ts.map +1 -1
  65. package/dist/design/audit/{v2/types.d.ts → score-types.d.ts} +10 -10
  66. package/dist/design/audit/score-types.d.ts.map +1 -0
  67. package/dist/design/audit/{v2/types.js → score-types.js} +2 -2
  68. package/dist/design/audit/score-types.js.map +1 -0
  69. package/dist/design/audit/{v2/score.d.ts → score.d.ts} +9 -9
  70. package/dist/design/audit/score.d.ts.map +1 -0
  71. package/dist/design/audit/{v2/score.js → score.js} +17 -17
  72. package/dist/design/audit/score.js.map +1 -0
  73. package/dist/design/audit/types.d.ts +7 -7
  74. package/dist/design/audit/types.d.ts.map +1 -1
  75. package/dist/jobs/anti-bot.js +1 -1
  76. package/dist/jobs/anti-bot.js.map +1 -1
  77. package/dist/jobs/types.d.ts +1 -1
  78. package/dist/jobs/types.d.ts.map +1 -1
  79. package/dist/reports/aggregate.js +6 -6
  80. package/dist/reports/aggregate.js.map +1 -1
  81. package/dist/reports/tokens.d.ts +0 -8
  82. package/dist/reports/tokens.d.ts.map +1 -1
  83. package/dist/reports/tokens.js +1 -15
  84. package/dist/reports/tokens.js.map +1 -1
  85. package/dist/reports/types.d.ts +2 -2
  86. package/dist/reports/types.d.ts.map +1 -1
  87. package/dist/run-state.d.ts +36 -1
  88. package/dist/run-state.d.ts.map +1 -1
  89. package/dist/run-state.js +36 -1
  90. package/dist/run-state.js.map +1 -1
  91. package/dist/runner/runner.d.ts.map +1 -1
  92. package/dist/runner/runner.js +73 -3
  93. package/dist/runner/runner.js.map +1 -1
  94. package/dist/types.d.ts +7 -0
  95. package/dist/types.d.ts.map +1 -1
  96. package/package.json +4 -1
  97. package/dist/design/audit/v2/build-result.d.ts +0 -47
  98. package/dist/design/audit/v2/build-result.d.ts.map +0 -1
  99. package/dist/design/audit/v2/build-result.js +0 -163
  100. package/dist/design/audit/v2/build-result.js.map +0 -1
  101. package/dist/design/audit/v2/score.d.ts.map +0 -1
  102. package/dist/design/audit/v2/score.js.map +0 -1
  103. package/dist/design/audit/v2/types.d.ts.map +0 -1
  104. package/dist/design/audit/v2/types.js.map +0 -1
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Patch generator — Layer 2's second LLM call.
3
+ *
4
+ * The findings prompt (evaluate.ts) stays slim and focused on scoring +
5
+ * findings. After findings exist, this module makes a SECOND LLM call given
6
+ * those major/critical findings and asks for one Patch per finding. The
7
+ * second-call shape is intentionally narrow: only the patch contract +
8
+ * ground-truth snapshot, nothing else. That keeps each call's cognitive load
9
+ * low and lets us measure them independently.
10
+ *
11
+ * Flow:
12
+ * 1. Filter findings to severity ∈ {major, critical}.
13
+ * 2. Build a focused prompt (snapshot + JSON of those findings).
14
+ * 3. Call the LLM, parse + validate the response, attach valid patches
15
+ * back to their findings by id.
16
+ *
17
+ * On any failure: return findings unchanged. Layer 2 enforcement (downgrade
18
+ * major/critical without a valid patch) runs after this in build-result.ts,
19
+ * so a failed generator → graceful degradation, not a broken pipeline.
20
+ */
21
+ import type { Brain } from '../../../brain/index.js';
22
+ import type { DesignFinding } from '../score-types.js';
23
+ export interface GeneratePatchesOptions {
24
+ brain: Brain;
25
+ /** Page snapshot (accessibility tree). */
26
+ snapshot: string;
27
+ /** Findings from the first LLM call. Only major/critical get patches. */
28
+ findings: DesignFinding[];
29
+ /** Hard cap on the number of findings to send to the LLM. Default 8 — top
30
+ * major/critical by ROI; cheaper to skip stragglers than blow the prompt. */
31
+ maxFindings?: number;
32
+ }
33
+ export interface GeneratePatchesResult {
34
+ /** Findings with `rawPatches` populated for those that got a patch back. */
35
+ findings: DesignFinding[];
36
+ /** LLM tokens consumed by the patch call. */
37
+ tokensUsed: number;
38
+ /** Per-finding diagnostics for telemetry / debugging. */
39
+ notes: Array<{
40
+ findingId: string;
41
+ reason: string;
42
+ }>;
43
+ }
44
+ export declare function generatePatches(opts: GeneratePatchesOptions): Promise<GeneratePatchesResult>;
45
+ //# sourceMappingURL=generate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../../src/design/audit/patches/generate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAMtD,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,KAAK,CAAA;IACZ,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAA;IAChB,yEAAyE;IACzE,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB;kFAC8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,4EAA4E;IAC5E,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAA;IAClB,yDAAyD;IACzD,KAAK,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACpD;AAID,wBAAsB,eAAe,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAmDlG"}
@@ -0,0 +1,161 @@
1
+ /**
2
+ * Patch generator — Layer 2's second LLM call.
3
+ *
4
+ * The findings prompt (evaluate.ts) stays slim and focused on scoring +
5
+ * findings. After findings exist, this module makes a SECOND LLM call given
6
+ * those major/critical findings and asks for one Patch per finding. The
7
+ * second-call shape is intentionally narrow: only the patch contract +
8
+ * ground-truth snapshot, nothing else. That keeps each call's cognitive load
9
+ * low and lets us measure them independently.
10
+ *
11
+ * Flow:
12
+ * 1. Filter findings to severity ∈ {major, critical}.
13
+ * 2. Build a focused prompt (snapshot + JSON of those findings).
14
+ * 3. Call the LLM, parse + validate the response, attach valid patches
15
+ * back to their findings by id.
16
+ *
17
+ * On any failure: return findings unchanged. Layer 2 enforcement (downgrade
18
+ * major/critical without a valid patch) runs after this in build-result.ts,
19
+ * so a failed generator → graceful degradation, not a broken pipeline.
20
+ */
21
+ import { parsePatches } from './parse.js';
22
+ const SYSTEM_OPENER = 'You are a code-mod author. For each finding below, emit ONE Patch the agent can apply literally. Patches that target HTML or page structure must reference verbatim text in the snapshot. Patches that target source files (CSS/TSX/Tailwind) reference selectors only — the agent verifies them at apply-time against the source.';
23
+ const DEFAULT_MAX = 8;
24
+ export async function generatePatches(opts) {
25
+ const max = opts.maxFindings ?? DEFAULT_MAX;
26
+ const eligible = opts.findings
27
+ .filter(f => f.severity === 'major' || f.severity === 'critical')
28
+ .slice(0, max);
29
+ if (eligible.length === 0) {
30
+ return { findings: opts.findings, tokensUsed: 0, notes: [] };
31
+ }
32
+ const prompt = buildPrompt(opts.snapshot, eligible);
33
+ let raw = '';
34
+ let tokensUsed = 0;
35
+ try {
36
+ const llm = await opts.brain.complete(SYSTEM_OPENER, prompt, { maxOutputTokens: 2000 });
37
+ raw = llm.text ?? '';
38
+ tokensUsed = llm.tokensUsed ?? 0;
39
+ }
40
+ catch (err) {
41
+ return {
42
+ findings: opts.findings,
43
+ tokensUsed: 0,
44
+ notes: [{ findingId: '*', reason: `LLM call failed: ${err.message}` }],
45
+ };
46
+ }
47
+ const parsed = parseGeneratorResponse(raw);
48
+ const byFinding = new Map();
49
+ for (const item of parsed.items) {
50
+ if (item.findingId)
51
+ byFinding.set(item.findingId, item.patch);
52
+ }
53
+ const notes = [];
54
+ const updated = opts.findings.map(f => {
55
+ const patchRaw = byFinding.get(f.id);
56
+ if (!patchRaw) {
57
+ if (f.severity === 'major' || f.severity === 'critical') {
58
+ notes.push({ findingId: f.id, reason: 'no patch in generator response' });
59
+ }
60
+ return f;
61
+ }
62
+ // Stamp the canonical findingId onto the patch (LLM may have used a placeholder).
63
+ const stamped = withFindingId(patchRaw, f.id);
64
+ // Quick parse check so the build-result stage sees a sane shape.
65
+ const parsedOne = parsePatches([stamped]);
66
+ if (parsedOne.patches.length === 0) {
67
+ notes.push({ findingId: f.id, reason: `parse failed: ${parsedOne.errors[0]?.reason ?? 'unknown'}` });
68
+ return f;
69
+ }
70
+ return { ...f, rawPatches: [stamped] };
71
+ });
72
+ return { findings: updated, tokensUsed, notes };
73
+ }
74
+ function buildPrompt(snapshot, findings) {
75
+ // Trim the snapshot to keep the prompt cheap. The findings reference visible
76
+ // elements; trimming should not cost meaningful context.
77
+ const trimmedSnapshot = snapshot.length > 8000 ? snapshot.slice(0, 8000) + '\n…[truncated]' : snapshot;
78
+ const findingsBlock = findings.map(f => ({
79
+ id: f.id,
80
+ severity: f.severity,
81
+ description: f.description,
82
+ location: f.location,
83
+ cssSelector: f.cssSelector,
84
+ suggestion: f.suggestion,
85
+ }));
86
+ return `PAGE SNAPSHOT (accessibility-tree text):
87
+ ${trimmedSnapshot}
88
+
89
+ FINDINGS THAT NEED A PATCH (one per id):
90
+ ${JSON.stringify(findingsBlock, null, 2)}
91
+
92
+ For each finding above, emit ONE Patch object. Required shape:
93
+ {
94
+ "patchId": "p-<short-stable-id>",
95
+ "findingId": "<copy verbatim from the finding>",
96
+ "scope": "page" | "section" | "component" | "system",
97
+ "target": {
98
+ "scope": "css" | "tsx" | "jsx" | "tailwind" | "module-css" | "styled-component" | "html" | "structural",
99
+ "cssSelector": "...", // OR
100
+ "filePath": "...", // OR
101
+ "componentName": "..." // at least ONE must be set
102
+ },
103
+ "diff": {
104
+ "before": "<verbatim text the agent will search-replace>",
105
+ "after": "<replacement text>"
106
+ },
107
+ "testThatProves": { "kind": "rerun-audit" | "visual-snapshot" | "a11y-rule" | "storybook" | "unit" | "manual", "description": "..." },
108
+ "rollback": { "kind": "css-disable" | "git-revert" | "manual" },
109
+ "estimatedDelta": { "dim": "product_intent" | "visual_craft" | "trust_clarity" | "workflow" | "content_ia", "delta": -3..3 },
110
+ "estimatedDeltaConfidence": "high" | "medium" | "low" | "untested"
111
+ }
112
+
113
+ Snapshot-anchoring rule (READ CAREFULLY — most patch failures fail this):
114
+ - target.scope MUST be "css" by default. Use "html" or "structural" ONLY when you are paste-copying a literal substring from the SNAPSHOT BLOCK above (not from your imagination, not from typical-site assumptions).
115
+ - Before setting target.scope to "html", verify diff.before is a verbatim substring of the snapshot block above. If it isn't, change target.scope to "css".
116
+ - For css / tsx / jsx / tailwind / module-css / styled-component scopes, diff.before is a source-file fragment the agent resolves at apply-time; the audit does not validate it. This is the safe default.
117
+
118
+ If a finding does not admit a clean patch, OMIT it (do not invent diffs).
119
+
120
+ RESPOND WITH ONLY a JSON object:
121
+ {
122
+ "patches": [
123
+ { "findingId": "<id>", "patch": <the Patch object above> }
124
+ ]
125
+ }`;
126
+ }
127
+ function parseGeneratorResponse(raw) {
128
+ let text = raw.trim();
129
+ if (text.startsWith('```')) {
130
+ text = text.replace(/^```(?:json)?\n?/, '').replace(/\n?```$/, '');
131
+ }
132
+ const start = text.indexOf('{');
133
+ const end = text.lastIndexOf('}');
134
+ if (start < 0 || end <= start)
135
+ return { items: [] };
136
+ try {
137
+ const obj = JSON.parse(text.slice(start, end + 1));
138
+ if (!Array.isArray(obj.patches))
139
+ return { items: [] };
140
+ const items = [];
141
+ for (const p of obj.patches) {
142
+ if (!p || typeof p !== 'object')
143
+ continue;
144
+ const rec = p;
145
+ if (typeof rec.findingId !== 'string')
146
+ continue;
147
+ items.push({ findingId: rec.findingId, patch: rec.patch ?? p });
148
+ }
149
+ return { items };
150
+ }
151
+ catch {
152
+ return { items: [] };
153
+ }
154
+ }
155
+ function withFindingId(raw, findingId) {
156
+ if (raw && typeof raw === 'object') {
157
+ return { ...raw, findingId };
158
+ }
159
+ return raw;
160
+ }
161
+ //# sourceMappingURL=generate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../src/design/audit/patches/generate.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * rather than throwing — the calling pipeline batches many candidate patches
6
6
  * per audit and a single malformed entry must not abort the whole run.
7
7
  */
8
- import type { Patch } from '../v2/types.js';
8
+ import type { Patch } from '../score-types.js';
9
9
  export interface ParseResult {
10
10
  patch: Patch | null;
11
11
  reason?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../src/design/audit/patches/parse.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,KAAK,EAQN,MAAM,gBAAgB,CAAA;AAgBvB,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAwDD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW,CA+CpD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG;IAC1C,OAAO,EAAE,KAAK,EAAE,CAAA;IAChB,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACjD,CAYA"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../src/design/audit/patches/parse.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,KAAK,EAQN,MAAM,mBAAmB,CAAA;AAgB1B,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAwDD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW,CA+CpD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG;IAC1C,OAAO,EAAE,KAAK,EAAE,CAAA;IAChB,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACjD,CAYA"}
@@ -5,7 +5,7 @@
5
5
  * When filePath is unknown, returns null — the agent must use before/after for
6
6
  * search-replace instead.
7
7
  */
8
- import type { Patch } from '../v2/types.js';
8
+ import type { Patch } from '../score-types.js';
9
9
  /**
10
10
  * Render a minimal unified diff (1-hunk, 3 lines context) from a patch.
11
11
  * Returns null when:
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../../src/design/audit/patches/render.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAE3C;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAuB7D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAYvD"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../../src/design/audit/patches/render.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAE9C;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAuB7D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAYvD"}
@@ -4,7 +4,7 @@
4
4
  * Findings without patches are downgraded to `minor` with an explanatory note.
5
5
  * This runs as a post-processing step after patch validation.
6
6
  */
7
- import type { DesignFinding } from '../v2/types.js';
7
+ import type { DesignFinding } from '../score-types.js';
8
8
  export interface EnforcementRecord {
9
9
  findingId: string;
10
10
  fromSeverity: string;
@@ -1 +1 @@
1
- {"version":3,"file":"severity-enforcement.d.ts","sourceRoot":"","sources":["../../../../src/design/audit/patches/severity-enforcement.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAS,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAE1D,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,OAAO,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,UAAU,EAAE,iBAAiB,EAAE,CAAA;CAChC;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,aAAa,EAAE,EACzB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB,iBAAiB,CAkCnB"}
1
+ {"version":3,"file":"severity-enforcement.d.ts","sourceRoot":"","sources":["../../../../src/design/audit/patches/severity-enforcement.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAS,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAE7D,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,OAAO,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,UAAU,EAAE,iBAAiB,EAAE,CAAA;CAChC;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,aAAa,EAAE,EACzB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB,iBAAiB,CAkCnB"}
@@ -10,7 +10,7 @@
10
10
  * - `estimatedDelta.delta` must be in [-3, 3]. Larger claims are almost
11
11
  * always over-confident on a 1–10 scale.
12
12
  */
13
- import type { Patch } from '../v2/types.js';
13
+ import type { Patch } from '../score-types.js';
14
14
  export type ValidationReason = 'before-not-in-snapshot' | 'target-missing-locator' | 'estimated-delta-out-of-range' | 'before-empty';
15
15
  export interface ValidationResult {
16
16
  valid: boolean;
@@ -19,6 +19,12 @@ export interface ValidationResult {
19
19
  /**
20
20
  * Validate a single patch against a page snapshot. Reports all issues in one
21
21
  * pass so callers can surface every problem to the agent at once.
22
+ *
23
+ * Snapshot-anchoring rule: `diff.before` must appear verbatim in the page
24
+ * snapshot ONLY when the patch targets the snapshot itself — i.e. `target.scope`
25
+ * is `html` or `structural`. CSS / TSX / Tailwind patches modify source files
26
+ * the audit can't see, so the snapshot check would always fail for them. The
27
+ * agent verifies those patches at apply-time against the actual source file.
22
28
  */
23
29
  export declare function validatePatch(patch: Patch, snapshot: string): ValidationResult;
24
30
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../../src/design/audit/patches/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAE3C,MAAM,MAAM,gBAAgB,GACxB,wBAAwB,GACxB,wBAAwB,GACxB,8BAA8B,GAC9B,cAAc,CAAA;AAElB,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,gBAAgB,EAAE,CAAA;CAC5B;AAKD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAuB9E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,KAAK,EAAE,EAChB,QAAQ,EAAE,MAAM,GACf;IAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAAC,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,OAAO,EAAE,gBAAgB,EAAE,CAAA;KAAE,CAAC,CAAA;CAAE,CASnF"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../../src/design/audit/patches/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAE9C,MAAM,MAAM,gBAAgB,GACxB,wBAAwB,GACxB,wBAAwB,GACxB,8BAA8B,GAC9B,cAAc,CAAA;AAElB,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,gBAAgB,EAAE,CAAA;CAC5B;AAKD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAyB9E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,KAAK,EAAE,EAChB,QAAQ,EAAE,MAAM,GACf;IAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAAC,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,OAAO,EAAE,gBAAgB,EAAE,CAAA;KAAE,CAAC,CAAA;CAAE,CASnF"}
@@ -15,6 +15,12 @@ const DELTA_MAX = 3;
15
15
  /**
16
16
  * Validate a single patch against a page snapshot. Reports all issues in one
17
17
  * pass so callers can surface every problem to the agent at once.
18
+ *
19
+ * Snapshot-anchoring rule: `diff.before` must appear verbatim in the page
20
+ * snapshot ONLY when the patch targets the snapshot itself — i.e. `target.scope`
21
+ * is `html` or `structural`. CSS / TSX / Tailwind patches modify source files
22
+ * the audit can't see, so the snapshot check would always fail for them. The
23
+ * agent verifies those patches at apply-time against the actual source file.
18
24
  */
19
25
  export function validatePatch(patch, snapshot) {
20
26
  const reasons = [];
@@ -22,10 +28,11 @@ export function validatePatch(patch, snapshot) {
22
28
  if (!target.cssSelector && !target.filePath && !target.componentName) {
23
29
  reasons.push('target-missing-locator');
24
30
  }
31
+ const requiresSnapshotMatch = target.scope === 'html' || target.scope === 'structural';
25
32
  if (diff.before.length === 0) {
26
33
  reasons.push('before-empty');
27
34
  }
28
- else if (!snapshot.includes(diff.before)) {
35
+ else if (requiresSnapshotMatch && !snapshot.includes(diff.before)) {
29
36
  reasons.push('before-not-in-snapshot');
30
37
  }
31
38
  if (estimatedDelta.delta < DELTA_MIN ||
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../src/design/audit/patches/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAeH,MAAM,SAAS,GAAG,CAAC,CAAC,CAAA;AACpB,MAAM,SAAS,GAAG,CAAC,CAAA;AAEnB;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,KAAY,EAAE,QAAgB;IAC1D,MAAM,OAAO,GAAuB,EAAE,CAAA;IACtC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,KAAK,CAAA;IAE9C,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;IACxC,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC9B,CAAC;SAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;IACxC,CAAC;IAED,IACE,cAAc,CAAC,KAAK,GAAG,SAAS;QAChC,cAAc,CAAC,KAAK,GAAG,SAAS;QAChC,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,EACtC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;IAC9C,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,CAAA;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAgB,EAChB,QAAgB;IAEhB,MAAM,KAAK,GAAY,EAAE,CAAA;IACzB,MAAM,OAAO,GAAyD,EAAE,CAAA;IACxE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAC7C,IAAI,MAAM,CAAC,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;;YAC9B,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;IACvD,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;AAC3B,CAAC"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../src/design/audit/patches/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAeH,MAAM,SAAS,GAAG,CAAC,CAAC,CAAA;AACpB,MAAM,SAAS,GAAG,CAAC,CAAA;AAEnB;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,KAAY,EAAE,QAAgB;IAC1D,MAAM,OAAO,GAAuB,EAAE,CAAA;IACtC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,KAAK,CAAA;IAE9C,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;IACxC,CAAC;IAED,MAAM,qBAAqB,GAAG,MAAM,CAAC,KAAK,KAAK,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,YAAY,CAAA;IAEtF,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC9B,CAAC;SAAM,IAAI,qBAAqB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACpE,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;IACxC,CAAC;IAED,IACE,cAAc,CAAC,KAAK,GAAG,SAAS;QAChC,cAAc,CAAC,KAAK,GAAG,SAAS;QAChC,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,EACtC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;IAC9C,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,CAAA;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAgB,EAChB,QAAgB;IAEhB,MAAM,KAAK,GAAY,EAAE,CAAA;IACzB,MAAM,OAAO,GAAyD,EAAE,CAAA;IACxE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAC7C,IAAI,MAAM,CAAC,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;;YAC9B,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;IACvD,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;AAC3B,CAAC"}
@@ -8,7 +8,7 @@
8
8
  * Currently returns [] (cold-start). The interface is stable.
9
9
  */
10
10
  import type { PatternMatch } from './types.js';
11
- import type { PageType, Dimension } from '../v2/types.js';
11
+ import type { PageType, Dimension } from '../score-types.js';
12
12
  export interface MatchContext {
13
13
  pageType: PageType;
14
14
  weakDimensions: Dimension[];
@@ -1 +1 @@
1
- {"version":3,"file":"match.d.ts","sourceRoot":"","sources":["../../../../src/design/audit/patterns/match.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAW,YAAY,EAAgB,MAAM,YAAY,CAAA;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAGzD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,QAAQ,CAAA;IAClB,cAAc,EAAE,SAAS,EAAE,CAAA;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,YAAY,EACjB,IAAI,GAAE,MAAU,GACf,OAAO,CAAC,YAAY,EAAE,CAAC,CA+BzB"}
1
+ {"version":3,"file":"match.d.ts","sourceRoot":"","sources":["../../../../src/design/audit/patterns/match.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAW,YAAY,EAAgB,MAAM,YAAY,CAAA;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAG5D,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,QAAQ,CAAA;IAClB,cAAc,EAAE,SAAS,EAAE,CAAA;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,YAAY,EACjB,IAAI,GAAE,MAAU,GACf,OAAO,CAAC,YAAY,EAAE,CAAC,CA+BzB"}
@@ -9,8 +9,8 @@
9
9
  * The mining and matching implementations are scaffolded; real clustering runs
10
10
  * as a Cloudflare Worker cron once the attribution data accumulates.
11
11
  */
12
- export type { PageType, Dimension } from '../v2/types.js';
13
- import type { PageType, Dimension } from '../v2/types.js';
12
+ export type { PageType, Dimension } from '../score-types.js';
13
+ import type { PageType, Dimension } from '../score-types.js';
14
14
  export interface PatternScaffold {
15
15
  description: string;
16
16
  referenceTsx?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/design/audit/patterns/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAEzD,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,EAAE,CAAA;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IACzC,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;IAClD,QAAQ,EAAE,eAAe,CAAA;IACzB,MAAM,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;KAAE,CAAA;IACnD,aAAa,EAAE,oBAAoB,CAAA;IACnC,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,aAAa,CAAC,EAAE,SAAS,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IACxC,mBAAmB,EAAE,MAAM,CAAA;CAC5B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/design/audit/patterns/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE5D,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,EAAE,CAAA;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IACzC,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;IAClD,QAAQ,EAAE,eAAe,CAAA;IACzB,MAAM,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;KAAE,CAAA;IACnD,aAAa,EAAE,oBAAoB,CAAA;IACnC,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,aAAa,CAAC,EAAE,SAAS,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IACxC,mBAAmB,EAAE,MAAM,CAAA;CAC5B"}
@@ -11,7 +11,7 @@ import type { Brain } from '../../brain/index.js';
11
11
  import { PlaywrightDriver } from '../../drivers/playwright.js';
12
12
  import { type AuditPassId, type AuditOverrides } from './evaluate.js';
13
13
  import type { PageAuditResult } from './types.js';
14
- import type { AudienceTag, ModalityTag, RegulatoryContextTag, AudienceVulnerabilityTag } from './v2/types.js';
14
+ import type { AudienceTag, ModalityTag, RegulatoryContextTag, AudienceVulnerabilityTag } from './score-types.js';
15
15
  export interface AuditOnePageOptions {
16
16
  brain: Brain;
17
17
  driver: PlaywrightDriver;
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../src/design/audit/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAI9D,OAAO,EAAgB,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAA;AACnF,OAAO,KAAK,EAAE,eAAe,EAAsB,MAAM,YAAY,CAAA;AAOrE,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,wBAAwB,EAGzB,MAAM,eAAe,CAAA;AAEtB,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,KAAK,CAAA;IACZ,MAAM,EAAE,gBAAgB,CAAA;IACxB,IAAI,EAAE,IAAI,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,2EAA2E;IAC3E,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,WAAW,EAAE,CAAA;IAC3B,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,SAAS,CAAC,EAAE,cAAc,CAAA;IAC1B;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAA;IACxB,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAA;IACxB,iBAAiB,CAAC,EAAE,oBAAoB,EAAE,CAAA;IAC1C,qBAAqB,CAAC,EAAE,wBAAwB,EAAE,CAAA;CACnD;AAqBD;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CA2NtF"}
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../src/design/audit/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAI9D,OAAO,EAAgB,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAA;AACnF,OAAO,KAAK,EAAE,eAAe,EAAsB,MAAM,YAAY,CAAA;AAOrE,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,wBAAwB,EAGzB,MAAM,kBAAkB,CAAA;AAEzB,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,KAAK,CAAA;IACZ,MAAM,EAAE,gBAAgB,CAAA;IACxB,IAAI,EAAE,IAAI,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,2EAA2E;IAC3E,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,WAAW,EAAE,CAAA;IAC3B,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,SAAS,CAAC,EAAE,cAAc,CAAA;IAC1B;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAA;IACxB,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAA;IACxB,iBAAiB,CAAC,EAAE,oBAAoB,EAAE,CAAA;IAC1C,qBAAqB,CAAC,EAAE,wBAAwB,EAAE,CAAA;CACnD;AAqBD;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CAyOtF"}
@@ -16,7 +16,7 @@ import { loadEthicsRules } from './ethics/loader.js';
16
16
  import { checkEthics, pageTextBlob } from './ethics/check.js';
17
17
  import { classifyEnsemble } from './classify-ensemble.js';
18
18
  import { loadAnchors } from './rubric/anchor-loader.js';
19
- import { buildAuditResultV2 } from './v2/build-result.js';
19
+ import { buildAuditResult } from './build-result.js';
20
20
  const COOKIE_BANNER_SELECTORS = [
21
21
  'button:has-text("Accept all")',
22
22
  'button:has-text("Accept")',
@@ -56,16 +56,32 @@ export async function auditOnePage(opts) {
56
56
  await page.screenshot({ path: screenshotPath, fullPage: false });
57
57
  }
58
58
  // ── 3. Classify (or use profile override) ──
59
- // Layer 1: ensemble classifier (URL + DOM + LLM) when no override is set.
59
+ // Layer 1 always produces an ensemble classification either from the
60
+ // ensemble classifier (URL + DOM + LLM) or synthesized from an explicit
61
+ // profile override. The audit-result builder needs an ensemble shape;
62
+ // restricting it to non-override runs would silently drop the entire
63
+ // multi-dim scoring + patches contract whenever --profile is passed.
60
64
  let classification;
61
65
  let ensemble;
62
66
  if (profileOverride) {
63
- // Build a synthetic classification matching the explicit profile
64
- classification = {
67
+ const base = {
65
68
  ...defaultClassification(),
66
69
  type: profileOverride,
67
70
  confidence: 1,
68
71
  };
72
+ ensemble = {
73
+ ...base,
74
+ signals: [{
75
+ source: 'llm',
76
+ type: base.type,
77
+ confidence: 1,
78
+ rationale: `operator-supplied profile=${profileOverride}`,
79
+ }],
80
+ signalsAgreed: true,
81
+ ensembleConfidence: 1,
82
+ firstPrinciplesMode: false,
83
+ };
84
+ classification = ensemble;
69
85
  }
70
86
  else {
71
87
  ensemble = await classifyEnsemble({ brain, state, url });
@@ -122,29 +138,27 @@ export async function auditOnePage(opts) {
122
138
  }
123
139
  result.ethicsViolations = ethicsViolations;
124
140
  }
125
- // ── 8. Layer 1 v2 — multi-dim scoring + rollup, emitted alongside v1 ──
126
- if (ensemble) {
127
- try {
128
- const anchors = loadAnchors();
129
- const anchor = anchors.get(ensemble.type);
130
- const v2 = await buildAuditResultV2({
131
- brain,
132
- state,
133
- pageRef: url,
134
- ensemble,
135
- rubric,
136
- measurements,
137
- v1Result: result,
138
- anchor,
139
- runId,
140
- });
141
- result.auditResultV2 = v2;
142
- result.ensembleClassification = ensemble;
143
- }
144
- catch (v2Err) {
145
- // Don't let v2 failures break v1. Log + move on.
146
- console.warn(`[audit/v2] failed to build v2 result for ${url}: ${v2Err.message}`);
147
- }
141
+ // ── 8. Layer 1 — multi-dim scoring + rollup ──
142
+ try {
143
+ const anchors = loadAnchors();
144
+ const anchor = anchors.get(ensemble.type);
145
+ const auditResult = await buildAuditResult({
146
+ brain,
147
+ state,
148
+ pageRef: url,
149
+ ensemble,
150
+ rubric,
151
+ measurements,
152
+ v1Result: result,
153
+ anchor,
154
+ runId,
155
+ });
156
+ result.auditResult = auditResult;
157
+ result.ensembleClassification = ensemble;
158
+ }
159
+ catch (buildErr) {
160
+ // Don't let the audit-result builder break the legacy summary. Log + move on.
161
+ console.warn(`[audit] failed to build result for ${url}: ${buildErr.message}`);
148
162
  }
149
163
  if (runId) {
150
164
  const findings = result.findings ?? [];
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/design/audit/pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/design/audit/pipeline.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  * `~/.bad/rubrics/` for user fragments). No code changes required.
7
7
  */
8
8
  import type { PageClassification, RubricFragment, ComposedRubric } from '../types.js';
9
- import type { AudienceTag, ModalityTag, RegulatoryContextTag, AudienceVulnerabilityTag } from '../v2/types.js';
9
+ import type { AudienceTag, ModalityTag, RegulatoryContextTag, AudienceVulnerabilityTag } from '../score-types.js';
10
10
  /**
11
11
  * Operator-supplied context for Layer 6 composable predicate matching.
12
12
  * When provided, fragments whose `applies-when.audience | modality |
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../../src/design/audit/rubric/loader.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,cAAc,EAEf,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,gBAAgB,CAAA;AAEvB;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAA;IACxB,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAA;IACxB,iBAAiB,CAAC,EAAE,oBAAoB,EAAE,CAAA;IAC1C,qBAAqB,CAAC,EAAE,wBAAwB,EAAE,CAAA;CACnD;AAYD;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAiB9D;AAkED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,GAAE,MAA8B,GAAG,cAAc,EAAE,CAMnF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,cAAc,EACxB,cAAc,EAAE,kBAAkB,EAClC,GAAG,CAAC,EAAE,aAAa,GAClB,OAAO,CA2CT;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,cAAc,EAAE,kBAAkB,EAClC,SAAS,CAAC,EAAE,cAAc,EAAE,EAC5B,gBAAgB,CAAC,EAAE,MAAM,EACzB,GAAG,CAAC,EAAE,aAAa,GAClB,cAAc,CAgChB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,iBAAiB,CAAC,EAAE,cAAc,EAAE,GACnC,cAAc,CA0BhB"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../../src/design/audit/rubric/loader.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,cAAc,EAEf,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,mBAAmB,CAAA;AAE1B;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAA;IACxB,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAA;IACxB,iBAAiB,CAAC,EAAE,oBAAoB,EAAE,CAAA;IAC1C,qBAAqB,CAAC,EAAE,wBAAwB,EAAE,CAAA;CACnD;AAYD;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAiB9D;AAkED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,GAAE,MAA8B,GAAG,cAAc,EAAE,CAMnF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,cAAc,EACxB,cAAc,EAAE,kBAAkB,EAClC,GAAG,CAAC,EAAE,aAAa,GAClB,OAAO,CA2CT;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,cAAc,EAAE,kBAAkB,EAClC,SAAS,CAAC,EAAE,cAAc,EAAE,EAC5B,gBAAgB,CAAC,EAAE,MAAM,EACzB,GAAG,CAAC,EAAE,aAAa,GAClB,cAAc,CAgChB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,iBAAiB,CAAC,EAAE,cAAc,EAAE,GACnC,cAAc,CA0BhB"}
@@ -8,7 +8,7 @@
8
8
  *
9
9
  * Invariant: every weight set sums to 1.0 within 1e-6.
10
10
  */
11
- import type { Dimension } from '../v2/types.js';
11
+ import type { Dimension } from '../score-types.js';
12
12
  import type { PageType } from '../types.js';
13
13
  export type RollupWeightKey = PageType | 'default';
14
14
  export declare const ROLLUP_WEIGHTS: Record<RollupWeightKey, Record<Dimension, number>>;
@@ -1 +1 @@
1
- {"version":3,"file":"rollup-weights.d.ts","sourceRoot":"","sources":["../../../../src/design/audit/rubric/rollup-weights.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,SAAS,CAAA;AA0BlD,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAsB,CAAA;AAEpG;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAGtF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,CAIpG"}
1
+ {"version":3,"file":"rollup-weights.d.ts","sourceRoot":"","sources":["../../../../src/design/audit/rubric/rollup-weights.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,SAAS,CAAA;AA0BlD,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAsB,CAAA;AAEpG;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAGtF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,CAIpG"}