Skip to content

Freeze immutable prepared-job packages #11

Description

@jamiejk

Parent

#1

What to build

Add an explicit Prepare Job boundary that freezes the current plot artwork into one authoritative SVG and one companion JSON record. Later editing must not alter the prepared payload.

Acceptance criteria

  • The user supplies a display name and explicitly prepares the current artwork.
  • Preparation creates an immutable UUID, creation timestamp, sanitized slug, and schema and generator versions.
  • The package contains exactly one authoritative SVG and one JSON record.
  • JSON records complete generating settings, paper and active-pen data, pass/phase ordering, SVG filename, lifecycle status, and SHA-256 SVG checksum.
  • The initial lifecycle status is draft.
  • Later artwork edits do not change the prepared SVG, identity, creation time, parameters, ordering, or checksum.
  • Lifecycle and delivery metadata can advance without mutating the frozen plot content.
  • Sending consumes the frozen prepared payload rather than regenerating current artwork.

Blocked by

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentFully specified and ready for an agent

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions