Skip to content

feat(illustration): seed the clip from the deterministic schematic - #26

Merged
upgradedev merged 1 commit into
mainfrom
feat/schematic-seeded-illustration
Jul 30, 2026
Merged

feat(illustration): seed the clip from the deterministic schematic#26
upgradedev merged 1 commit into
mainfrom
feat/schematic-seeded-illustration

Conversation

@upgradedev

Copy link
Copy Markdown
Owner

Summary

  • The illustration clip was seeded by a text-to-image generated still. A live render on 2026-07-30 (case live-forensic-retry-0bb32eeb) proved prompt-level control alone cannot pin a diffusion model's geometry: even with an explicit "the red car is directly behind the blue car, nose to tail" sentence in the prompt, the model rendered a head-on collision for a rear-end fixture.
  • The clip is now seeded by a raster of the case's own deterministic schematic (SchematicArtifacts.seed_png, the impact-frame render with all drawn text/watermark omitted via render_frame's new annotate flag), so the clip's geometry is inherited from the factual layer instead of requested from a generative model.
  • The clip prompt (report.illustration_prompt) is rewritten into a top-down-diagram register ("animate this top-down forensic reconstruction diagram... vehicles stay perfectly static... only the camera moves"), matching what the seed image actually looks like, while keeping the honesty markers (computer-generated, not a real recording), the no-on-image-text instruction, and the geometry sentence.
  • The manifest's illustration.still_model / illustration.still_prompt no longer claim a text-to-image model produced the seed (still_model is honestly null); a new illustration.still_source: "schematic:impact_frame" field names the seed's real provenance. Existing structural checks (provenance.verify_all, scripts/readiness.py) keep working unmodified against the corrected values.

Test plan

  • pytest --cov=src --cov-fail-under=90 tests/ — 454 passed, 1 skipped (live-VLM, no creds), coverage 96.95% (up from 94.84% baseline)
  • ruff check src tests scripts — clean
  • python scripts/readiness.py --min 95 — PASS, automatable 100.0%
  • New test asserts the clip provider's input bytes equal the independently-recomputed schematic seed (not just "some input")
  • New test asserts burning the disclosure onto the seed reproduces the sealed illustration_still bytes exactly (single-caption invariant)
  • Updated tests/integration/test_illustration_watermark_burn.py to reflect that the still burn no longer depends on the (possibly misbehaving) clip provider
  • CI (all jobs) — polling after this PR opens

The illustration clip was seeded by a text-to-image generated still.
Even with an explicit geometry sentence in the prompt, a live render
on 2026-07-30 rendered a stated rear-end collision as head-on: prompt
text alone cannot pin a diffusion model's geometry.

The clip is now seeded by a raster of the case's own deterministic
schematic (the impact-frame render, unwatermarked so the clip's single
burned-in disclosure stays the only on-image text), so geometry is
inherited from the factual layer instead of requested from a model.
The clip prompt is rewritten to describe animating that top-down
diagram, vehicles held static, while keeping its honesty markers and
the geometry sentence. The manifest's still_model/still_prompt fields
no longer claim a text-to-image model produced the seed; a new
still_source field names the schematic explicitly.
@upgradedev
upgradedev merged commit 739651e into main Jul 30, 2026
11 checks passed
@upgradedev
upgradedev deleted the feat/schematic-seeded-illustration branch July 30, 2026 11:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant