# AGENTS.md

You are building **Workshop Handover: Single-Device Local Log (Draft)** (software). Read `PACKAGE.md` first; it is the complete product definition. Do not widen the scope beyond it.

Frozen specification revision 1 · Needs review. Downloading this archive did not approve it. Resolve every item marked unresolved or awaiting review instead of treating it as verified.

## Order of work

1. Wave 1 — Core storage and basic UI (parallel): prd/m1.md, prd/m2.md — Deliver M1 and minimal M2 list/create/acknowledge UI; verify persistence and unresolved-first ordering.
2. Wave 2 — Export and pilot support (sequential): prd/m3.md — Deliver M3 export features, pilot view and finalize acceptance checks for supervised trial.

## Concurrency

At most 1 builder(s) at once. Serialize edits to: schema/indexeddb-schema.json, data-model/handover_item.json, storage/migrations.js.

- Only one builder agent works at a time (serial).
- All edits to sharedFiles must be done serially and reviewed by a human before committing.
- Feature branches are allowed but merges touching sharedFiles require explicit human merge and sanity check on migration tests.

## Definition of done

- Persistence: Records persist across browser restart and device power cycle on the same origin (Manual test: create items, close browser, restart, verify items present)
- Export: JSON and CSV exports contain all fields and are syntactically valid (Automated unit test for JSON validity and CSV header/row counts; manual open of CSV in spreadsheet)
- Ordering and ACK: UI lists unresolved items first and acknowledge records initials+timestamp (End-to-end manual verification with sample dataset (three items) and UI observation)
- Paper comparison: App fields map 1:1 to the laminated paper checklist (Supervisor-led mapping session: take 5 recent paper checklist entries and confirm mapping to in-app items)

Every story in `prd/` must meet its acceptance criteria before the wave is complete. Ask a human when an open question in `PACKAGE.md` blocks a decision; do not guess.
