# AGENTS.md

You are building **Benchtop XYZ inspection workstation — LIGHT** (hybrid). 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 — Mechanical reference baseline (sequential): prd/m1.md, prd/m2.md — Review M1 then M2, publish the shared manifest and preserve all unresolved mechanical questions without CAD generation.
2. Wave 2 — Record and handoff specification (sequential): prd/m3.md — Specify M3 against the reviewed reference baseline and prepare proposed synthetic checks, without implementation.

## Concurrency

At most 1 builder(s) at once. Serialize edits to: mechanicalDesign.json, mechanical-crosswalk.json, setup-manifest.json, record-contract.md, review-register.md.

- One builder works sequentially through M1, M2 and M3.
- These are proposed artifact names; no files are claimed to exist.
- Never edit the supplied mechanicalDesign payload.
- Only the mechanical-review role changes the proposed crosswalk; dependent manifest changes require record review.
- Stop at review specifications and proposed checks; CAD, source generation and measured validation are later operations.
- Use only the three supplied investigation nodes.

## Definition of done

- Contract preservation: Proposed check: all values, array order, units, origin and limitations match the supplied JSON. (Later recursive JSON comparison against the supplied payload; report every difference.)
- Mechanical interfaces: Proposed check: document conditional optics overlaps, X attachment questions and undefined motion endpoints. (Review supplied-coordinate arithmetic now; request later identified sections and endpoint checks.)
- Geometry evidence: Future targets: 60–100 placed components, at least 25 distinct non-fastener designs and at least 8 subassemblies. (Separate builder reports actual counts, bounds, assembly, exploded and section views; no result asserted.)
- Reference confirmation: Proposed cases: matching references, changed fixture, changed manifest, stale view and missing listed image. (Specify synthetic inputs and expected record-only outcomes; do not report execution or passing results.)
- Revision integrity: Proposed case: two views request transitions from the same record revision; the stale request is rejected. (Later exercise transactional latest-revision comparison with two synthetic browser views.)
- Handoff and adjustment: Proposed cases: incomplete offer, unacknowledged limitations and a setup change after acknowledgement. (Walk the role/state table; expect blocked receipt or renewed review, never physical action.)
- Local-only scope: Proposed review: metadata only, no network uploads, device APIs, real images or identity claims. (Review future schema, browser API use and export fields against the exclusions.)
- Prototype evidence boundary: Loads, fits, protection, electrical integration and prototype validation remain unresolved. (Maintain an open review register; do not substitute counts, renderings or record states for validation.)

## CAD

If generated artifacts are present, `cad/<part>/` holds their parametric source and exported views. The dimensions and mass in PACKAGE.md are design requirements, not measurements or proof of manufacture. Inspect each generated result and its checks before use.

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.
