Files
SlabUploader/AGENTS.md
T
Ty 01aa4c52c3 docs(phase2): reconcile requirements and migrate capabilities/contracts
Surface-matrix sweep of every source doc; added nine missed behaviors (METADATA-115, REVIEW-50, APP-55/60/65, SETTINGS-45 mode, Generate-text availability, defaults-off). 153 requirements, 0 coverage gaps.

Migrated capabilities to docs/capabilities/ and contracts to docs/contracts/; added WOO-API, API, DATA-MODEL, PROMPTS, UX, TEST-SPEC. Populated MILESTONES; branch-neutral trunk docs; renamed umbrella term to Woo Slab Taxonomy. Archived reconciliation working records under .audit/archive/.
2026-09-18 21:02:06 -07:00

3.2 KiB
Raw Blame History

AGENTS.md

Status — Phase 2 reconciliation complete

docs/REQUIREMENTS.md (153 rows) is the only normative text; scope is the M3 ID subset in docs/MILESTONES.md. Capability and contract docs live in docs/capabilities/ and docs/contracts/. Reconciliation evidence is archived under .audit/archive/; the coverage ledger and matrices are in .audit/coverage/. Starting implementation is Ty's call; when it starts, implement only the M3 ID subset.

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 runtime rules

  • Subagents (explore, general) run on a single local GPU and cannot handle concurrency. Invoke only one subagent at a time; never issue parallel subagent calls.
  • Subagents are for mechanical extraction only (read and list). They never write and never set a disposition; rulings stay with Ty.

Agent context

Read docs/README.md first, then this file, docs/capabilities/CAPTURE.md, docs/capabilities/PHOTOS.md, and docs/capabilities/CREATE.md.

Implement Milestone 3 only. Specification: docs/capabilities/CREATE.md. Product overview: docs/PRODUCT.md.

M3 scope (what is in vs out) comes from Ty conversations and the reconciled docs/MILESTONES.md + docs/REQUIREMENTS.md. Behavior for Woo sync, metadata, pricing, and inference is in docs/capabilities/CREATE.md and the docs/contracts/ set. docs/REQUIREMENTS.md is the only normative text.

Do not implement work outside the M3 requirement subset 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/capabilities/CAPTURE.md
  • Photos: docs/capabilities/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 Slab Taxonomy 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.