stylegallery 0.1.8 → 0.1.10
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/AGENTS.md +4 -2
- package/DOMAINS.md +1 -1
- package/README.md +12 -0
- package/consumer-reference/agent-native/v2/material-registry.json +1 -1
- package/expression/brand-studies.md +2 -2
- package/expression/direction-brief.md +17 -5
- package/expression/directions/nocturne-editorial.md +6 -5
- package/expression/directions/warm-print.md +5 -5
- package/expression/index.md +12 -0
- package/expression/techniques/webgl-hero.md +1 -1
- package/log.md +40 -0
- package/motion/index.md +69 -0
- package/package.json +12 -2
- package/patterns/media-fit/icon-frame.md +1 -1
- package/patterns/viewport-shell/holy-grail.md +7 -0
- package/quality/claim-records/samples.md +1494 -0
- package/quality/claims.md +31 -1
- package/scripts/compiler/cli.mjs +20 -0
- package/scripts/conservator-exhibits.mjs +768 -0
- package/scripts/conservator.mjs +326 -0
- package/scripts/markdown-structure.mjs +45 -0
- package/scripts/pattern-data.mjs +325 -0
- package/scripts/registrar.mjs +323 -0
- package/showcase/README.md +15 -1
|
@@ -33,6 +33,12 @@ Boundary or limitation: The image cannot prove usability, accessibility, brand f
|
|
|
33
33
|
Debt or escalation: If the visual reference conflicts with source order, focus order, accessibility, or content stress behavior, regenerate the prompt or record a blocked decision.
|
|
34
34
|
|
|
35
35
|
Decision: pass when the harmony gate is complete before the image is generated.
|
|
36
|
+
Evidence refs: `quality/gates/harmony-evaluation.md`
|
|
37
|
+
Verified by: human
|
|
38
|
+
Reviewed at: 2026-10-15
|
|
39
|
+
Review by: not applicable
|
|
40
|
+
Source revision: not applicable
|
|
41
|
+
Conflicts with: not applicable
|
|
36
42
|
|
|
37
43
|
## Claim Record 2 - Screenshot Diff Limits
|
|
38
44
|
|
|
@@ -59,6 +65,12 @@ Boundary or limitation: A screenshot can hide focus order, screen-reader output,
|
|
|
59
65
|
Debt or escalation: Escalate to accessibility or user evidence when the claim says readable, usable, accessible, clear, good, better, or harmonious for a person or task.
|
|
60
66
|
|
|
61
67
|
Decision: review_required when screenshots are the only evidence for a human-outcome claim.
|
|
68
|
+
Evidence refs: `quality/evidence/visual-qa.md`, `quality/gates/visual-evidence.md`
|
|
69
|
+
Verified by: mixed
|
|
70
|
+
Reviewed at: 2026-10-15
|
|
71
|
+
Review by: not applicable
|
|
72
|
+
Source revision: not applicable
|
|
73
|
+
Conflicts with: not applicable
|
|
62
74
|
|
|
63
75
|
## Claim Record 3 - Accessibility Scan Limits
|
|
64
76
|
|
|
@@ -85,6 +97,1488 @@ Boundary or limitation: The scan cannot prove accessibility for every user, devi
|
|
|
85
97
|
Debt or escalation: Accessibility debt must name affected users, owner, review trigger, and the evidence gap before it can be accepted.
|
|
86
98
|
|
|
87
99
|
Decision: blocked when a known accessibility failure is treated as a taste tradeoff or ordinary visual debt.
|
|
100
|
+
Evidence refs: `quality/evidence/accessibility.md`, `quality/gates/accessibility-evidence.md`
|
|
101
|
+
Verified by: human
|
|
102
|
+
Reviewed at: 2026-10-15
|
|
103
|
+
Review by: not applicable
|
|
104
|
+
Source revision: not applicable
|
|
105
|
+
Conflicts with: not applicable
|
|
106
|
+
|
|
107
|
+
## Claim Record 4 - Scroll-Body-Shell Scroll Ownership
|
|
108
|
+
|
|
109
|
+
Principle: A layout pattern owns its named scroll container.
|
|
110
|
+
|
|
111
|
+
Claim: The `scroll-body-shell` pattern keeps header and footer regions fixed while only the named body region scrolls, with no horizontal overflow and keyboard focus following DOM order, at 320, 768, and 1440 CSS pixels.
|
|
112
|
+
|
|
113
|
+
Context: Viewport-shell patterns regress silently when a layout change hands scroll to the document root, traps focus, or overflows a narrow viewport; prose alone cannot catch this.
|
|
114
|
+
|
|
115
|
+
Use case: not applicable.
|
|
116
|
+
|
|
117
|
+
Warrant: The Conservator renders the pattern doc's CSS block verbatim around stress content at three widths and asserts the body is the only scroll owner, the document root does not overflow, Tab order matches DOM order, reduced motion shows no running infinite animation, and axe-core reports no serious or critical violation; removing the body's `overflow` declaration makes the scroll-owner check fail.
|
|
118
|
+
|
|
119
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
120
|
+
|
|
121
|
+
Verification protocol: `node scripts/conservator.mjs --pattern scroll-body-shell --controls --json` renders the exhibit and its negative control and fails when any width breaks the contract; `node scripts/test-conservator.mjs` guards the Conservator with every exhibit and control.
|
|
122
|
+
|
|
123
|
+
Implementation handoff: not applicable.
|
|
124
|
+
Consumer reference: not_applicable
|
|
125
|
+
Consumer reference reason: This Conservator sample contains no consumer-specific reference record.
|
|
126
|
+
|
|
127
|
+
Boundary or limitation: The Conservator proves the exhibit's rendered layout contract on one Chromium engine; it does not prove the pattern is usable, accessible for every assistive technology, or correct in browsers it does not render.
|
|
128
|
+
|
|
129
|
+
Debt or escalation: Every Layout pattern now has a Conservator exhibit and a record under [Layout Pattern Records](#layout-pattern-records); a flaky render is a blocking defect, not an accepted cost.
|
|
130
|
+
|
|
131
|
+
Decision: pass when the Conservator is green at all three widths.
|
|
132
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/scroll-body-shell`
|
|
133
|
+
Verified by: auto
|
|
134
|
+
Reviewed at: 2026-10-16
|
|
135
|
+
Review by: not applicable
|
|
136
|
+
Source revision: not applicable
|
|
137
|
+
Conflicts with: not applicable
|
|
138
|
+
|
|
139
|
+
## Layout Pattern Records
|
|
140
|
+
|
|
141
|
+
Records 5 onward each bind one Layout pattern's documented spatial behavior to a Conservator exhibit (`sg://conservator/<pattern>`) defined in `scripts/conservator-exhibits.mjs`; record 4 covers `scroll-body-shell`. The Conservator renders the pattern doc's CSS block verbatim, measures the behavior at the listed widths, and proves the measurement discriminates by removing one declaration the doc lists under "Properties That Break The Layout If Removed". The Registrar fails when an exhibit has no record or a record names an exhibit that does not exist.
|
|
142
|
+
|
|
143
|
+
## Claim Record 5 - stack Layout Exhibit
|
|
144
|
+
|
|
145
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
146
|
+
|
|
147
|
+
Claim: Direct children of `stack` are separated by one 1rem block gap.
|
|
148
|
+
|
|
149
|
+
Context: [`stack`](../../patterns/stacking/stack.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
150
|
+
|
|
151
|
+
Use case: not applicable.
|
|
152
|
+
|
|
153
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `display` from `.stack` makes the `block-rhythm` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
154
|
+
|
|
155
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
156
|
+
|
|
157
|
+
Verification protocol: `node scripts/conservator.mjs --pattern stack --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
158
|
+
|
|
159
|
+
Implementation handoff: not applicable.
|
|
160
|
+
Consumer reference: not_applicable
|
|
161
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
162
|
+
|
|
163
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
164
|
+
|
|
165
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
166
|
+
|
|
167
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `block-rhythm`.
|
|
168
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/stack`
|
|
169
|
+
Verified by: auto
|
|
170
|
+
Reviewed at: 2026-10-16
|
|
171
|
+
Review by: not applicable
|
|
172
|
+
Source revision: not applicable
|
|
173
|
+
Conflicts with: not applicable
|
|
174
|
+
|
|
175
|
+
## Claim Record 6 - box Layout Exhibit
|
|
176
|
+
|
|
177
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
178
|
+
|
|
179
|
+
Claim: Content inside `box` is inset 1rem from every edge of the box.
|
|
180
|
+
|
|
181
|
+
Context: [`box`](../../patterns/containment/box.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
182
|
+
|
|
183
|
+
Use case: not applicable.
|
|
184
|
+
|
|
185
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `padding` from `.box` makes the `box-inset` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
186
|
+
|
|
187
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
188
|
+
|
|
189
|
+
Verification protocol: `node scripts/conservator.mjs --pattern box --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
190
|
+
|
|
191
|
+
Implementation handoff: not applicable.
|
|
192
|
+
Consumer reference: not_applicable
|
|
193
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
194
|
+
|
|
195
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
196
|
+
|
|
197
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
198
|
+
|
|
199
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `box-inset`.
|
|
200
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/box`
|
|
201
|
+
Verified by: auto
|
|
202
|
+
Reviewed at: 2026-10-16
|
|
203
|
+
Review by: not applicable
|
|
204
|
+
Source revision: not applicable
|
|
205
|
+
Conflicts with: not applicable
|
|
206
|
+
|
|
207
|
+
## Claim Record 7 - center Layout Exhibit
|
|
208
|
+
|
|
209
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
210
|
+
|
|
211
|
+
Claim: `center` caps its content box at 64rem, centers itself in wider space, and keeps 1rem inline gutters.
|
|
212
|
+
|
|
213
|
+
Context: [`center`](../../patterns/centering/center.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
214
|
+
|
|
215
|
+
Use case: not applicable.
|
|
216
|
+
|
|
217
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `margin-inline` from `.center` makes the `center-centered` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
218
|
+
|
|
219
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
220
|
+
|
|
221
|
+
Verification protocol: `node scripts/conservator.mjs --pattern center --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
222
|
+
|
|
223
|
+
Implementation handoff: not applicable.
|
|
224
|
+
Consumer reference: not_applicable
|
|
225
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
226
|
+
|
|
227
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
228
|
+
|
|
229
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
230
|
+
|
|
231
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `center-centered`.
|
|
232
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/center`
|
|
233
|
+
Verified by: auto
|
|
234
|
+
Reviewed at: 2026-10-16
|
|
235
|
+
Review by: not applicable
|
|
236
|
+
Source revision: not applicable
|
|
237
|
+
Conflicts with: not applicable
|
|
238
|
+
|
|
239
|
+
## Claim Record 8 - cluster Layout Exhibit
|
|
240
|
+
|
|
241
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
242
|
+
|
|
243
|
+
Claim: `cluster` items keep a 0.75rem gap and wrap onto new rows instead of overflowing.
|
|
244
|
+
|
|
245
|
+
Context: [`cluster`](../../patterns/in-line-grouping/cluster.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
246
|
+
|
|
247
|
+
Use case: not applicable.
|
|
248
|
+
|
|
249
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `flex-wrap` from `.cluster` makes the `wrap-containment` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
250
|
+
|
|
251
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
252
|
+
|
|
253
|
+
Verification protocol: `node scripts/conservator.mjs --pattern cluster --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
254
|
+
|
|
255
|
+
Implementation handoff: not applicable.
|
|
256
|
+
Consumer reference: not_applicable
|
|
257
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
258
|
+
|
|
259
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
260
|
+
|
|
261
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
262
|
+
|
|
263
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `wrap-containment`.
|
|
264
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/cluster`
|
|
265
|
+
Verified by: auto
|
|
266
|
+
Reviewed at: 2026-10-16
|
|
267
|
+
Review by: not applicable
|
|
268
|
+
Source revision: not applicable
|
|
269
|
+
Conflicts with: not applicable
|
|
270
|
+
|
|
271
|
+
## Claim Record 9 - content-limiter Layout Exhibit
|
|
272
|
+
|
|
273
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
274
|
+
|
|
275
|
+
Claim: `content-limiter` caps prose at a 70ch measure plus 1rem gutters and centers it.
|
|
276
|
+
|
|
277
|
+
Context: [`content-limiter`](../../patterns/containment/content-limiter.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
278
|
+
|
|
279
|
+
Use case: not applicable.
|
|
280
|
+
|
|
281
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `max-inline-size` from `.content_limiter` makes the `limiter-measure` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
282
|
+
|
|
283
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
284
|
+
|
|
285
|
+
Verification protocol: `node scripts/conservator.mjs --pattern content-limiter --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
286
|
+
|
|
287
|
+
Implementation handoff: not applicable.
|
|
288
|
+
Consumer reference: not_applicable
|
|
289
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
290
|
+
|
|
291
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
292
|
+
|
|
293
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
294
|
+
|
|
295
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `limiter-measure`.
|
|
296
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/content-limiter`
|
|
297
|
+
Verified by: auto
|
|
298
|
+
Reviewed at: 2026-10-16
|
|
299
|
+
Review by: not applicable
|
|
300
|
+
Source revision: not applicable
|
|
301
|
+
Conflicts with: not applicable
|
|
302
|
+
|
|
303
|
+
## Claim Record 10 - super-center Layout Exhibit
|
|
304
|
+
|
|
305
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
306
|
+
|
|
307
|
+
Claim: `super-center` places its child at the center of a viewport-tall region on both axes.
|
|
308
|
+
|
|
309
|
+
Context: [`super-center`](../../patterns/centering/super-center.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
310
|
+
|
|
311
|
+
Use case: not applicable.
|
|
312
|
+
|
|
313
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `place-items` from `.super_center` makes the `super-center-both` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
314
|
+
|
|
315
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
316
|
+
|
|
317
|
+
Verification protocol: `node scripts/conservator.mjs --pattern super-center --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
318
|
+
|
|
319
|
+
Implementation handoff: not applicable.
|
|
320
|
+
Consumer reference: not_applicable
|
|
321
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
322
|
+
|
|
323
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
324
|
+
|
|
325
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
326
|
+
|
|
327
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `super-center-both`.
|
|
328
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/super-center`
|
|
329
|
+
Verified by: auto
|
|
330
|
+
Reviewed at: 2026-10-16
|
|
331
|
+
Review by: not applicable
|
|
332
|
+
Source revision: not applicable
|
|
333
|
+
Conflicts with: not applicable
|
|
334
|
+
|
|
335
|
+
## Claim Record 11 - icon-frame Layout Exhibit
|
|
336
|
+
|
|
337
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
338
|
+
|
|
339
|
+
Claim: `icon-frame` is a 2.5rem square slot with its icon centered.
|
|
340
|
+
|
|
341
|
+
Context: [`icon-frame`](../../patterns/media-fit/icon-frame.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
342
|
+
|
|
343
|
+
Use case: not applicable.
|
|
344
|
+
|
|
345
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `place-items` from `.icon_frame` makes the `icon-frame-center` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
346
|
+
|
|
347
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
348
|
+
|
|
349
|
+
Verification protocol: `node scripts/conservator.mjs --pattern icon-frame --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
350
|
+
|
|
351
|
+
Implementation handoff: not applicable.
|
|
352
|
+
Consumer reference: not_applicable
|
|
353
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
354
|
+
|
|
355
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
356
|
+
|
|
357
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
358
|
+
|
|
359
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `icon-frame-center`.
|
|
360
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/icon-frame`
|
|
361
|
+
Verified by: auto
|
|
362
|
+
Reviewed at: 2026-10-16
|
|
363
|
+
Review by: not applicable
|
|
364
|
+
Source revision: not applicable
|
|
365
|
+
Conflicts with: not applicable
|
|
366
|
+
|
|
367
|
+
## Claim Record 12 - frame Layout Exhibit
|
|
368
|
+
|
|
369
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
370
|
+
|
|
371
|
+
Claim: `frame` holds a 16:9 slot at full inline size and its media fills the slot regardless of the media's own ratio.
|
|
372
|
+
|
|
373
|
+
Context: [`frame`](../../patterns/media-fit/frame.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
374
|
+
|
|
375
|
+
Use case: not applicable.
|
|
376
|
+
|
|
377
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `aspect-ratio` from `.frame` makes the `frame-ratio` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
378
|
+
|
|
379
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
380
|
+
|
|
381
|
+
Verification protocol: `node scripts/conservator.mjs --pattern frame --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
382
|
+
|
|
383
|
+
Implementation handoff: not applicable.
|
|
384
|
+
Consumer reference: not_applicable
|
|
385
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
386
|
+
|
|
387
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers. Not measured: object-fit: cover. Cropping is a paint result; element geometry cannot tell cover from fill once the media box equals the slot.
|
|
388
|
+
|
|
389
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
390
|
+
|
|
391
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `frame-ratio`.
|
|
392
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/frame`
|
|
393
|
+
Verified by: auto
|
|
394
|
+
Reviewed at: 2026-10-16
|
|
395
|
+
Review by: not applicable
|
|
396
|
+
Source revision: not applicable
|
|
397
|
+
Conflicts with: not applicable
|
|
398
|
+
|
|
399
|
+
## Claim Record 13 - cover Layout Exhibit
|
|
400
|
+
|
|
401
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
402
|
+
|
|
403
|
+
Claim: `cover` is at least viewport tall and gives its central region all space between the header and footer rows.
|
|
404
|
+
|
|
405
|
+
Context: [`cover`](../../patterns/viewport-shell/cover.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
406
|
+
|
|
407
|
+
Use case: not applicable.
|
|
408
|
+
|
|
409
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `min-block-size` from `.cover` makes the `cover-fill` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
410
|
+
|
|
411
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
412
|
+
|
|
413
|
+
Verification protocol: `node scripts/conservator.mjs --pattern cover --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
414
|
+
|
|
415
|
+
Implementation handoff: not applicable.
|
|
416
|
+
Consumer reference: not_applicable
|
|
417
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
418
|
+
|
|
419
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
420
|
+
|
|
421
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
422
|
+
|
|
423
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `cover-fill`.
|
|
424
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/cover`
|
|
425
|
+
Verified by: auto
|
|
426
|
+
Reviewed at: 2026-10-16
|
|
427
|
+
Review by: not applicable
|
|
428
|
+
Source revision: not applicable
|
|
429
|
+
Conflicts with: not applicable
|
|
430
|
+
|
|
431
|
+
## Claim Record 14 - sidebar Layout Exhibit
|
|
432
|
+
|
|
433
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
434
|
+
|
|
435
|
+
Claim: `sidebar` keeps an 18rem sidebar beside a wider primary region and wraps them when the primary would fall below 16rem.
|
|
436
|
+
|
|
437
|
+
Context: [`sidebar`](../../patterns/split-sidebar/sidebar.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
438
|
+
|
|
439
|
+
Use case: not applicable.
|
|
440
|
+
|
|
441
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `flex-wrap` from `.sidebar` makes the `sidebar-wrap` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
442
|
+
|
|
443
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
444
|
+
|
|
445
|
+
Verification protocol: `node scripts/conservator.mjs --pattern sidebar --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
446
|
+
|
|
447
|
+
Implementation handoff: not applicable.
|
|
448
|
+
Consumer reference: not_applicable
|
|
449
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
450
|
+
|
|
451
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
452
|
+
|
|
453
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
454
|
+
|
|
455
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `sidebar-wrap`.
|
|
456
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/sidebar`
|
|
457
|
+
Verified by: auto
|
|
458
|
+
Reviewed at: 2026-10-16
|
|
459
|
+
Review by: not applicable
|
|
460
|
+
Source revision: not applicable
|
|
461
|
+
Conflicts with: not applicable
|
|
462
|
+
|
|
463
|
+
## Claim Record 15 - switcher Layout Exhibit
|
|
464
|
+
|
|
465
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
466
|
+
|
|
467
|
+
Claim: `switcher` lays all items in one row when the container is at least 40rem and stacks all of them otherwise, never a partial row.
|
|
468
|
+
|
|
469
|
+
Context: [`switcher`](../../patterns/split-sidebar/switcher.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
470
|
+
|
|
471
|
+
Use case: not applicable.
|
|
472
|
+
|
|
473
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `flex-basis` from `.switcher_item` makes the `switcher-all-or-none` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
474
|
+
|
|
475
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
476
|
+
|
|
477
|
+
Verification protocol: `node scripts/conservator.mjs --pattern switcher --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
478
|
+
|
|
479
|
+
Implementation handoff: not applicable.
|
|
480
|
+
Consumer reference: not_applicable
|
|
481
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
482
|
+
|
|
483
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
484
|
+
|
|
485
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
486
|
+
|
|
487
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `switcher-all-or-none`.
|
|
488
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/switcher`
|
|
489
|
+
Verified by: auto
|
|
490
|
+
Reviewed at: 2026-10-16
|
|
491
|
+
Review by: not applicable
|
|
492
|
+
Source revision: not applicable
|
|
493
|
+
Conflicts with: not applicable
|
|
494
|
+
|
|
495
|
+
## Claim Record 16 - media-object Layout Exhibit
|
|
496
|
+
|
|
497
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
498
|
+
|
|
499
|
+
Claim: `media-object` keeps a 6rem media slot top-aligned beside its content when both fit and wraps the content below otherwise.
|
|
500
|
+
|
|
501
|
+
Context: [`media-object`](../../patterns/split-sidebar/media-object.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
502
|
+
|
|
503
|
+
Use case: not applicable.
|
|
504
|
+
|
|
505
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `flex-wrap` from `.media_object` makes the `media-wrap` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
506
|
+
|
|
507
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
508
|
+
|
|
509
|
+
Verification protocol: `node scripts/conservator.mjs --pattern media-object --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
510
|
+
|
|
511
|
+
Implementation handoff: not applicable.
|
|
512
|
+
Consumer reference: not_applicable
|
|
513
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
514
|
+
|
|
515
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
516
|
+
|
|
517
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
518
|
+
|
|
519
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `media-wrap`.
|
|
520
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/media-object`
|
|
521
|
+
Verified by: auto
|
|
522
|
+
Reviewed at: 2026-10-16
|
|
523
|
+
Review by: not applicable
|
|
524
|
+
Source revision: not applicable
|
|
525
|
+
Conflicts with: not applicable
|
|
526
|
+
|
|
527
|
+
## Claim Record 17 - split-nav Layout Exhibit
|
|
528
|
+
|
|
529
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
530
|
+
|
|
531
|
+
Claim: `split-nav` holds primary links at the inline start and pushes secondary links to the inline end.
|
|
532
|
+
|
|
533
|
+
Context: [`split-nav`](../../patterns/in-line-grouping/split-nav.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
534
|
+
|
|
535
|
+
Use case: not applicable.
|
|
536
|
+
|
|
537
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `margin-inline-start` from `.split_nav_secondary` makes the `split-nav-ends` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
538
|
+
|
|
539
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
540
|
+
|
|
541
|
+
Verification protocol: `node scripts/conservator.mjs --pattern split-nav --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
542
|
+
|
|
543
|
+
Implementation handoff: not applicable.
|
|
544
|
+
Consumer reference: not_applicable
|
|
545
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
546
|
+
|
|
547
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
548
|
+
|
|
549
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
550
|
+
|
|
551
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `split-nav-ends`.
|
|
552
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/split-nav`
|
|
553
|
+
Verified by: auto
|
|
554
|
+
Reviewed at: 2026-10-16
|
|
555
|
+
Review by: not applicable
|
|
556
|
+
Source revision: not applicable
|
|
557
|
+
Conflicts with: not applicable
|
|
558
|
+
|
|
559
|
+
## Claim Record 18 - holy-grail Layout Exhibit
|
|
560
|
+
|
|
561
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
562
|
+
|
|
563
|
+
Claim: `holy-grail` spans header and footer across three columns and keeps left, main, and right side by side from 48rem, stacks all five regions in one column in DOM order below 48rem without inline overflow, and fills the viewport block size.
|
|
564
|
+
|
|
565
|
+
Context: [`holy-grail`](../../patterns/viewport-shell/holy-grail.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
566
|
+
|
|
567
|
+
Use case: not applicable.
|
|
568
|
+
|
|
569
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `grid-template` from `.holy_grail` makes the `holy-grail-columns` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
570
|
+
|
|
571
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
572
|
+
|
|
573
|
+
Verification protocol: `node scripts/conservator.mjs --pattern holy-grail --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
574
|
+
|
|
575
|
+
Implementation handoff: not applicable.
|
|
576
|
+
Consumer reference: not_applicable
|
|
577
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
578
|
+
|
|
579
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers. The negative control removes the base three-column `grid-template`, which the 48rem breakpoint overrides at 320px, so it fails at 768 and 1440 only.
|
|
580
|
+
|
|
581
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
582
|
+
|
|
583
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `holy-grail-columns`.
|
|
584
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/holy-grail`
|
|
585
|
+
Verified by: auto
|
|
586
|
+
Reviewed at: 2026-10-16
|
|
587
|
+
Review by: not applicable
|
|
588
|
+
Source revision: not applicable
|
|
589
|
+
Conflicts with: not applicable
|
|
590
|
+
|
|
591
|
+
## Claim Record 19 - sticky-footer Layout Exhibit
|
|
592
|
+
|
|
593
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
594
|
+
|
|
595
|
+
Claim: `sticky-footer` keeps the footer at the viewport's block end when content is short.
|
|
596
|
+
|
|
597
|
+
Context: [`sticky-footer`](../../patterns/viewport-shell/sticky-footer.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
598
|
+
|
|
599
|
+
Use case: not applicable.
|
|
600
|
+
|
|
601
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `min-block-size` from `.sticky_footer` makes the `sticky-footer-end` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
602
|
+
|
|
603
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
604
|
+
|
|
605
|
+
Verification protocol: `node scripts/conservator.mjs --pattern sticky-footer --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
606
|
+
|
|
607
|
+
Implementation handoff: not applicable.
|
|
608
|
+
Consumer reference: not_applicable
|
|
609
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
610
|
+
|
|
611
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
612
|
+
|
|
613
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
614
|
+
|
|
615
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `sticky-footer-end`.
|
|
616
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/sticky-footer`
|
|
617
|
+
Verified by: auto
|
|
618
|
+
Reviewed at: 2026-10-16
|
|
619
|
+
Review by: not applicable
|
|
620
|
+
Source revision: not applicable
|
|
621
|
+
Conflicts with: not applicable
|
|
622
|
+
|
|
623
|
+
## Claim Record 20 - sticky-header Layout Exhibit
|
|
624
|
+
|
|
625
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
626
|
+
|
|
627
|
+
Claim: `sticky-header` stays pinned at the viewport's block start while the document scrolls.
|
|
628
|
+
|
|
629
|
+
Context: [`sticky-header`](../../patterns/viewport-shell/sticky-header.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
630
|
+
|
|
631
|
+
Use case: not applicable.
|
|
632
|
+
|
|
633
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `position` from `.sticky_header` makes the `sticky-header-pinned` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
634
|
+
|
|
635
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
636
|
+
|
|
637
|
+
Verification protocol: `node scripts/conservator.mjs --pattern sticky-header --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
638
|
+
|
|
639
|
+
Implementation handoff: not applicable.
|
|
640
|
+
Consumer reference: not_applicable
|
|
641
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
642
|
+
|
|
643
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
644
|
+
|
|
645
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
646
|
+
|
|
647
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `sticky-header-pinned`.
|
|
648
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/sticky-header`
|
|
649
|
+
Verified by: auto
|
|
650
|
+
Reviewed at: 2026-10-16
|
|
651
|
+
Review by: not applicable
|
|
652
|
+
Source revision: not applicable
|
|
653
|
+
Conflicts with: not applicable
|
|
654
|
+
|
|
655
|
+
## Claim Record 21 - fixed-sidenav-shell Layout Exhibit
|
|
656
|
+
|
|
657
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
658
|
+
|
|
659
|
+
Claim: `fixed-sidenav-shell` keeps a 16rem navigation column in place while only the main region scrolls.
|
|
660
|
+
|
|
661
|
+
Context: [`fixed-sidenav-shell`](../../patterns/viewport-shell/fixed-sidenav-shell.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
662
|
+
|
|
663
|
+
Use case: not applicable.
|
|
664
|
+
|
|
665
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `overflow` from `.fixed_sidenav_shell_main` makes the `sidenav-scroll-owner` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
666
|
+
|
|
667
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
668
|
+
|
|
669
|
+
Verification protocol: `node scripts/conservator.mjs --pattern fixed-sidenav-shell --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
670
|
+
|
|
671
|
+
Implementation handoff: not applicable.
|
|
672
|
+
Consumer reference: not_applicable
|
|
673
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
674
|
+
|
|
675
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
676
|
+
|
|
677
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
678
|
+
|
|
679
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `sidenav-scroll-owner`.
|
|
680
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/fixed-sidenav-shell`
|
|
681
|
+
Verified by: auto
|
|
682
|
+
Reviewed at: 2026-10-16
|
|
683
|
+
Review by: not applicable
|
|
684
|
+
Source revision: not applicable
|
|
685
|
+
Conflicts with: not applicable
|
|
686
|
+
|
|
687
|
+
## Claim Record 22 - sticky-aside Layout Exhibit
|
|
688
|
+
|
|
689
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
690
|
+
|
|
691
|
+
Claim: `sticky-aside` keeps a 16rem aside visible 1rem from the viewport's block start during long reads.
|
|
692
|
+
|
|
693
|
+
Context: [`sticky-aside`](../../patterns/split-sidebar/sticky-aside.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
694
|
+
|
|
695
|
+
Use case: not applicable.
|
|
696
|
+
|
|
697
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `position` from `.sticky_aside_side` makes the `sticky-aside-pinned` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
698
|
+
|
|
699
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
700
|
+
|
|
701
|
+
Verification protocol: `node scripts/conservator.mjs --pattern sticky-aside --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
702
|
+
|
|
703
|
+
Implementation handoff: not applicable.
|
|
704
|
+
Consumer reference: not_applicable
|
|
705
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
706
|
+
|
|
707
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
708
|
+
|
|
709
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
710
|
+
|
|
711
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `sticky-aside-pinned`.
|
|
712
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/sticky-aside`
|
|
713
|
+
Verified by: auto
|
|
714
|
+
Reviewed at: 2026-10-16
|
|
715
|
+
Review by: not applicable
|
|
716
|
+
Source revision: not applicable
|
|
717
|
+
Conflicts with: not applicable
|
|
718
|
+
|
|
719
|
+
## Claim Record 23 - ram-grid Layout Exhibit
|
|
720
|
+
|
|
721
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
722
|
+
|
|
723
|
+
Claim: `ram-grid` repeats as many equal columns of at least 16rem as fit and collapses to one full-width column below that.
|
|
724
|
+
|
|
725
|
+
Context: [`ram-grid`](../../patterns/grid-repetition/ram-grid.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
726
|
+
|
|
727
|
+
Use case: not applicable.
|
|
728
|
+
|
|
729
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `display` from `.ram_grid` makes the `track-count` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
730
|
+
|
|
731
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
732
|
+
|
|
733
|
+
Verification protocol: `node scripts/conservator.mjs --pattern ram-grid --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
734
|
+
|
|
735
|
+
Implementation handoff: not applicable.
|
|
736
|
+
Consumer reference: not_applicable
|
|
737
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
738
|
+
|
|
739
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
740
|
+
|
|
741
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
742
|
+
|
|
743
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `track-count`.
|
|
744
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/ram-grid`
|
|
745
|
+
Verified by: auto
|
|
746
|
+
Reviewed at: 2026-10-16
|
|
747
|
+
Review by: not applicable
|
|
748
|
+
Source revision: not applicable
|
|
749
|
+
Conflicts with: not applicable
|
|
750
|
+
|
|
751
|
+
## Claim Record 24 - card-grid Layout Exhibit
|
|
752
|
+
|
|
753
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
754
|
+
|
|
755
|
+
Claim: `card-grid` repeats as many equal columns of at least 18rem as fit and collapses to one full-width column below that.
|
|
756
|
+
|
|
757
|
+
Context: [`card-grid`](../../patterns/grid-repetition/card-grid.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
758
|
+
|
|
759
|
+
Use case: not applicable.
|
|
760
|
+
|
|
761
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `grid-template-columns` from `.card_grid` makes the `track-count` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
762
|
+
|
|
763
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
764
|
+
|
|
765
|
+
Verification protocol: `node scripts/conservator.mjs --pattern card-grid --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
766
|
+
|
|
767
|
+
Implementation handoff: not applicable.
|
|
768
|
+
Consumer reference: not_applicable
|
|
769
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
770
|
+
|
|
771
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
772
|
+
|
|
773
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
774
|
+
|
|
775
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `track-count`.
|
|
776
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/card-grid`
|
|
777
|
+
Verified by: auto
|
|
778
|
+
Reviewed at: 2026-10-16
|
|
779
|
+
Review by: not applicable
|
|
780
|
+
Source revision: not applicable
|
|
781
|
+
Conflicts with: not applicable
|
|
782
|
+
|
|
783
|
+
## Claim Record 25 - twelve-span-grid Layout Exhibit
|
|
784
|
+
|
|
785
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
786
|
+
|
|
787
|
+
Claim: `twelve-span-grid` items spanning four of twelve tracks sit three to a row at equal widths.
|
|
788
|
+
|
|
789
|
+
Context: [`twelve-span-grid`](../../patterns/grid-repetition/twelve-span-grid.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
790
|
+
|
|
791
|
+
Use case: not applicable.
|
|
792
|
+
|
|
793
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `grid-column` from `.twelve_span_grid_item` makes the `twelve-span-thirds` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
794
|
+
|
|
795
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
796
|
+
|
|
797
|
+
Verification protocol: `node scripts/conservator.mjs --pattern twelve-span-grid --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
798
|
+
|
|
799
|
+
Implementation handoff: not applicable.
|
|
800
|
+
Consumer reference: not_applicable
|
|
801
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
802
|
+
|
|
803
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
804
|
+
|
|
805
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
806
|
+
|
|
807
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `twelve-span-thirds`.
|
|
808
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/twelve-span-grid`
|
|
809
|
+
Verified by: auto
|
|
810
|
+
Reviewed at: 2026-10-16
|
|
811
|
+
Review by: not applicable
|
|
812
|
+
Source revision: not applicable
|
|
813
|
+
Conflicts with: not applicable
|
|
814
|
+
|
|
815
|
+
## Claim Record 26 - page-grid Layout Exhibit
|
|
816
|
+
|
|
817
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
818
|
+
|
|
819
|
+
Claim: `page-grid` centers content in a track of at most 72rem with outer gutters of at least 1rem plus the gap.
|
|
820
|
+
|
|
821
|
+
Context: [`page-grid`](../../patterns/grid-repetition/page-grid.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
822
|
+
|
|
823
|
+
Use case: not applicable.
|
|
824
|
+
|
|
825
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `grid-column` from `.page_grid_content` makes the `page-grid-centered` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
826
|
+
|
|
827
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
828
|
+
|
|
829
|
+
Verification protocol: `node scripts/conservator.mjs --pattern page-grid --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
830
|
+
|
|
831
|
+
Implementation handoff: not applicable.
|
|
832
|
+
Consumer reference: not_applicable
|
|
833
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
834
|
+
|
|
835
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
836
|
+
|
|
837
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
838
|
+
|
|
839
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `page-grid-centered`.
|
|
840
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/page-grid`
|
|
841
|
+
Verified by: auto
|
|
842
|
+
Reviewed at: 2026-10-16
|
|
843
|
+
Review by: not applicable
|
|
844
|
+
Source revision: not applicable
|
|
845
|
+
Conflicts with: not applicable
|
|
846
|
+
|
|
847
|
+
## Claim Record 27 - grid-wrapper Layout Exhibit
|
|
848
|
+
|
|
849
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
850
|
+
|
|
851
|
+
Claim: `grid-wrapper` centers main content in a track of at most 64rem and lets it take the full width when space is short.
|
|
852
|
+
|
|
853
|
+
Context: [`grid-wrapper`](../../patterns/grid-repetition/grid-wrapper.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
854
|
+
|
|
855
|
+
Use case: not applicable.
|
|
856
|
+
|
|
857
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `grid-column` from `.grid_wrapper_main` makes the `grid-wrapper-centered` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
858
|
+
|
|
859
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
860
|
+
|
|
861
|
+
Verification protocol: `node scripts/conservator.mjs --pattern grid-wrapper --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
862
|
+
|
|
863
|
+
Implementation handoff: not applicable.
|
|
864
|
+
Consumer reference: not_applicable
|
|
865
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
866
|
+
|
|
867
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
868
|
+
|
|
869
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
870
|
+
|
|
871
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `grid-wrapper-centered`.
|
|
872
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/grid-wrapper`
|
|
873
|
+
Verified by: auto
|
|
874
|
+
Reviewed at: 2026-10-16
|
|
875
|
+
Review by: not applicable
|
|
876
|
+
Source revision: not applicable
|
|
877
|
+
Conflicts with: not applicable
|
|
878
|
+
|
|
879
|
+
## Claim Record 28 - columns Layout Exhibit
|
|
880
|
+
|
|
881
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
882
|
+
|
|
883
|
+
Claim: `columns` flows long content into as many 18rem columns as fit and returns to one column when narrow.
|
|
884
|
+
|
|
885
|
+
Context: [`columns`](../../patterns/grid-repetition/columns.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
886
|
+
|
|
887
|
+
Use case: not applicable.
|
|
888
|
+
|
|
889
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `columns` from `.columns` makes the `column-flow` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
890
|
+
|
|
891
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
892
|
+
|
|
893
|
+
Verification protocol: `node scripts/conservator.mjs --pattern columns --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
894
|
+
|
|
895
|
+
Implementation handoff: not applicable.
|
|
896
|
+
Consumer reference: not_applicable
|
|
897
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
898
|
+
|
|
899
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
900
|
+
|
|
901
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
902
|
+
|
|
903
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `column-flow`.
|
|
904
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/columns`
|
|
905
|
+
Verified by: auto
|
|
906
|
+
Reviewed at: 2026-10-16
|
|
907
|
+
Review by: not applicable
|
|
908
|
+
Source revision: not applicable
|
|
909
|
+
Conflicts with: not applicable
|
|
910
|
+
|
|
911
|
+
## Claim Record 29 - deconstructed-pancake Layout Exhibit
|
|
912
|
+
|
|
913
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
914
|
+
|
|
915
|
+
Claim: `deconstructed-pancake` items stretch to fill each row and wrap when a 16rem item no longer fits.
|
|
916
|
+
|
|
917
|
+
Context: [`deconstructed-pancake`](../../patterns/in-line-grouping/deconstructed-pancake.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
918
|
+
|
|
919
|
+
Use case: not applicable.
|
|
920
|
+
|
|
921
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `flex` from `.deconstructed_pancake_item` makes the `pancake-stretch` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
922
|
+
|
|
923
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
924
|
+
|
|
925
|
+
Verification protocol: `node scripts/conservator.mjs --pattern deconstructed-pancake --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
926
|
+
|
|
927
|
+
Implementation handoff: not applicable.
|
|
928
|
+
Consumer reference: not_applicable
|
|
929
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
930
|
+
|
|
931
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
932
|
+
|
|
933
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
934
|
+
|
|
935
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `pancake-stretch`.
|
|
936
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/deconstructed-pancake`
|
|
937
|
+
Verified by: auto
|
|
938
|
+
Reviewed at: 2026-10-16
|
|
939
|
+
Review by: not applicable
|
|
940
|
+
Source revision: not applicable
|
|
941
|
+
Conflicts with: not applicable
|
|
942
|
+
|
|
943
|
+
## Claim Record 30 - line-up Layout Exhibit
|
|
944
|
+
|
|
945
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
946
|
+
|
|
947
|
+
Claim: `line-up` pushes each card's footer to the card's block end so actions align across cards of different lengths.
|
|
948
|
+
|
|
949
|
+
Context: [`line-up`](../../patterns/stacking/line-up.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
950
|
+
|
|
951
|
+
Use case: not applicable.
|
|
952
|
+
|
|
953
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `margin-block-start` from `.line_up_footer` makes the `line-up-footers` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
954
|
+
|
|
955
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
956
|
+
|
|
957
|
+
Verification protocol: `node scripts/conservator.mjs --pattern line-up --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
958
|
+
|
|
959
|
+
Implementation handoff: not applicable.
|
|
960
|
+
Consumer reference: not_applicable
|
|
961
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
962
|
+
|
|
963
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
964
|
+
|
|
965
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
966
|
+
|
|
967
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `line-up-footers`.
|
|
968
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/line-up`
|
|
969
|
+
Verified by: auto
|
|
970
|
+
Reviewed at: 2026-10-16
|
|
971
|
+
Review by: not applicable
|
|
972
|
+
Source revision: not applicable
|
|
973
|
+
Conflicts with: not applicable
|
|
974
|
+
|
|
975
|
+
## Claim Record 31 - clamped-card Layout Exhibit
|
|
976
|
+
|
|
977
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
978
|
+
|
|
979
|
+
Claim: `clamped-card` sizes to half the viewport, clamped between 16rem and 28rem, and centers itself.
|
|
980
|
+
|
|
981
|
+
Context: [`clamped-card`](../../patterns/containment/clamped-card.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
982
|
+
|
|
983
|
+
Use case: not applicable.
|
|
984
|
+
|
|
985
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `inline-size` from `.clamped_card` makes the `clamped-width` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
986
|
+
|
|
987
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
988
|
+
|
|
989
|
+
Verification protocol: `node scripts/conservator.mjs --pattern clamped-card --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
990
|
+
|
|
991
|
+
Implementation handoff: not applicable.
|
|
992
|
+
Consumer reference: not_applicable
|
|
993
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
994
|
+
|
|
995
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
996
|
+
|
|
997
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
998
|
+
|
|
999
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `clamped-width`.
|
|
1000
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/clamped-card`
|
|
1001
|
+
Verified by: auto
|
|
1002
|
+
Reviewed at: 2026-10-16
|
|
1003
|
+
Review by: not applicable
|
|
1004
|
+
Source revision: not applicable
|
|
1005
|
+
Conflicts with: not applicable
|
|
1006
|
+
|
|
1007
|
+
## Claim Record 32 - fluid-styles Layout Exhibit
|
|
1008
|
+
|
|
1009
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
1010
|
+
|
|
1011
|
+
Claim: `fluid-styles` fills its parent up to 72rem and centers itself beyond that.
|
|
1012
|
+
|
|
1013
|
+
Context: [`fluid-styles`](../../patterns/containment/fluid-styles.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
1014
|
+
|
|
1015
|
+
Use case: not applicable.
|
|
1016
|
+
|
|
1017
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `inline-size` from `.fluid_styles` makes the `fluid-width` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
1018
|
+
|
|
1019
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
1020
|
+
|
|
1021
|
+
Verification protocol: `node scripts/conservator.mjs --pattern fluid-styles --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
1022
|
+
|
|
1023
|
+
Implementation handoff: not applicable.
|
|
1024
|
+
Consumer reference: not_applicable
|
|
1025
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
1026
|
+
|
|
1027
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
1028
|
+
|
|
1029
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
1030
|
+
|
|
1031
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `fluid-width`.
|
|
1032
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/fluid-styles`
|
|
1033
|
+
Verified by: auto
|
|
1034
|
+
Reviewed at: 2026-10-16
|
|
1035
|
+
Review by: not applicable
|
|
1036
|
+
Source revision: not applicable
|
|
1037
|
+
Conflicts with: not applicable
|
|
1038
|
+
|
|
1039
|
+
## Claim Record 33 - split-screen Layout Exhibit
|
|
1040
|
+
|
|
1041
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
1042
|
+
|
|
1043
|
+
Claim: `split-screen` shows two equal panes side by side when two 20rem panes fit, stacks them otherwise, and is at least viewport tall.
|
|
1044
|
+
|
|
1045
|
+
Context: [`split-screen`](../../patterns/split-sidebar/split-screen.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
1046
|
+
|
|
1047
|
+
Use case: not applicable.
|
|
1048
|
+
|
|
1049
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `display` from `.split_screen` makes the `pane-reflow` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
1050
|
+
|
|
1051
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
1052
|
+
|
|
1053
|
+
Verification protocol: `node scripts/conservator.mjs --pattern split-screen --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
1054
|
+
|
|
1055
|
+
Implementation handoff: not applicable.
|
|
1056
|
+
Consumer reference: not_applicable
|
|
1057
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
1058
|
+
|
|
1059
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
1060
|
+
|
|
1061
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
1062
|
+
|
|
1063
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `pane-reflow`.
|
|
1064
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/split-screen`
|
|
1065
|
+
Verified by: auto
|
|
1066
|
+
Reviewed at: 2026-10-16
|
|
1067
|
+
Review by: not applicable
|
|
1068
|
+
Source revision: not applicable
|
|
1069
|
+
Conflicts with: not applicable
|
|
1070
|
+
|
|
1071
|
+
## Claim Record 34 - list-detail Layout Exhibit
|
|
1072
|
+
|
|
1073
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
1074
|
+
|
|
1075
|
+
Claim: `list-detail` places list and detail side by side when two 18rem panes fit and stacks them otherwise.
|
|
1076
|
+
|
|
1077
|
+
Context: [`list-detail`](../../patterns/split-sidebar/list-detail.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
1078
|
+
|
|
1079
|
+
Use case: not applicable.
|
|
1080
|
+
|
|
1081
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `grid-template-columns` from `.list_detail` makes the `pane-reflow` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
1082
|
+
|
|
1083
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
1084
|
+
|
|
1085
|
+
Verification protocol: `node scripts/conservator.mjs --pattern list-detail --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
1086
|
+
|
|
1087
|
+
Implementation handoff: not applicable.
|
|
1088
|
+
Consumer reference: not_applicable
|
|
1089
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
1090
|
+
|
|
1091
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
1092
|
+
|
|
1093
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
1094
|
+
|
|
1095
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `pane-reflow`.
|
|
1096
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/list-detail`
|
|
1097
|
+
Verified by: auto
|
|
1098
|
+
Reviewed at: 2026-10-16
|
|
1099
|
+
Review by: not applicable
|
|
1100
|
+
Source revision: not applicable
|
|
1101
|
+
Conflicts with: not applicable
|
|
1102
|
+
|
|
1103
|
+
## Claim Record 35 - supporting-pane Layout Exhibit
|
|
1104
|
+
|
|
1105
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
1106
|
+
|
|
1107
|
+
Claim: `supporting-pane` keeps the summary beside the main task when two 20rem panes fit and stacks it below otherwise.
|
|
1108
|
+
|
|
1109
|
+
Context: [`supporting-pane`](../../patterns/split-sidebar/supporting-pane.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
1110
|
+
|
|
1111
|
+
Use case: not applicable.
|
|
1112
|
+
|
|
1113
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `grid-template-columns` from `.supporting_pane` makes the `pane-reflow` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
1114
|
+
|
|
1115
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
1116
|
+
|
|
1117
|
+
Verification protocol: `node scripts/conservator.mjs --pattern supporting-pane --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
1118
|
+
|
|
1119
|
+
Implementation handoff: not applicable.
|
|
1120
|
+
Consumer reference: not_applicable
|
|
1121
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
1122
|
+
|
|
1123
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
1124
|
+
|
|
1125
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
1126
|
+
|
|
1127
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `pane-reflow`.
|
|
1128
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/supporting-pane`
|
|
1129
|
+
Verified by: auto
|
|
1130
|
+
Reviewed at: 2026-10-16
|
|
1131
|
+
Review by: not applicable
|
|
1132
|
+
Source revision: not applicable
|
|
1133
|
+
Conflicts with: not applicable
|
|
1134
|
+
|
|
1135
|
+
## Claim Record 36 - feed Layout Exhibit
|
|
1136
|
+
|
|
1137
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
1138
|
+
|
|
1139
|
+
Claim: `feed` stacks repeated items with one 1rem block gap.
|
|
1140
|
+
|
|
1141
|
+
Context: [`feed`](../../patterns/stacking/feed.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
1142
|
+
|
|
1143
|
+
Use case: not applicable.
|
|
1144
|
+
|
|
1145
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `display` from `.feed` makes the `block-rhythm` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
1146
|
+
|
|
1147
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
1148
|
+
|
|
1149
|
+
Verification protocol: `node scripts/conservator.mjs --pattern feed --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
1150
|
+
|
|
1151
|
+
Implementation handoff: not applicable.
|
|
1152
|
+
Consumer reference: not_applicable
|
|
1153
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
1154
|
+
|
|
1155
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
1156
|
+
|
|
1157
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
1158
|
+
|
|
1159
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `block-rhythm`.
|
|
1160
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/feed`
|
|
1161
|
+
Verified by: auto
|
|
1162
|
+
Reviewed at: 2026-10-16
|
|
1163
|
+
Review by: not applicable
|
|
1164
|
+
Source revision: not applicable
|
|
1165
|
+
Conflicts with: not applicable
|
|
1166
|
+
|
|
1167
|
+
## Claim Record 37 - breadcrumb Layout Exhibit
|
|
1168
|
+
|
|
1169
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
1170
|
+
|
|
1171
|
+
Claim: `breadcrumb` keeps a 0.5rem gap between trail items and wraps the trail instead of overflowing.
|
|
1172
|
+
|
|
1173
|
+
Context: [`breadcrumb`](../../patterns/in-line-grouping/breadcrumb.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
1174
|
+
|
|
1175
|
+
Use case: not applicable.
|
|
1176
|
+
|
|
1177
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `flex-wrap` from `.breadcrumb` makes the `wrap-containment` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
1178
|
+
|
|
1179
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
1180
|
+
|
|
1181
|
+
Verification protocol: `node scripts/conservator.mjs --pattern breadcrumb --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
1182
|
+
|
|
1183
|
+
Implementation handoff: not applicable.
|
|
1184
|
+
Consumer reference: not_applicable
|
|
1185
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
1186
|
+
|
|
1187
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
1188
|
+
|
|
1189
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
1190
|
+
|
|
1191
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `wrap-containment`.
|
|
1192
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/breadcrumb`
|
|
1193
|
+
Verified by: auto
|
|
1194
|
+
Reviewed at: 2026-10-16
|
|
1195
|
+
Review by: not applicable
|
|
1196
|
+
Source revision: not applicable
|
|
1197
|
+
Conflicts with: not applicable
|
|
1198
|
+
|
|
1199
|
+
## Claim Record 38 - pagination Layout Exhibit
|
|
1200
|
+
|
|
1201
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
1202
|
+
|
|
1203
|
+
Claim: `pagination` centers its page controls in the row with a 0.5rem gap.
|
|
1204
|
+
|
|
1205
|
+
Context: [`pagination`](../../patterns/in-line-grouping/pagination.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
1206
|
+
|
|
1207
|
+
Use case: not applicable.
|
|
1208
|
+
|
|
1209
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `justify-content` from `.pagination` makes the `pagination-centered` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
1210
|
+
|
|
1211
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
1212
|
+
|
|
1213
|
+
Verification protocol: `node scripts/conservator.mjs --pattern pagination --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
1214
|
+
|
|
1215
|
+
Implementation handoff: not applicable.
|
|
1216
|
+
Consumer reference: not_applicable
|
|
1217
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
1218
|
+
|
|
1219
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
1220
|
+
|
|
1221
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
1222
|
+
|
|
1223
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `pagination-centered`.
|
|
1224
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/pagination`
|
|
1225
|
+
Verified by: auto
|
|
1226
|
+
Reviewed at: 2026-10-16
|
|
1227
|
+
Review by: not applicable
|
|
1228
|
+
Source revision: not applicable
|
|
1229
|
+
Conflicts with: not applicable
|
|
1230
|
+
|
|
1231
|
+
## Claim Record 39 - badge-list Layout Exhibit
|
|
1232
|
+
|
|
1233
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
1234
|
+
|
|
1235
|
+
Claim: `badge-list` starts each label at the item's inline start and ends each count at the item's inline end.
|
|
1236
|
+
|
|
1237
|
+
Context: [`badge-list`](../../patterns/in-line-grouping/badge-list.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
1238
|
+
|
|
1239
|
+
Use case: not applicable.
|
|
1240
|
+
|
|
1241
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `justify-content` from `.badge_list_item` makes the `badge-ends` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
1242
|
+
|
|
1243
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
1244
|
+
|
|
1245
|
+
Verification protocol: `node scripts/conservator.mjs --pattern badge-list --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
1246
|
+
|
|
1247
|
+
Implementation handoff: not applicable.
|
|
1248
|
+
Consumer reference: not_applicable
|
|
1249
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
1250
|
+
|
|
1251
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
1252
|
+
|
|
1253
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
1254
|
+
|
|
1255
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `badge-ends`.
|
|
1256
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/badge-list`
|
|
1257
|
+
Verified by: auto
|
|
1258
|
+
Reviewed at: 2026-10-16
|
|
1259
|
+
Review by: not applicable
|
|
1260
|
+
Source revision: not applicable
|
|
1261
|
+
Conflicts with: not applicable
|
|
1262
|
+
|
|
1263
|
+
## Claim Record 40 - step-nav Layout Exhibit
|
|
1264
|
+
|
|
1265
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
1266
|
+
|
|
1267
|
+
Claim: `step-nav` stacks steps with one 0.75rem block gap.
|
|
1268
|
+
|
|
1269
|
+
Context: [`step-nav`](../../patterns/stacking/step-nav.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
1270
|
+
|
|
1271
|
+
Use case: not applicable.
|
|
1272
|
+
|
|
1273
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `gap` from `.step_nav` makes the `block-rhythm` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
1274
|
+
|
|
1275
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
1276
|
+
|
|
1277
|
+
Verification protocol: `node scripts/conservator.mjs --pattern step-nav --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
1278
|
+
|
|
1279
|
+
Implementation handoff: not applicable.
|
|
1280
|
+
Consumer reference: not_applicable
|
|
1281
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
1282
|
+
|
|
1283
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
1284
|
+
|
|
1285
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
1286
|
+
|
|
1287
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `block-rhythm`.
|
|
1288
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/step-nav`
|
|
1289
|
+
Verified by: auto
|
|
1290
|
+
Reviewed at: 2026-10-16
|
|
1291
|
+
Review by: not applicable
|
|
1292
|
+
Source revision: not applicable
|
|
1293
|
+
Conflicts with: not applicable
|
|
1294
|
+
|
|
1295
|
+
## Claim Record 41 - tab-strip Layout Exhibit
|
|
1296
|
+
|
|
1297
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
1298
|
+
|
|
1299
|
+
Claim: `tab-strip` keeps peer tabs in a row with a 0.75rem gap and wraps them instead of overflowing.
|
|
1300
|
+
|
|
1301
|
+
Context: [`tab-strip`](../../patterns/in-line-grouping/tab-strip.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
1302
|
+
|
|
1303
|
+
Use case: not applicable.
|
|
1304
|
+
|
|
1305
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `flex-wrap` from `.tab_strip` makes the `wrap-containment` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
1306
|
+
|
|
1307
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
1308
|
+
|
|
1309
|
+
Verification protocol: `node scripts/conservator.mjs --pattern tab-strip --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
1310
|
+
|
|
1311
|
+
Implementation handoff: not applicable.
|
|
1312
|
+
Consumer reference: not_applicable
|
|
1313
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
1314
|
+
|
|
1315
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
1316
|
+
|
|
1317
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
1318
|
+
|
|
1319
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `wrap-containment`.
|
|
1320
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/tab-strip`
|
|
1321
|
+
Verified by: auto
|
|
1322
|
+
Reviewed at: 2026-10-16
|
|
1323
|
+
Review by: not applicable
|
|
1324
|
+
Source revision: not applicable
|
|
1325
|
+
Conflicts with: not applicable
|
|
1326
|
+
|
|
1327
|
+
## Claim Record 42 - reel Layout Exhibit
|
|
1328
|
+
|
|
1329
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
1330
|
+
|
|
1331
|
+
Claim: `reel` keeps items in one row of columns at least 14rem wide and scrolls that row itself, so the document root never overflows inline.
|
|
1332
|
+
|
|
1333
|
+
Context: [`reel`](../../patterns/in-line-grouping/reel.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
1334
|
+
|
|
1335
|
+
Use case: not applicable.
|
|
1336
|
+
|
|
1337
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `overflow-x` from `.reel` makes the `reel-scroll-owner` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
1338
|
+
|
|
1339
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
1340
|
+
|
|
1341
|
+
Verification protocol: `node scripts/conservator.mjs --pattern reel --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
1342
|
+
|
|
1343
|
+
Implementation handoff: not applicable.
|
|
1344
|
+
Consumer reference: not_applicable
|
|
1345
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
1346
|
+
|
|
1347
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
1348
|
+
|
|
1349
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
1350
|
+
|
|
1351
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `reel-scroll-owner`.
|
|
1352
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/reel`
|
|
1353
|
+
Verified by: auto
|
|
1354
|
+
Reviewed at: 2026-10-16
|
|
1355
|
+
Review by: not applicable
|
|
1356
|
+
Source revision: not applicable
|
|
1357
|
+
Conflicts with: not applicable
|
|
1358
|
+
|
|
1359
|
+
## Claim Record 43 - imposter Layout Exhibit
|
|
1360
|
+
|
|
1361
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
1362
|
+
|
|
1363
|
+
Claim: `imposter` covers exactly its anchor, not the page, and centers its content over the anchor without leaving document order.
|
|
1364
|
+
|
|
1365
|
+
Context: [`imposter`](../../patterns/overlay-exception/imposter.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
1366
|
+
|
|
1367
|
+
Use case: not applicable.
|
|
1368
|
+
|
|
1369
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `position` from `.imposter_anchor` makes the `imposter-cover` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
1370
|
+
|
|
1371
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
1372
|
+
|
|
1373
|
+
Verification protocol: `node scripts/conservator.mjs --pattern imposter --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
1374
|
+
|
|
1375
|
+
Implementation handoff: not applicable.
|
|
1376
|
+
Consumer reference: not_applicable
|
|
1377
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
1378
|
+
|
|
1379
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
1380
|
+
|
|
1381
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
1382
|
+
|
|
1383
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `imposter-cover`.
|
|
1384
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/imposter`
|
|
1385
|
+
Verified by: auto
|
|
1386
|
+
Reviewed at: 2026-10-16
|
|
1387
|
+
Review by: not applicable
|
|
1388
|
+
Source revision: not applicable
|
|
1389
|
+
Conflicts with: not applicable
|
|
1390
|
+
|
|
1391
|
+
## Claim Record 44 - panel-layout Layout Exhibit
|
|
1392
|
+
|
|
1393
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
1394
|
+
|
|
1395
|
+
Claim: `panel-layout` places main and utility panels side by side when two 22rem panels fit and stacks them otherwise.
|
|
1396
|
+
|
|
1397
|
+
Context: [`panel-layout`](../../patterns/viewport-shell/panel-layout.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
1398
|
+
|
|
1399
|
+
Use case: not applicable.
|
|
1400
|
+
|
|
1401
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `display` from `.panel_layout` makes the `pane-reflow` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
1402
|
+
|
|
1403
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
1404
|
+
|
|
1405
|
+
Verification protocol: `node scripts/conservator.mjs --pattern panel-layout --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
1406
|
+
|
|
1407
|
+
Implementation handoff: not applicable.
|
|
1408
|
+
Consumer reference: not_applicable
|
|
1409
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
1410
|
+
|
|
1411
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
1412
|
+
|
|
1413
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
1414
|
+
|
|
1415
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `pane-reflow`.
|
|
1416
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/panel-layout`
|
|
1417
|
+
Verified by: auto
|
|
1418
|
+
Reviewed at: 2026-10-16
|
|
1419
|
+
Review by: not applicable
|
|
1420
|
+
Source revision: not applicable
|
|
1421
|
+
Conflicts with: not applicable
|
|
1422
|
+
|
|
1423
|
+
## Claim Record 45 - overlay-stack Layout Exhibit
|
|
1424
|
+
|
|
1425
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
1426
|
+
|
|
1427
|
+
Claim: `overlay-stack` places every item in the same grid cell so they overlap from one origin.
|
|
1428
|
+
|
|
1429
|
+
Context: [`overlay-stack`](../../patterns/overlay-exception/overlay-stack.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
1430
|
+
|
|
1431
|
+
Use case: not applicable.
|
|
1432
|
+
|
|
1433
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `grid-area` from `.overlay_stack_item` makes the `overlay-same-cell` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
1434
|
+
|
|
1435
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
1436
|
+
|
|
1437
|
+
Verification protocol: `node scripts/conservator.mjs --pattern overlay-stack --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
1438
|
+
|
|
1439
|
+
Implementation handoff: not applicable.
|
|
1440
|
+
Consumer reference: not_applicable
|
|
1441
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
1442
|
+
|
|
1443
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
1444
|
+
|
|
1445
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
1446
|
+
|
|
1447
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `overlay-same-cell`.
|
|
1448
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/overlay-stack`
|
|
1449
|
+
Verified by: auto
|
|
1450
|
+
Reviewed at: 2026-10-16
|
|
1451
|
+
Review by: not applicable
|
|
1452
|
+
Source revision: not applicable
|
|
1453
|
+
Conflicts with: not applicable
|
|
1454
|
+
|
|
1455
|
+
## Claim Record 46 - wrap-row Layout Exhibit
|
|
1456
|
+
|
|
1457
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
1458
|
+
|
|
1459
|
+
Claim: `wrap-row` keeps controls in rows with a 0.75rem gap and wraps them instead of overflowing.
|
|
1460
|
+
|
|
1461
|
+
Context: [`wrap-row`](../../patterns/in-line-grouping/wrap-row.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
1462
|
+
|
|
1463
|
+
Use case: not applicable.
|
|
1464
|
+
|
|
1465
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `flex-wrap` from `.wrap_row` makes the `wrap-containment` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
1466
|
+
|
|
1467
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
1468
|
+
|
|
1469
|
+
Verification protocol: `node scripts/conservator.mjs --pattern wrap-row --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
1470
|
+
|
|
1471
|
+
Implementation handoff: not applicable.
|
|
1472
|
+
Consumer reference: not_applicable
|
|
1473
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
1474
|
+
|
|
1475
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
1476
|
+
|
|
1477
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
1478
|
+
|
|
1479
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `wrap-containment`.
|
|
1480
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/wrap-row`
|
|
1481
|
+
Verified by: auto
|
|
1482
|
+
Reviewed at: 2026-10-16
|
|
1483
|
+
Review by: not applicable
|
|
1484
|
+
Source revision: not applicable
|
|
1485
|
+
Conflicts with: not applicable
|
|
1486
|
+
|
|
1487
|
+
## Claim Record 47 - dense-grid Layout Exhibit
|
|
1488
|
+
|
|
1489
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
1490
|
+
|
|
1491
|
+
Claim: `dense-grid` fills as many 8rem columns as fit, even when items run out.
|
|
1492
|
+
|
|
1493
|
+
Context: [`dense-grid`](../../patterns/grid-repetition/dense-grid.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
1494
|
+
|
|
1495
|
+
Use case: not applicable.
|
|
1496
|
+
|
|
1497
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `display` from `.dense_grid` makes the `track-count` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
1498
|
+
|
|
1499
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
1500
|
+
|
|
1501
|
+
Verification protocol: `node scripts/conservator.mjs --pattern dense-grid --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
1502
|
+
|
|
1503
|
+
Implementation handoff: not applicable.
|
|
1504
|
+
Consumer reference: not_applicable
|
|
1505
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
1506
|
+
|
|
1507
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
1508
|
+
|
|
1509
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
1510
|
+
|
|
1511
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `track-count`.
|
|
1512
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/dense-grid`
|
|
1513
|
+
Verified by: auto
|
|
1514
|
+
Reviewed at: 2026-10-16
|
|
1515
|
+
Review by: not applicable
|
|
1516
|
+
Source revision: not applicable
|
|
1517
|
+
Conflicts with: not applicable
|
|
1518
|
+
|
|
1519
|
+
## Claim Record 48 - masonry-approx Layout Exhibit
|
|
1520
|
+
|
|
1521
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
1522
|
+
|
|
1523
|
+
Claim: `masonry-approx` flows items into as many 14rem columns as fit and returns to one column when narrow.
|
|
1524
|
+
|
|
1525
|
+
Context: [`masonry-approx`](../../patterns/grid-repetition/masonry-approx.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
1526
|
+
|
|
1527
|
+
Use case: not applicable.
|
|
1528
|
+
|
|
1529
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `column-width` from `.masonry_approx` makes the `column-flow` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
1530
|
+
|
|
1531
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
1532
|
+
|
|
1533
|
+
Verification protocol: `node scripts/conservator.mjs --pattern masonry-approx --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
1534
|
+
|
|
1535
|
+
Implementation handoff: not applicable.
|
|
1536
|
+
Consumer reference: not_applicable
|
|
1537
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
1538
|
+
|
|
1539
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
1540
|
+
|
|
1541
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
1542
|
+
|
|
1543
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `column-flow`.
|
|
1544
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/masonry-approx`
|
|
1545
|
+
Verified by: auto
|
|
1546
|
+
Reviewed at: 2026-10-16
|
|
1547
|
+
Review by: not applicable
|
|
1548
|
+
Source revision: not applicable
|
|
1549
|
+
Conflicts with: not applicable
|
|
1550
|
+
|
|
1551
|
+
## Claim Record 49 - main-with-rail Layout Exhibit
|
|
1552
|
+
|
|
1553
|
+
Principle: A layout pattern's documented spatial behavior must survive a real render.
|
|
1554
|
+
|
|
1555
|
+
Claim: `main-with-rail` keeps the rail beside main content when two 18rem panes fit and stacks it below otherwise.
|
|
1556
|
+
|
|
1557
|
+
Context: [`main-with-rail`](../../patterns/split-sidebar/main-with-rail.md) states this behavior in prose and CSS; without a render, a CSS or sample edit can break it while every text check stays green.
|
|
1558
|
+
|
|
1559
|
+
Use case: not applicable.
|
|
1560
|
+
|
|
1561
|
+
Warrant: The Conservator renders the doc's CSS block unchanged around stress content at 320, 768, 1440 CSS pixels and measures the claimed geometry; removing `grid-template-columns` from `.main_with_rail` makes the `pane-reflow` measurement fail, so the measurement discriminates the claimed behavior from ordinary flow.
|
|
1562
|
+
|
|
1563
|
+
Evidence family: `validator`, `screenshot`, `accessibility`.
|
|
1564
|
+
|
|
1565
|
+
Verification protocol: `node scripts/conservator.mjs --pattern main-with-rail --controls --json` renders the exhibit and its negative control; `node scripts/test-conservator.mjs` runs every exhibit and control.
|
|
1566
|
+
|
|
1567
|
+
Implementation handoff: not applicable.
|
|
1568
|
+
Consumer reference: not_applicable
|
|
1569
|
+
Consumer reference reason: This Layout pattern record selects no consumer-specific reference record.
|
|
1570
|
+
|
|
1571
|
+
Boundary or limitation: The render covers one Chromium engine, the exhibit's stress content, and 320, 768, 1440 CSS pixels at a 720px viewport height; it does not prove usability, complete accessibility, or behavior in other browsers.
|
|
1572
|
+
|
|
1573
|
+
Debt or escalation: A failing exhibit blocks the change until the pattern CSS or the doc claim is corrected; a flaky measurement is a blocking defect, not an accepted cost.
|
|
1574
|
+
|
|
1575
|
+
Decision: pass when the exhibit is green at every listed width and its negative control fails on `pane-reflow`.
|
|
1576
|
+
Evidence refs: `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/test-conservator.mjs`, `sg://conservator/main-with-rail`
|
|
1577
|
+
Verified by: auto
|
|
1578
|
+
Reviewed at: 2026-10-16
|
|
1579
|
+
Review by: not applicable
|
|
1580
|
+
Source revision: not applicable
|
|
1581
|
+
Conflicts with: not applicable
|
|
88
1582
|
|
|
89
1583
|
## IA Navigation
|
|
90
1584
|
|