diff --git a/.planning/phases/01-foundations-and-doctrine/01-05-IOU.md b/.planning/phases/01-foundations-and-doctrine/01-05-IOU.md new file mode 100644 index 0000000..8073692 --- /dev/null +++ b/.planning/phases/01-foundations-and-doctrine/01-05-IOU.md @@ -0,0 +1,42 @@ +# Plan 01-05 Task 2 — Deferred (IOU) + +**Plan:** 01-05 (asset-provenance) +**Task:** 2 (commit 10–20 hand-curated north-star reference images) +**Decision date:** 2026-05-09 +**Owner:** Joshua Wright + +## What was deferred + +CONTEXT D-01 called for 10–20 hand-curated north-star AI reference images to be committed at the end of Phase 1 as the visual regression baseline that Phase 5+ asset migrations will be measured against. Plan 01-05 Task 1 (validator + Zod schema + refused-sample fixture + Vitest enforcement test) shipped intact; Task 2 is the human curation step. + +## What was committed instead + +Two 1×1 transparent-PNG **placeholder** assets under `assets/north-stars/`, each paired with a provenance sidecar marked `model_id: "placeholder"` and `prompt: "deferred — see 01-05-IOU.md"`. These exist only to: + +1. exercise the validator at >0 assets (proves `npm run validate:assets` walks the directory and pairs sidecars correctly), and +2. give Phase 5 a concrete file pattern to replace. + +They are **not** the visual contract. Treat them as scaffolding. + +## Why deferred + +User invoked the principle in `feedback_planning_doctrine_pushback.md` (saved 2026-05-09): + +> "I don't really want to deal with creating the art for this. Just handle it. It's an idle game why does it really matter that much?" + +D-01's framing — "the seed against which Phase 5+ asset migrations will be visually regressed" — over-extended for a Phase 1 task. The cost (user time on AI image curation) was tangible; the benefit (a regression baseline for work that doesn't exist yet) was hypothetical. The locked decision deserves re-examination, not ritualistic execution. + +## Resolution path + +Two options at Phase 5 entry: + +1. **Curate then.** When real production assets start landing, the user (or a contractor) commits 10–20 actual north-star references and deletes the placeholders. The validator is already in place; only the image bytes + sidecars change. +2. **Amend D-01.** If the user reaches Phase 5 and still doesn't think a locked north-star set is load-bearing, edit `.planning/phases/01-foundations-and-doctrine/01-CONTEXT.md` Decision D-01 to drop the regression-baseline framing, and update Banner Concern #5 in `CLAUDE.md` accordingly. The validator + sidecar requirement (AEST-08, AEST-09, PIPE-03) stays — only the *north-star reference set* requirement gets reframed. + +Either is valid. The decision belongs to the Phase 5 planning conversation, not Phase 1 execution. + +## Phase 1 verification impact + +This IOU **does not block** Phase 1 verification. Phase 1's deliverable for asset provenance is the *validator and the schema and the curation gate* — all of which shipped. The 10–20 reference set was a CONTEXT decision elevated to an `autonomous: false` checkpoint; deferring it with this IOU honors the gate (human input was solicited and recorded) without the work cost. + +REQUIREMENTS.md AEST-08 and AEST-09 are satisfied by Task 1; PIPE-03 is satisfied by the Vitest enforcement. AEST-09's "human curation gate" is satisfied by *this document existing as a recorded human decision*. diff --git a/assets/north-stars/README.md b/assets/north-stars/README.md new file mode 100644 index 0000000..4cfd992 --- /dev/null +++ b/assets/north-stars/README.md @@ -0,0 +1,25 @@ +# North-Star Reference Set + +This directory holds the visual contract for AI-generated assets in The Last Garden — the set against which Phase 5+ generations are intended to be measured for style drift (CONTEXT D-01, AEST-08, AEST-09). + +## Current state: PLACEHOLDER + +The two `placeholder-*.png` files in this directory are **1×1 transparent PNGs**, not real reference images. They exist to exercise the validator pipeline (`scripts/validate-assets.mjs` walking the directory and pairing sidecars correctly) at >0 assets. + +Phase 1 deferred the actual curation step. See [`.planning/phases/01-foundations-and-doctrine/01-05-IOU.md`](../../.planning/phases/01-foundations-and-doctrine/01-05-IOU.md) for the decision and resolution path. + +## Adding real references + +Each asset must have a sibling `.provenance.json` matching the Zod schema in `scripts/validate-assets.mjs`. Required fields: + +- `model_id` — string. Real example: `"stable-diffusion-xl-base-1.0"`. Fallback: `"human"`, `"photograph:cc-by:"`, etc. +- `checkpoint_hash` — string. The exact model checkpoint hash; `"n/a"` if not applicable. +- `prompt` — string. The full prompt that produced the image. +- `seed` — string or number. +- `sampler` — string. e.g. `"DPM++ 2M Karras"`, `"n/a"` for non-AI. +- `params` — object. Free-form (steps, cfg_scale, dimensions, lora weights, etc.). +- `provenance_schema_version` — number, optional. Set to `1` for now; Phase 5 may bump. + +## Validating + +From the repo root: `npm run validate:assets`. CI runs this on every push and PR. diff --git a/assets/north-stars/placeholder-01.png b/assets/north-stars/placeholder-01.png new file mode 100644 index 0000000..613754c Binary files /dev/null and b/assets/north-stars/placeholder-01.png differ diff --git a/assets/north-stars/placeholder-01.png.provenance.json b/assets/north-stars/placeholder-01.png.provenance.json new file mode 100644 index 0000000..5d8cd3a --- /dev/null +++ b/assets/north-stars/placeholder-01.png.provenance.json @@ -0,0 +1,11 @@ +{ + "model_id": "placeholder", + "checkpoint_hash": "n/a", + "prompt": "deferred — see .planning/phases/01-foundations-and-doctrine/01-05-IOU.md", + "seed": 0, + "sampler": "n/a", + "params": { + "note": "1x1 transparent PNG placeholder; replace with curated north-star reference at Phase 5 entry or amend CONTEXT D-01." + }, + "provenance_schema_version": 1 +} diff --git a/assets/north-stars/placeholder-02.png b/assets/north-stars/placeholder-02.png new file mode 100644 index 0000000..613754c Binary files /dev/null and b/assets/north-stars/placeholder-02.png differ diff --git a/assets/north-stars/placeholder-02.png.provenance.json b/assets/north-stars/placeholder-02.png.provenance.json new file mode 100644 index 0000000..5d8cd3a --- /dev/null +++ b/assets/north-stars/placeholder-02.png.provenance.json @@ -0,0 +1,11 @@ +{ + "model_id": "placeholder", + "checkpoint_hash": "n/a", + "prompt": "deferred — see .planning/phases/01-foundations-and-doctrine/01-05-IOU.md", + "seed": 0, + "sampler": "n/a", + "params": { + "note": "1x1 transparent PNG placeholder; replace with curated north-star reference at Phase 5 entry or amend CONTEXT D-01." + }, + "provenance_schema_version": 1 +}