test(pipeline): commit InDesign sample fixtures exercised in CI — closes epic #61#94
Merged
Merged
Conversation
Closes the last epic acceptance criterion: a representative .idml and an exported PDF committed under tests/fixtures/indesign/ and exercised in CI. Honors the pipeline's "fixtures are code, not blobs" convention — the canonical two-spread "Spring Brochure" is a readable spec materialized into both formats on demand rather than checked-in binaries: - brochure.mjs — the spec + buildBrochureIdml()/buildBrochurePdf() - emit.mjs — CLI to write brochure.idml/brochure.pdf to disk - fixtures.test.mjs — end-to-end: both formats → a valid FSE theme (one pattern per spread, populated theme.json); asserts the IDML and PDF import the same logical brochure - README.md — documents the fixtures and the no-blobs rationale CI: pipeline-tests.yml runs the fixture test in the test-indesign-pkg job and adds tests/fixtures/indesign/** to the path filter. docs/pipelines/indesign.md gains a "Sample fixtures" section. With this, every #61 acceptance criterion is met and the InDesign epic can be closed. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes the InDesign-to-WordPress epic (#61). All sub-issues (#62–#66) are already merged to
main; this PR resolves the one remaining epic acceptance criterion:Approach — fixtures as code, not blobs
Per the pipeline's standing convention (and the parser/smoke tests), the canonical sample document — a two-spread Spring Brochure (text-heavy cover + image-heavy hero with master-spread footer chrome) — is a readable spec materialized into both input formats on demand, rather than committed binaries:
tests/fixtures/indesign/brochure.mjsbuildBrochureIdml()/buildBrochurePdf()tests/fixtures/indesign/emit.mjsbrochure.idml+brochure.pdfto disktests/fixtures/indesign/fixtures.test.mjstests/fixtures/indesign/README.mdWhat's exercised in CI
fixtures.test.mjsruns the full pipeline (parse → map tokens → generate) for both formats and asserts each yields:theme.json(version 3, populated palette + typography scale).md+.json)Plus a source-agnostic check that the
.idmland PDF import the same logical brochure (same spread/pattern count). Wired intopipeline-tests.yml(test-indesign-pkgjob) withtests/fixtures/indesign/**added to the path filter.Verification
Also verified the emitted files run through the real CLI end-to-end:
node tests/fixtures/indesign/emit.mjs→flavian pipeline indesign brochure.idml/brochure.pdf→ valid themes.Epic acceptance criteria — all met
.idml→ working FSE theme (≥1 pattern/spread + theme.json)indesign-to-wordpressagent in README +.claude/agents/flavian pipeline indesign <input>documented indocs/tests/fixtures/indesign/and exercised in CI ← this PROnce merged, #61 can be closed.
🤖 Generated with Claude Code