b42e3cb8ce
Phase 1 scaffold for the docs consolidation: - docs/STRUCTURE.md: artifact registry, 8 owner-job ID namespaces, routing and change rules - docs/REQUIREMENTS.md, docs/MILESTONES.md: normative schema, empty pending Phase 2 port - docs/_templates/: requirement-row, capability, contract, adr - docs/capabilities/, docs/contracts/: registered homes - tools/check_requirements.py: enforces registry, IDs, and traceability - AGENTS.md: coding paused banner + structure-contract routing rule - README.md: pointers to the structure/requirements/milestones set Additive only: no doc moves, no requirement text, no CI wiring yet.
54 lines
2.8 KiB
Markdown
54 lines
2.8 KiB
Markdown
# AGENTS.md
|
||
|
||
## STOP — coding paused (Phase 2: requirements reconciliation)
|
||
|
||
Do not implement Milestone 3 or any feature right now. Trunk docs are being consolidated.
|
||
Scope authority is `docs/REQUIREMENTS.md` + `docs/MILESTONES.md`. M3 will be re-derived as a subset of requirement IDs.
|
||
The Milestone 3 text below is the pre-reconciliation state and is not authoritative until Phase 2 completes.
|
||
|
||
## Structure contract (read before creating any doc)
|
||
|
||
Requirements live only in `docs/REQUIREMENTS.md`; milestone scope in `docs/MILESTONES.md`.
|
||
Before creating or moving any doc, look up its home in `docs/STRUCTURE.md` (artifact registry + namespace routing).
|
||
If no home exists, stop and ask Ty — do not create a new artifact.
|
||
Run `python tools/check_requirements.py` after any docs change; it must pass.
|
||
|
||
## Agent context
|
||
|
||
Read `docs/README.md` first, then this file, `docs/CAPTURE.md`, `docs/PHOTOS.md`, and `docs/CREATE.md`.
|
||
|
||
Implement **Milestone 3** only. Specification: `docs/CREATE.md`.
|
||
Product overview: `docs/PRODUCT.md`.
|
||
|
||
**M3 scope** (what is in vs out) comes from Ty conversations and `docs/CREATE.md`.
|
||
**Behavior** for Woo sync, metadata, pricing, and inference is written into `docs/CREATE.md` from the technical requirements on `main`. Do not treat older milestone splits on `main` as scope authority. Do not code against `main` docs by cross-reference. Use `docs/CREATE.md` on this branch.
|
||
|
||
Do not implement work outside `docs/CREATE.md` unless Ty expands scope in chat.
|
||
Do not touch deploy port `:10880`. UAT redeploy target is overnight Docker on ubudual5060 `:10881`.
|
||
|
||
## Milestone 3
|
||
|
||
Create. Exit criteria: a Photos-ready slab is **submission-ready for WooCommerce**, proven by a `SLAB-UAT-*` Woo draft that matches the reviewed ready set. Inference-off path required.
|
||
|
||
## Milestone 1 and 2 (shipped inputs)
|
||
|
||
- Capture: `docs/CAPTURE.md`
|
||
- Photos: `docs/PHOTOS.md` (UAT on `:10881`)
|
||
|
||
## Invariants
|
||
|
||
- Quantity per listing is one.
|
||
- User enters length, thickness, and SKU.
|
||
- App may propose remaining listing fields. User reviews before create.
|
||
- Non-math fields remain editable until create.
|
||
- `bdft = sqft × thickness_in`
|
||
- Price proposal is `bdft × species $/bdft`. User may replace it. Missing rate leaves price empty.
|
||
- User-entered length, thickness, SKU, price, and taxonomy override computed or inferred values.
|
||
- **Woo attributes** means synced species and wood categories; Edge, Figure, Grade, Thickness, Moisture; `fig-*` and `feat-*`. Store is source of truth.
|
||
- Woo auth is WordPress application password (server-side). `WOO_BASE_URL` is compose/env. Inference URL is Settings.
|
||
- SKUs matching `SLAB-UAT-*` create as Woo draft.
|
||
- Create works with inference off.
|
||
- Source below the PNG size floor requires a new photo.
|
||
- Existing store SKU blocks create.
|
||
- Dimension overlay orientation follows the user-approved length axis from Milestone 1.
|