Split out of #461, whose last direction was to refresh the demo content its inventory turned up. The rest of that issue is closed: the previews are now held to the code and re-rendered on every cut. This is the half no gate can catch — the examples are about releases that shipped six versions ago, and rendering them faithfully is exactly what keeps saying so.
What is dated
Seven committed previews, not the two #461 named. The inventory there listed master-showcase.pdf (since rewritten), canvas-layer-showcase.pdf and inline-highlight-chips.pdf; scanning all sixty-seven for a v1.x in prose — discarding measurements, scale factors and API arguments that merely look like versions — turns up four more.
| preview |
source |
what it says |
nested-list-showcase.pdf |
features/lists/NestedListExample.java |
"v1.6 Phase A — Nested list ergonomics", "Nested lists landed in v1.6", "Migration guide v1.5 to v1.6", "Phase E.4 deferred to v1.7" |
canvas-layer-showcase.pdf |
features/canvas/CanvasLayerExample.java |
"v1.6 Phase C — CanvasLayerNode", "GraphCompose v1.6", "Issued for shipping the v1.6 expressive release" |
composed-table-cell-showcase.pdf |
features/tables/ComposedTableCellExample.java |
"v1.6 Phase B — Composed table cell content" |
rich-text-showcase.pdf |
features/text/RichTextShowcaseExample.java |
"Read the template authoring cheatsheet or the v1.6 roadmap" |
inline-highlight-chips.pdf |
features/text/InlineHighlightExample.java |
"Run ./mvnw verify then tag v1.9.0 to publish graph-compose-emoji" |
cover-letter.pdf |
templates/coverletter/CoverLetterFileExample.java |
"Composed with GraphCompose v1.5" |
weekly-schedule.pdf |
support/WeeklyScheduleRenderer.java |
"Composed with GraphCompose v1.5" |
Three shapes, and they do not want the same fix:
- Roadmap framing. "v1.6 Phase A/B/C" reads as a plan document for a release that shipped. The feature is current; only the framing dates it. These are the ones a reader is most likely to open, since they demo nested lists, composed cells and the canvas layer.
- A dated instruction. The chips example tells the reader to tag v1.9.0 to publish
graph-compose-emoji — a step that already happened, in a file demonstrating inline code chips.
- A signature. "Composed with GraphCompose v1.5" is a footer credit. It could name the current version, but then it dates itself again between releases; dropping the number is the version of this that never rots.
Not in scope
inline-code-column-wrap.pdf shows io.github.demchaav:graph-compose:1.9.0 and org.junit.jupiter:junit-jupiter:5.10.2 as table cells. #461 classified that as fine and it still is: the versions are the subject matter — the demo is about wrapping a long inline-code chip in a narrow column, and a coordinate is the realistic thing to put there.
Why this cannot be guarded
CommittedAssetDriftTest compares a committed preview against a fresh render, so it catches a preview falling behind its example. It cannot catch an example that renders faithfully and reads as a 2026 document about 2025. A guard on "no v1.x in a rendered example" would fire on the coordinate above, and on any example whose subject is a version — so this is a writing task, and the reason it is filed rather than automated.
Each fix is a string in one example; the preview follows on the next cut, and the drift gate will fail until it is re-rendered, which is the intended prompt.
Split out of #461, whose last direction was to refresh the demo content its inventory turned up. The rest of that issue is closed: the previews are now held to the code and re-rendered on every cut. This is the half no gate can catch — the examples are about releases that shipped six versions ago, and rendering them faithfully is exactly what keeps saying so.
What is dated
Seven committed previews, not the two #461 named. The inventory there listed
master-showcase.pdf(since rewritten),canvas-layer-showcase.pdfandinline-highlight-chips.pdf; scanning all sixty-seven for av1.xin prose — discarding measurements, scale factors and API arguments that merely look like versions — turns up four more.nested-list-showcase.pdffeatures/lists/NestedListExample.javacanvas-layer-showcase.pdffeatures/canvas/CanvasLayerExample.javacomposed-table-cell-showcase.pdffeatures/tables/ComposedTableCellExample.javarich-text-showcase.pdffeatures/text/RichTextShowcaseExample.javainline-highlight-chips.pdffeatures/text/InlineHighlightExample.java./mvnw verifythen tag v1.9.0 to publish graph-compose-emoji"cover-letter.pdftemplates/coverletter/CoverLetterFileExample.javaweekly-schedule.pdfsupport/WeeklyScheduleRenderer.javaThree shapes, and they do not want the same fix:
graph-compose-emoji— a step that already happened, in a file demonstrating inline code chips.Not in scope
inline-code-column-wrap.pdfshowsio.github.demchaav:graph-compose:1.9.0andorg.junit.jupiter:junit-jupiter:5.10.2as table cells. #461 classified that as fine and it still is: the versions are the subject matter — the demo is about wrapping a long inline-code chip in a narrow column, and a coordinate is the realistic thing to put there.Why this cannot be guarded
CommittedAssetDriftTestcompares a committed preview against a fresh render, so it catches a preview falling behind its example. It cannot catch an example that renders faithfully and reads as a 2026 document about 2025. A guard on "nov1.xin a rendered example" would fire on the coordinate above, and on any example whose subject is a version — so this is a writing task, and the reason it is filed rather than automated.Each fix is a string in one example; the preview follows on the next cut, and the drift gate will fail until it is re-rendered, which is the intended prompt.