f0f891f80e
UAT requires prompt tuning, so the iteration system is M3; only the editing UI is deferred. - METADATA-105 now covers storage, append-only revisions, and recording the revision used. - METADATA-106 adds the REST revision interface (append, activate, read); no prompt UI. - METADATA-107 records the missing authentication as a later row; there is no M4 yet, so the PoR carries it. - PROMPTS.md owns the seed text as revision 0, the seed mechanism, and the interface; sections renumbered after inserting them. - DATA-MODEL.md §7 cites PROMPTS.md, adds content_hash, and states the append-only rule. - task_breakdown.md notes the S7 interface and the deferred auth. 155 requirements; both gates pass.
47 lines
2.7 KiB
Markdown
47 lines
2.7 KiB
Markdown
# M3 — task breakdown
|
|
|
|
Role: breakdown. Ordered task list for v0.5 / M3. Cites requirement IDs; defines none.
|
|
|
|
Objectives: `roadmap.md` in this folder. Behavior and acceptance: `docs/capabilities/CREATE.md`.
|
|
Scope and IDs: `docs/MILESTONES.md`. Decisions live in `docs/contracts/`, not here.
|
|
|
|
TDD every slice: the failing test precedes its implementation; never parallelize RED and GREEN of
|
|
the same scenario.
|
|
|
|
| Slice | Delivers | M3 IDs |
|
|
|---|---|---|
|
|
| S0 | factory, config/startup guards, health/meta, JSON logs, Dockerfile | APP-30, APP-45, APP-55, APP-65, SETTINGS-10, SETTINGS-25, OPS-25 |
|
|
| S1 | AES-GCM crypto + Settings (masked, write-only secrets) | SETTINGS-5/15/20/25/30/35/75/85/90, QUALITY-125 |
|
|
| S2 | slabs CRUD, optimistic concurrency, soft delete | APP-5/15/20/35/40, REVIEW-45 |
|
|
| S3 | photos (multipart → BLOBs, original/processed, 410 after purge) | CAPTURE-95/105/130, PUBLISH-40 |
|
|
| S4 | Woo client (application-password Basic) + taxonomy sync + test-woo | METADATA-5/10/15/20/30, SETTINGS-40/50/51/55/60/80, QUALITY-35 |
|
|
| S5 | pricing, deterministic templates, server-derived ready | REVIEW-5/10/15/20/25/30/35/40/50, METADATA-70/80/85/90, QUALITY-90/95 |
|
|
| S6 | publish (sequence, UAT draft, duplicate/stale/partial failure) | PUBLISH-5/10/15/20/25/30/31/35/36/37/38/40/45/50/55/60 |
|
|
| S7 | inference last (Call 1 / Call 2, prompt revisions, template fallback) | METADATA-35/40/45/50/55/60/65/66/75/95/100/105/106/110/115, SETTINGS-45/70 |
|
|
| Cross | frontend API client; Review / Settings / Publish screens | UI for the slices above |
|
|
| Exit | inference-off suite, Woo-mock integration, Compose UI E2E, real UAT draft | QUALITY-20/35/50/105/110/120 |
|
|
|
|
## Parked work items
|
|
|
|
1. The seven per-leaf long-description prose templates (the specialized Call 2 prompts) are
|
|
authored when the Call 2 slice is built (`METADATA-85`): Knife blanks, Dimensional wood, Live
|
|
edge wood, Bowl blanks, logs and caps, Pen blanks, Pepper mill blanks.
|
|
2. `Specialty cuts` is out of M3: no title pattern, no prose template, no Call 2 prompt.
|
|
3. S7 ships the prompt revision REST interface (`METADATA-106`) so UAT prompt tuning can be done
|
|
against the running server. There is no prompt editing UI; tuning is an API call.
|
|
4. Authentication for the prompt revision interface is `later` (`METADATA-107`), not M3.
|
|
|
|
## Frontend layout
|
|
|
|
New code stays outside the Capture union: `frontend/src/api/*`, `frontend/src/create/*`.
|
|
|
|
## Verification
|
|
|
|
Slice bar: `docs/contracts/TEST-SPEC.md`. Docs gate: `python tools/check_requirements.py`.
|
|
Exit bar: `docs/MILESTONES.md` and `docs/capabilities/CREATE.md`.
|
|
|
|
## Not yet validated
|
|
|
|
- Long-horizon multi-step agentic loops (more than one or two tool round-trips).
|
|
- M3 implementation has not started.
|