Repository navigation
Add a synthetic comic fixture and reusable document-type fixture packs #413
Description
Outcome
Create an original, redistribution-safe mock comic book as a reusable Renderflow test fixture, and establish a small convention for adding fixture packs for specific document types later (for example a comic, magazine, article, presentation, or book).
This captures Alan's idea for later implementation. It does not authorize implementation now or expand the current comics consumer checkpoint.
Placement and existing work
- Parent corpus: Build a comprehensive adversarial rendering fixture corpus #412 — comprehensive adversarial rendering fixtures.
- Reuse and extend the existing golden-corpus contracts and harness from Establish a golden artifact corpus and end-to-end artifact-forest conformance suite #366 / PR test(conformance): add golden artifact corpus #403.
- Capability roadmap: Roadmap: universal artifact forest, maximal Renderflow profile, and Flow orchestration readiness #367.
- Layered/localized page coverage should reuse [Publication] Add localization-ready layered page composition and locale render targets #406 when available; do not make unimplemented layered capabilities a prerequisite for the initial static comic pack.
- Flow owns cross-tool workflow tests in flow#13 and comic orchestration in flow#10.
- The separate comics#93 probe stays bounded to consumer evidence. This future reusable corpus is not a new blocker for it.
Scope
1. A small synthetic comic
Create a coherent fictional mini comic with original text, simple reproducible artwork, multiple pages/panels, captions/dialogue, covers, reading order, and accessibility text. Use deterministic source recipes and generators where practical. If any artwork is generated manually or with AI, record provenance, review, redistribution permission, and immutable digests; ordinary test runs must not call an image-generation service.
Keep sources small and inspectable, use appropriately licensed pinned fonts, and document the rights/provenance of every bundled asset. Do not copy private Ego Hygiene comic artwork, characters, canonical text, approval records, or personal data.
Provide a minimal PR-sized case and a parameterized larger publication case. The larger recipe should be able to exercise a 44-interior-page plus separate two-page cover-PDF model as a synthetic configuration, while reporting unsupported exporter or provider mappings explicitly. Do not hard-code one consumer's page plan into Renderflow core.
2. Reusable document-type fixture packs
Extend the existing fixture manifest/schema rather than inventing a competing test framework. A pack should identify:
- stable pack/case IDs and document type;
- source recipe, seed/parameters, generator and tool pins;
- asset provenance/licenses and source digests;
- selected profile/template and their identities or hashes;
- required and optional capabilities;
- expected artifact roles, schemas, media types, page geometry/count/order, and semantic relationships;
- validator identities/outcomes and expected typed diagnostics;
- resource limits and PR/nightly/release tier.
Document how a contributor adds another document type using one pack, generator/source recipe, and expected-outcome manifest. Implement the comic pack first; other document types are follow-up cases, not a requirement to build every type in this issue.
3. Positive and negative publication coverage
Use observed public CLI/API capabilities to exercise configured PDF/web/EPUB/publication branches and provider-specific preflight where actually supported.
Keep artifact generation, format validation, and provider-conformance checking distinct. A Lulu checker is not a Lulu exporter, and a synthetic passing check is not provider acceptance or approval to publish.
Include bounded, named cases such as:
- complete valid source and supported outputs;
- missing/corrupt page asset, wrong page order/count or geometry;
- missing font/resource, inaccessible or incomplete semantic metadata;
- malformed source/package, digest mismatch, stale profile/template;
- unavailable or incompatible provider;
- successful provider exit with missing/invalid artifacts;
- cancellation/cleanup and deterministic rerun where supported.
Assert artifact contents/structure and validation evidence, source immutability, and absence of network/upload/publication side effects. Unsupported capabilities must produce explicit expected outcomes; a skipped real-provider integration must not be reported as an executed success.
Acceptance criteria
- The original comic source is small, reviewable, legally reusable, and independent of private consumer content.
- The initial comic fixture is reproducible under pinned dependencies; intentional variability is documented and bounded.
- Minimal and larger publication cases reuse the same parameterized recipe.
- A versioned pack convention extends the existing corpus and documents how to add another document type.
- Expected artifacts and failures are machine-readable and tied to source/profile/tool/template identities.
- Positive cases inspect real outputs; negative cases verify typed diagnostics and cleanup rather than exit code alone.
- EPUB and print/provider boundaries are demonstrated only where supported, with honest residual gaps.
- CI enforces time/size/memory budgets and distinguishes PR, broader, and provider-dependent tiers.
- Golden changes require explicit review; tests never silently rewrite baselines.
- No source mutation, remote AI, provider upload, paid service, publication, or inherited human approval occurs during ordinary tests.
Scheduling and non-goals
Deferred under #412; select a bounded implementation checkpoint after reviewing current contracts. Keep the first comic pack and its extension convention reviewable in one PR, and split further format coverage into later issues if needed.
No Flow implementation, consumer release work, blanket format-support claims, new fixture framework, or large binary collection belongs in this issue.
Audit-to-roadmap reconciliation — 2026-10-21
Audit: https://github.com/egohygiene/renderflow/blob/audit/flow-suite-20261021T025401Z/audits/flow-suite-20261021T025401Z.md · Complete roadmap: #367
Focused synthetic-comic child of #412; no private artwork, hardcoded consumer schema or new comics release blocker.
Bounded preparation: Design one small parameterized comic fixture and reusable document-type convention.
Full outcome remains gated (*): #412 fixture convention/current publication routes and deferred execution; it does not gate comics #93.
The maintainer's implementation-sprint qualification deferral remains in force. This audit ran no Renderflow tests, compiler/build/Cargo resolution, product lint/format/schema qualification, native/CLI/provider/visual execution, installers or new CI. Reading existing exact-source provider records is not a qualification rerun. Source implementation and authored tests are not passing-test, native-fidelity, release or downstream-consumer evidence.
This is an additive planning note. The full original issue, acceptance criteria, scope, parent references and historical checkpoints remain authoritative and unchanged. No acceptance box or issue is closed by this audit. Recommended ledger parent: #412.
Activity