Skip to content

Commit c78d5ff

Browse files
iyeniyen
authored andcommitted
feat(shots): before/after PR evidence kit (stylegallery shots --before/--after)
Capture 390/1440 x light/dark (x focus/hover) for two revisions, diff each pair in Chromium, and write PNGs, an image-diff-compatible report.json, and pr-body.md. Add the Before/After PR Evidence doc with a PR body template, README/CLI help, search-eval questions, and a self-test run in the compiler workflow.
1 parent a820e4c commit c78d5ff

21 files changed

Lines changed: 584 additions & 46 deletions

‎.github/workflows/compiler.yml‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,7 @@ jobs:
2525
bun-version: 1.3.14
2626
- run: bun install --frozen-lockfile --ignore-scripts
2727
- run: bun run test:compiler
28+
- name: Install Playwright Chromium for shots before/after
29+
run: bunx playwright install --with-deps chromium
30+
- name: shots before/after self-test
31+
run: bun run test:shots

‎README.md‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,12 @@ Connect your agents:
149149

150150
Site compilation (requires `SG_COMPILER_ROOT`): `compile`, `timeline`, `transcribe`, `sale`, `gate`, `build`, `shots`, `probe`, `workflow`. Start with `stylegallery workflow`.
151151

152+
Before/after PR evidence (local Chromium, no compiler):
153+
154+
| Command | Options | Purpose |
155+
| --- | --- | --- |
156+
| `shots --before <ref\|url> --after <ref\|url>` | `--page <path>` (default `index.html`), `--out <dir>` (default `stylegallery-shots-compare` in the system temp directory), `--selector <css>`, `--threshold <0-1>` (default 0.05), `--full-page`, `--wait <ms>`, `--violations <ids>` | Capture 390 and 1440 widths x light/dark (x focus/hover with `--selector`) for a Git ref, `.` (working tree), or URL on each side; write before/after/diff PNGs, `report.json` with visual-qa `image-diff` fields, and `pr-body.md` ([Before/After PR Evidence](quality/evidence/before-after-pr-evidence.md)) |
157+
152158
Other: `help` / `--help`, `version` / `--version`. The MCP server `stylegallery-mcp` exposes `search` and `read` with the same JSON, plus the governed and compiler tools.
153159

154160
### Worked homepage example

‎consumer-reference/agent-native/v2/admission-policy.json‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -819,6 +819,11 @@
819819
"domain": "shared",
820820
"lifecycle": "stable"
821821
},
822+
{
823+
"repository_path": "quality/evidence/before-after-pr-evidence.md",
824+
"domain": "shared",
825+
"lifecycle": "stable"
826+
},
822827
{
823828
"repository_path": "quality/evidence/consumer-migration.md",
824829
"domain": "shared",
@@ -1052,5 +1057,5 @@
10521057
"code": "material_path_internal_excluded"
10531058
}
10541059
],
1055-
"version_id": "sg:policy/material-admission-v2@sha256:d79b48891e97d9b0b1a3fae919f6e0f91e2e1d5ba1bc5eafe1397067c9064c1a"
1060+
"version_id": "sg:policy/material-admission-v2@sha256:c8ca1c261338a7d690247e219d7a907cd6f0a7a32516e8571535c01edb549645"
10561061
}

‎consumer-reference/agent-native/v2/material-registry.json‎

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

‎consumer-reference/agent-native/v2/schema/admission-policy.schema.json‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
"media_type": { "const": "text/markdown" },
1414
"allowed_materials": {
1515
"type": "array",
16-
"minItems": 194,
17-
"maxItems": 194,
16+
"minItems": 195,
17+
"maxItems": 195,
1818
"items": {
1919
"type": "object",
2020
"additionalProperties": false,

‎consumer-reference/agent-native/v2/search-embeddings.json‎

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -669,6 +669,10 @@
669669
"text_sha256": "b9322628190e921789f4a82dde3d2ab79626a8b7995955b3c4e30c0c121dc1c5",
670670
"vector": "+P7+AP0HCv/+/P4C/QD/AwIBBQAJBAUDAgUE+QHq+/8DAPr9+//+//8I//37APz+/QL+AwQD/wMFAAf+BQTsDP0H//r7/QT++AcI/wEABvn+AgAEBf7//gT+///+BP32//3+KP4B9gUE9wP9/v/+AAQA/AgD/gT3+QIB/PwDCgkE/wb8+gP+AAH9BAgB/gD/9RL0A/z6Cgj1APz8Bf/8BQT2/Qf/9P0JBPsF/P7++fz+Bf7+BPT2Bf4K//4KBAP6+QQAAvwC/v0JBvoBAgP8+g4A+AUCAQT6BQD+C/n9ANX4Awf/+wQA9wMJB/n/Av0A+/8C+wb9+QICEfQA+vwC+/QFA/n+/vj+Av/4/AIF//oEBv/8Cvf99wL5AQgABfkDAfoDAwH+DQACAwUB//z+AAgICgIEAPwH+gQE/fYHBuT+/gT6/wT6/fj9BQD+AwgO/AL1AAQUBfwCBAAB+gb4DgUDBPwHBv0E/Pj9Cv8B+P7/+v3+BQX9CwEA/P4FBAsG"
671671
},
672+
"quality/evidence/before-after-pr-evidence.md": {
673+
"text_sha256": "8ecf8a7a84a5dbc28eee2dd11205632fd2c1de92d417e998737aa061e30435a3",
674+
"vector": "+AL+/gkEAv8H/ggA/AL6CgMD//4BAQb8Bf/8+/rmAPv6/AD++gT7AgII/QL6/wP+AAgB+wICBP8MBAIGBgHuCf8D+/wCCfoG9ggG+gkG/f70CAQGBAEEAAYD//X6AvoAAwEJKfkDAgkE9gEF/QAF+gH/Bf8BAvz3/wD/+QEGBAv/BgMD+Pv+AQP+AgAE/AL7+xH8BP33BAf3AvwB/wf/Bfn3/AIE9AD6BAP5/gPy/AH7BAkBBf7+B/3/9wUFC/38+QIABPgC/f4KAfj8AAQE/QIC9gQDBf8A/wT/C/n/ANMC/gEG+AH/AwIIBgD8AAIE+/sA+f/7+A8BEgT4Af0B/fIHAv8C//sK+wH8Af74+gMC//z8Bf77/P779gP+/fcG/wD8Av/9CgICAwf+/fcCBAQEBgEH//gB/v0F9P0DAeECBAP/BQf6/AD8CAb7+wYKAgD+//UXAQL9Bv8G/wUAAAADA/gH/gD+/f36B/0AAPr//fsA/QX//wEGBwQBBgEF"
675+
},
672676
"quality/evidence/consumer-migration.md": {
673677
"text_sha256": "cc8b51eea72aa2d5473010428e8ca7a86f12b5739341cfd15e3097aa6b6f1dcf",
674678
"vector": "+//7/wP/+gX+AgH7+QL+Bf8CCgIB/gL/CQsH+ALl+f/8BAL6AQID/gENAQL+//wG+/8AA/8H/gcFAAIEAwXrDwAE/QH5Af3++wcN+ggIAP//AQH+/gL8/QL/Av4B//f8AgICLPoCAQUC+/0E/QT7/wX/BAEA/gP5+AEGAPv9BQYDAgMB/wL+AwMDAQP/AQT48gwCBfsBBQ39/fv9AQL4AQP7ABEA7wEJBfwC//7/9/r5BP79Cfb5BQEB9P8HAPv6/QYA//0A/wALBfj9AAf/+AQE+wsBBAP3BgEBC/gAANP5AAv8/QEC/wEEBv//Af0B/vcB+AIA9QYEEvz7/f0D/fYEBAAD//78/v71/gABAfwFAQEEBPf8/P79Af8DCP4F/gH+BP75DwH9BgX4Avr+Av8EBP8H//sG/AUF9/YCBOAA/gf6/gn9/fv7BgYC/gQO/P77//kTCfoBAwMCAP//CQMA+vkCAP0AAP0ABf/9/Pz//Pv+AAMDAgH7AgUEBAoC"
@@ -690,8 +694,8 @@
690694
"vector": "9wIEAf8KBgX8/vsAAAcEBwIDAwACAgEB/AYC+QHpAP4E/wEA/wf/Av8HAQD/Avj9+/4B/QIDAwAHBgMCCAPpCAAC/vr8Afv9/QoJ/AX9A/v6BP8DCAL7Agf7AP30A/z8/fkBJfv9AAQB+wP/AP8CBAX+AAYABQL29gIH//n+BwYDAQT//P79AwECAAcBAgP79Q39CgEABQj2Afj5Av/5BQD3/A/69gADBQEBAf7+//v6Bv/+Cfv2/wcE/wIKBPr6/ggEAP4A+P4CA/f+Awf+/Aj//AsABwP6DgD/C/kA/9v2BQf++P8EAAAJA/YAA/oD+fL++wcA9wUGEfMD//r//fQGAv76/vj6/wD7/v4HBP0DAwP9AvX48v76AgD+A/4D+/0CBv76EP0ABwX//QX+/Ab+Dv8BAPgG+AcH//YABeEB/gb2/QH3/Pj6AwQB/wYK+wD4AAcY+/4AAfn//wn6CwkCA/0F/gAAA/wBDAME/fr+/Pr/AQEDCAD+/AcJCQkC"
691695
},
692696
"quality/evidence/index.md": {
693-
"text_sha256": "07a9b82877c89e243b544ab9310b2ce9c16b03198758afbffa3d12793ec0e893",
694-
"vector": "+gT9AAYEAwL5/gD++gD7CP0EAwEEAQMCAgkG+fzw/QT/BgD7AQYAAgAFAAD4BPz//v/+AwUHAQIJAAEABAXqDv4E/AH5Bfj8/A0I+wX//vr/BQAFBAYA/wn7//z/Bfn4A/v9Jfz//wUBAAT/AQX8AwT/CfwC/QPz+gIG/wH/BAr/AQT8/f8BAAH8/wn/+f/77xH9DPgCBgv9Bvv+Av71/Aj7+hD48voICv4G/wH+/Pv8BQH+BPfyBwUD9/wMDfv9AAb/+/8G//wHA/UCAQH5/AMB+Qf9AgH9CQb8C/76ANf5+gb7AQAF+AMDAvwD+/f8//kA+gf+9QIID/T8/P0F/vcBBfn7/f3/BAD9APwEBP4F+wT/Afn+9wL+BQIFCP0G+wX//gP8DvwABwP89gD4+gL+DgQLA/sF9wIA+/j/BOQAAAT/+gb7BPz+AwH//AYT+f37/gAQAvf9/gP9/gf+CAYDAfcBAgIB//oCCv8F+/wF+//+/voDBQEF/wQIAAsG"
697+
"text_sha256": "d96a12e954df3d0e1cf12b9c34577dd244b6ed7e459a8bd1a55d2b6cf04046d9",
698+
"vector": "+gb//wcDAwL6/wL++gD5Cf0EA/8E/wMCAQgE+vzv/gP9BgH8/wX/AgAG/wD4BP3+///+AgYHAwAKAQABBAXrDf0F/QH4Bvj8+w0J/AYA/vv/B/0EBQYC/wv7//v/BPr6BPv+Jf39AAUC/wQAAwP9AQQACfoC/gHy+QMF/wEABQr+AgT9/f8BAAH8/gj++f767w/8DvgBBwz9Bfz8Av73/Aj6+xD58vwJCP8D/wP8/Pz/AwL/BPjzBwUE9vsNDfr9/wb/+wAHAP0GBPQAAQD6/AIB+Af+AgD+CQj8DP37ANf6+wX6Af4G+QMDA/wD+/f9/vkA+gf+8wUIDvX6+/sG/vUEBfr9/fz/AwD+APwDAv4G+wP+Afn9+AH9AwIEB/wG+wX/AAT7DvwABwT99gD5/QP+DwIMAvsD+QMC+vcABOUAAQP+/Af7BPv+BQIA+wcR+v37//0QA/f7/wP+/gf9BwUDAfQCAgMB/vsCCf8D+/wE+f39/vsDBgEH/wIIAQsE"
695699
},
696700
"quality/evidence/pattern-contract-audit.md": {
697701
"text_sha256": "45dbca1a3d425e5082ee874fd7181c85967cdf721f95c7fa27efb7e76a5476af",
@@ -710,8 +714,8 @@
710714
"vector": "+v4CAf0DBAj9Af78/AL+A/4F//8K+QL5AQYB+Avq/v3+BAMC/QUD/f0J/f8AAgL89wAH/QEE/QoBBAYLAAHuDPsFAAD/CQQA+wYL+wv+A/r6AAEA/wH8/wj9AvoAAvf++QEBKPn+9/8E+wABAAQBAvkC//kC/wL3+gQAAfoDAgcAAQP8BPwDA/7//gf8AAgB+Qr9BPv+Awz6AwEBBP/4BAX8+BP/8QEHBf39Af4E+QD3/wYDAvT7AQYC+AIKAf8E/Av9/AAA+QIHA/f9BQb8AAD9+gn//AT7BQX/A/kE+9P7/Aj+/QEF+P8IBPT+//kC+Pj+/wgC8gYME/3/+v/9/vUEA/v///n2AwL1AfsC/v///wD/C/wB/foC/wQFCP0KAf/6A/r/DgD8CwICAgAE//4C/gIK/v4B9AAK+wACAt4C/QX4BAb9+v38Av8A/QQO+gD8AP8VAAIBAwMKAwH9CAX9Af4CAAMD/gECAQH+Awb//Pj5/Qn+BP/+//8DAAX/"
711715
},
712716
"quality/evidence/visual-qa.md": {
713-
"text_sha256": "9dd03129bdd6c0234695996bf69b5336827df179b4ba4a9b35d0271ca7df2f6c",
714-
"vector": "9AP9AAMK/wH6/gH7/Qj8Bwf8CgAEAQT//QQC+AHq+//7A/35/AYD/gEJ+vz2/vsA/gT//AMC/wAMAgD8B//tCwAB/wD8BPv/+wUK/AQA//z8//0GBQH8AQ3//P77BPn/AAAFJ/4BAQIA+wL9/wUABAUC+/4BAv/4+gQE+wABBQYCAwEA/v7/AgcAAQn8/wH+9xD5BP36CAr3BPr9AQD2Af/4Agz98vwJAQEBAQH1+vv5CAIABvT3BAYD/QIKBf32+QUBBP3///8HA/T8BAD8Agj7+AwE////Bf/6BQH8/db4/gv4+gAEAv8FAfr6Avn/+/j+9Qb/+QoKE/sE/f4H/voJA/r+/v0CAAH8A/0DA/cGB/79A/0B9AD6/wAAAP0IAv/8BgH6E/8BBQkC/v/+AQ4ABwACBPcC/QQFAvkDBN8ACAP7Agb8/fj4BQX+/QgN/gH6AQIQ//3+APwB/QX4CgkDAvoJAP4D//wDCPsEAvr++vwB/gX+BwAAAQQFBQcH"
717+
"text_sha256": "0daff0aecbb0c7f41ceae394599969b0f04721808aa762a729a1d028d99767ea",
718+
"vector": "8wT8/wQL/gH8/wL7/Qj8Bwf8CQAEAAT//wIB9wHp/QH5Av75+wYA/wAJ+vr2//v+/gX//AIC/v8MAv78B//tCv8C/wH8BvsA+wUK/QUB//z6Af4HAwL9AAwA+/76A/kAAP8FJ/4AAAIB+wL9AAQAAgUB/P8CAf75/AUC+QEBBgcCBAIA/v7+AggBAgn9/gH++A/6Bv37CAv2A/v9AAH3Av/4Awv+8/0IAgMBAQHz+Pv4BwP/BvX3BAQC/QEJB/31+QUCBfwA//8HBPX7AwH8AAj89woGAf8BAwH6BgD9/dX6/wr6+/8DAv8FAfn5AfsB+/f+9QX++w0IE/0B/vwH/PkKA/r//v4C/QH8Af0BA/cHBf39Av0B9QH6/gEB/f0GAv78BgP5E/8CBgkB/v79BA0ABgECBfgC/AMGAfkEA+AACQP8Agj8/ff3BgX9/AcN/QH5AQAQ//7+Af0B/gX5CAgDAvkIAQED/f4CCPkEAfn9+fwC/QX+CAEBAQMFBggI"
715719
},
716720
"quality/gates/accessibility-evidence.md": {
717721
"text_sha256": "a8260828b96931d685ac419162b00a9b4e14e6a919bbd6425eaffb97f5ac1da8",

‎consumer-reference/policies/lifecycle-a2a-extension.json‎

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,8 @@
9494
"scripts/test-lifecycle-disposition.mjs",
9595
"scripts/validate-lifecycle-disposition.mjs"
9696
],
97-
"scanned_file_count": 627,
98-
"scanned_paths_content_id": "sha256:80e3c04037f9d663a6df7393164a429033545ba77d62424bd097a45ac4f80204"
97+
"scanned_file_count": 630,
98+
"scanned_paths_content_id": "sha256:5372053393a66e3ef55237ff39fb579e941c38b65b2d28eb1a568c2ff1aa09c0"
9999
},
100100
"implementation": {
101101
"path": "scripts/agent-native/v2/extensions/a2a-projection.mjs",
@@ -145,13 +145,13 @@
145145
"role": "repository_reference",
146146
"lines": {
147147
"start": 1,
148-
"end": 370
148+
"end": 373
149149
},
150-
"file_sha256": "a1c91fbfa65dd2e4414221bd62b08cc828a7b7b040bf74b93af4014629a8f6d2",
151-
"content_id": "sha256:a1c91fbfa65dd2e4414221bd62b08cc828a7b7b040bf74b93af4014629a8f6d2",
150+
"file_sha256": "a6ea4d689a995c8c65772d98e381b442badf2819eb32c83d00c4c6660e21e8ec",
151+
"content_id": "sha256:a6ea4d689a995c8c65772d98e381b442badf2819eb32c83d00c4c6660e21e8ec",
152152
"reference_lines": [
153-
244,
154-
260
153+
245,
154+
261
155155
],
156156
"reference_kinds": [
157157
"forwarder_path",
@@ -281,8 +281,8 @@
281281
"start": 1,
282282
"end": 300
283283
},
284-
"file_sha256": "13ca8054c2ba781bf57b94760e647e8ecd5c8565bac1313902b36654c3c13f11",
285-
"content_id": "sha256:13ca8054c2ba781bf57b94760e647e8ecd5c8565bac1313902b36654c3c13f11",
284+
"file_sha256": "1a3ac4dd22ac0875f8206de0b7aefb12f9433d0f6ab7b43f61a831a07328034c",
285+
"content_id": "sha256:1a3ac4dd22ac0875f8206de0b7aefb12f9433d0f6ab7b43f61a831a07328034c",
286286
"reference_lines": [
287287
54
288288
],
@@ -391,8 +391,8 @@
391391
"start": 1,
392392
"end": 300
393393
},
394-
"file_sha256": "13ca8054c2ba781bf57b94760e647e8ecd5c8565bac1313902b36654c3c13f11",
395-
"content_id": "sha256:13ca8054c2ba781bf57b94760e647e8ecd5c8565bac1313902b36654c3c13f11"
394+
"file_sha256": "1a3ac4dd22ac0875f8206de0b7aefb12f9433d0f6ab7b43f61a831a07328034c",
395+
"content_id": "sha256:1a3ac4dd22ac0875f8206de0b7aefb12f9433d0f6ab7b43f61a831a07328034c"
396396
}
397397
],
398398
"docs_and_registry": [
@@ -432,10 +432,10 @@
432432
"role": "installed_package_exposure",
433433
"lines": {
434434
"start": 1,
435-
"end": 370
435+
"end": 373
436436
},
437-
"file_sha256": "a1c91fbfa65dd2e4414221bd62b08cc828a7b7b040bf74b93af4014629a8f6d2",
438-
"content_id": "sha256:a1c91fbfa65dd2e4414221bd62b08cc828a7b7b040bf74b93af4014629a8f6d2"
437+
"file_sha256": "a6ea4d689a995c8c65772d98e381b442badf2819eb32c83d00c4c6660e21e8ec",
438+
"content_id": "sha256:a6ea4d689a995c8c65772d98e381b442badf2819eb32c83d00c4c6660e21e8ec"
439439
},
440440
"forwarding": {
441441
"path": "scripts/agent-native/a2a-projection.mjs",

‎consumer-reference/policies/lifecycle-ag-ui-extension.json‎

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,8 @@
9494
"scripts/test-lifecycle-disposition.mjs",
9595
"scripts/validate-lifecycle-disposition.mjs"
9696
],
97-
"scanned_file_count": 627,
98-
"scanned_paths_content_id": "sha256:80e3c04037f9d663a6df7393164a429033545ba77d62424bd097a45ac4f80204"
97+
"scanned_file_count": 630,
98+
"scanned_paths_content_id": "sha256:5372053393a66e3ef55237ff39fb579e941c38b65b2d28eb1a568c2ff1aa09c0"
9999
},
100100
"implementation": {
101101
"path": "scripts/agent-native/v2/extensions/agui-projection.mjs",
@@ -203,13 +203,13 @@
203203
"role": "repository_reference",
204204
"lines": {
205205
"start": 1,
206-
"end": 370
206+
"end": 373
207207
},
208-
"file_sha256": "a1c91fbfa65dd2e4414221bd62b08cc828a7b7b040bf74b93af4014629a8f6d2",
209-
"content_id": "sha256:a1c91fbfa65dd2e4414221bd62b08cc828a7b7b040bf74b93af4014629a8f6d2",
208+
"file_sha256": "a6ea4d689a995c8c65772d98e381b442badf2819eb32c83d00c4c6660e21e8ec",
209+
"content_id": "sha256:a6ea4d689a995c8c65772d98e381b442badf2819eb32c83d00c4c6660e21e8ec",
210210
"reference_lines": [
211-
245,
212-
261
211+
246,
212+
262
213213
],
214214
"reference_kinds": [
215215
"forwarder_path",
@@ -329,8 +329,8 @@
329329
"start": 1,
330330
"end": 300
331331
},
332-
"file_sha256": "13ca8054c2ba781bf57b94760e647e8ecd5c8565bac1313902b36654c3c13f11",
333-
"content_id": "sha256:13ca8054c2ba781bf57b94760e647e8ecd5c8565bac1313902b36654c3c13f11",
332+
"file_sha256": "1a3ac4dd22ac0875f8206de0b7aefb12f9433d0f6ab7b43f61a831a07328034c",
333+
"content_id": "sha256:1a3ac4dd22ac0875f8206de0b7aefb12f9433d0f6ab7b43f61a831a07328034c",
334334
"reference_lines": [
335335
55
336336
],
@@ -438,8 +438,8 @@
438438
"start": 1,
439439
"end": 300
440440
},
441-
"file_sha256": "13ca8054c2ba781bf57b94760e647e8ecd5c8565bac1313902b36654c3c13f11",
442-
"content_id": "sha256:13ca8054c2ba781bf57b94760e647e8ecd5c8565bac1313902b36654c3c13f11"
441+
"file_sha256": "1a3ac4dd22ac0875f8206de0b7aefb12f9433d0f6ab7b43f61a831a07328034c",
442+
"content_id": "sha256:1a3ac4dd22ac0875f8206de0b7aefb12f9433d0f6ab7b43f61a831a07328034c"
443443
}
444444
],
445445
"docs_and_registry": [
@@ -479,10 +479,10 @@
479479
"role": "installed_package_exposure",
480480
"lines": {
481481
"start": 1,
482-
"end": 370
482+
"end": 373
483483
},
484-
"file_sha256": "a1c91fbfa65dd2e4414221bd62b08cc828a7b7b040bf74b93af4014629a8f6d2",
485-
"content_id": "sha256:a1c91fbfa65dd2e4414221bd62b08cc828a7b7b040bf74b93af4014629a8f6d2"
484+
"file_sha256": "a6ea4d689a995c8c65772d98e381b442badf2819eb32c83d00c4c6660e21e8ec",
485+
"content_id": "sha256:a6ea4d689a995c8c65772d98e381b442badf2819eb32c83d00c4c6660e21e8ec"
486486
},
487487
"forwarding": {
488488
"path": "scripts/agent-native/agui-projection.mjs",

‎eval/search/questions.json‎

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -818,6 +818,28 @@
818818
"quality/audit/README.md": 3
819819
}
820820
},
821+
{
822+
"id": "q63",
823+
"lang": "en",
824+
"kind": "real",
825+
"must_pass": true,
826+
"query": "How do I add before and after screenshots to a pull request?",
827+
"qrels": {
828+
"quality/evidence/before-after-pr-evidence.md": 3,
829+
"quality/evidence/visual-qa.md": 1
830+
}
831+
},
832+
{
833+
"id": "q64",
834+
"lang": "en",
835+
"kind": "real",
836+
"must_pass": false,
837+
"query": "pixel diff ratio between two git revisions of a page",
838+
"qrels": {
839+
"quality/evidence/before-after-pr-evidence.md": 3,
840+
"quality/evidence/visual-qa.md": 1
841+
}
842+
},
821843
{
822844
"id": "h01",
823845
"lang": "en",
@@ -1191,6 +1213,16 @@
11911213
"qrels": {
11921214
"quality/audit/README.md": 3
11931215
}
1216+
},
1217+
{
1218+
"id": "m22",
1219+
"lang": "en",
1220+
"kind": "mismatch",
1221+
"must_pass": false,
1222+
"query": "show reviewers what my page looked like earlier versus now",
1223+
"qrels": {
1224+
"quality/evidence/before-after-pr-evidence.md": 3
1225+
}
11941226
}
11951227
]
11961228
}

‎package.json‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,7 @@
211211
"quality/claim-records/stylegallery-multidomain-scope.md",
212212
"quality/claims.md",
213213
"quality/evidence/accessibility.md",
214+
"quality/evidence/before-after-pr-evidence.md",
214215
"quality/evidence/consumer-migration.md",
215216
"quality/evidence/design-rationale.md",
216217
"quality/evidence/executable-evidence.md",
@@ -287,6 +288,7 @@
287288
"scripts/sg-mcp.mjs",
288289
"scripts/sg-server.mjs",
289290
"scripts/sg.mjs",
291+
"scripts/shots-compare.mjs",
290292
"scripts/strict-json.mjs",
291293
"scripts/stylegallery-audit.mjs",
292294
"scripts/stylegallery-cli.mjs",
@@ -339,6 +341,7 @@
339341
"test:showcase:self": "node scripts/test-check-showcase.mjs",
340342
"showcase:serve": "node scripts/serve-showcase.mjs",
341343
"test:compiler": "node --test scripts/test-sg-compiler.mjs",
344+
"test:shots": "node --test scripts/test-shots-compare.mjs",
342345
"sg:v1": "node scripts/sg.mjs",
343346
"sg:mcp:v1": "node scripts/sg-mcp.mjs",
344347
"stylegallery": "node scripts/sg-entry.mjs",

0 commit comments

Comments
 (0)