docs(m3): reconcile the remaining docs with the settled design
Docs written before this thread still carried the three-source copy model and the Call 2 fields it implied. - REQUIREMENTS.md REVIEW-10: title and short description are deterministic; the description comes from the model or the server. - CREATE.md: primary category declared before Call 2; deterministic copy; the prompt revision interface; the slug; auth row in out-of-scope. - API.md: infer-content inputs and result are the long description only. - UAT-PRACTICE.md: the walk no longer tells the owner to leave copy for templates. - README.md: the deploy section duplicated docs/DEPLOYMENT.md and deploy/INVENTORY.md; it now points at them. - DEPLOYMENT.md: the prompt seed is stated per METADATA-105. Both gates pass.
This commit is contained in:
+25
-24
@@ -14,9 +14,9 @@ lives in `docs/contracts/` (`API.md`, `WOO-API.md`, `DATA-MODEL.md`, `PROMPTS.md
|
||||
| REVIEW-25, REVIEW-30, REVIEW-35, REVIEW-40, REVIEW-45, REVIEW-50 | price, read-only math, stale picks, editability, SKU and caps |
|
||||
| METADATA-5, METADATA-10, METADATA-15, METADATA-20, METADATA-25, METADATA-30 | synced taxonomy, cardinality, no term creation |
|
||||
| METADATA-35, METADATA-40, METADATA-45, METADATA-50 | Call 1 inputs, results, confidence gate, precedence |
|
||||
| METADATA-55, METADATA-60, METADATA-65, METADATA-66 | Call 2, context, dimension safety, logging |
|
||||
| METADATA-55, METADATA-60, METADATA-65, METADATA-66 | Call 2, inputs, dimension safety, logging |
|
||||
| METADATA-70, METADATA-75, METADATA-80, METADATA-85, METADATA-90, METADATA-95 | deterministic copy, inference-off path, pattern selection, fact block |
|
||||
| METADATA-100, METADATA-105, METADATA-110, METADATA-115 | feat mapping, prompt storage, Generate text control, failure triage |
|
||||
| METADATA-100, METADATA-105, METADATA-106, METADATA-107, METADATA-110, METADATA-115 | feat mapping, prompt storage, revision interface, Generate text control, failure triage |
|
||||
| PUBLISH-5, PUBLISH-10, PUBLISH-15, PUBLISH-20 | create sequence, draft rule, duplicate, stale |
|
||||
| PUBLISH-25, PUBLISH-30, PUBLISH-31, PUBLISH-35, PUBLISH-36, PUBLISH-37, PUBLISH-38 | success, failure, partial failure, triage |
|
||||
| PUBLISH-40, PUBLISH-45, PUBLISH-50, PUBLISH-55, PUBLISH-60 | images, lineup, meaning of published, payload, quantity |
|
||||
@@ -34,13 +34,13 @@ required field shows an inline nudge as they work, and the slab cannot reach `re
|
||||
full set is filled (`REVIEW-5`, `REVIEW-20`). Widths, sqft, and bdft are read-only client math
|
||||
(`REVIEW-30`); every other field stays editable until create (`REVIEW-40`).
|
||||
|
||||
The owner declares one primary wood category and any secondary ones; the first selected is
|
||||
primary (`REVIEW-15`). Price is the bdft times the species rate; with no rate it starts empty and
|
||||
the owner must enter one; an override sticks (`REVIEW-25`). SKU is 3–24 alphanumeric and hyphen
|
||||
(`REVIEW-45`). Title, short_description, and description are required and satisfy typed,
|
||||
generated, or templated text (`REVIEW-10`); title and short_description warn past 60 and 160
|
||||
characters (`REVIEW-50`). A picked id that vanished shows as no longer valid and is never
|
||||
silently swapped (`REVIEW-35`).
|
||||
The owner declares one primary wood category and any secondary ones before Call 2 runs; the first
|
||||
selected is primary (`REVIEW-15`). Price is the bdft times the species rate; with no rate it starts
|
||||
empty and the owner must enter one; an override sticks (`REVIEW-25`). SKU is 3–24 alphanumeric and
|
||||
hyphen (`REVIEW-45`). Title and short_description are assembled deterministically and the
|
||||
description is written by the model or the server (`REVIEW-10`, `METADATA-80`); title and
|
||||
short_description warn past 60 and 160 characters (`REVIEW-50`). A picked id that vanished shows as
|
||||
no longer valid and is never silently swapped (`REVIEW-35`).
|
||||
|
||||
## 2. Inference assist
|
||||
|
||||
@@ -51,19 +51,19 @@ or above the threshold (default 0.7) a field pre-fills and stays editable; below
|
||||
stays empty (`METADATA-45`). Typed values always win (`METADATA-50`). Free-text observations map
|
||||
to synced `feat-*` tags only (`METADATA-100`).
|
||||
|
||||
Call 2 is user-triggered only and produces the product description (`METADATA-55`). It receives the
|
||||
processed photos, the review-confirmed metadata, the primary and secondary wood categories, the
|
||||
parent-category path, the dimension fact block, and brand/geo context; the model never invents a
|
||||
dimension (`METADATA-60`, `METADATA-65`, `METADATA-90`). The Generate text control appears only
|
||||
when content generation is enabled and the endpoint is reachable (`METADATA-110`). All generation
|
||||
is logged (`METADATA-66`).
|
||||
Call 2 is user-triggered only and produces the long description (`METADATA-55`); the name and short
|
||||
description are already assembled from the primary wood category's patterns (`METADATA-80`,
|
||||
`METADATA-85`). Call 2 receives the processed photos, the review-confirmed metadata, the primary and
|
||||
secondary wood categories, the parent-category path, the dimension fact block, and brand/geo
|
||||
context; the model never invents a dimension (`METADATA-60`, `METADATA-65`, `METADATA-90`). The
|
||||
Generate text control appears only when content generation is enabled and the endpoint is reachable
|
||||
(`METADATA-110`). All generation is logged (`METADATA-66`).
|
||||
|
||||
With inference off, the server produces the long description (`METADATA-70`). The name and short
|
||||
description are assembled from the primary wood category's patterns (`METADATA-80`,
|
||||
`METADATA-85`). Prompts live in the database with
|
||||
all revisions (`METADATA-105`). Inference never blocks create and never auto-publishes
|
||||
(`METADATA-75`); a runtime failure offers Retry when recoverable or explains when it is not
|
||||
(`METADATA-115`).
|
||||
With inference off, the server produces the long description (`METADATA-70`). Prompts live in the
|
||||
database with all revisions, and the revision used is recorded with each call; the revision
|
||||
interface is REST only (`METADATA-105`, `METADATA-106`). Inference never blocks create and never
|
||||
auto-publishes (`METADATA-75`); a runtime failure offers Retry when recoverable or explains when it
|
||||
is not (`METADATA-115`).
|
||||
|
||||
## 3. Settings prerequisite
|
||||
|
||||
@@ -98,7 +98,8 @@ unrecoverable (`PUBLISH-36`, `PUBLISH-37`, `PUBLISH-38`) and never shows a raw c
|
||||
(`PUBLISH-35`). Partial failure leaves orphaned media with a cleanup note (`PUBLISH-31`). Images
|
||||
upload as processed PNGs in photos-ready order with no cap (`PUBLISH-40`, `PUBLISH-45`). Published
|
||||
means the store create succeeded, not that it is live (`PUBLISH-50`). The payload is per
|
||||
`docs/contracts/WOO-API.md` (`PUBLISH-55`) and each product is one slab (`PUBLISH-60`).
|
||||
`docs/contracts/WOO-API.md` (`PUBLISH-55`) and each product is one slab (`PUBLISH-60`). The payload
|
||||
carries an explicit slug: the sanitized product name plus the lowercased SKU (`PUBLISH-55`).
|
||||
|
||||
## 5. Acceptance
|
||||
|
||||
@@ -116,5 +117,5 @@ means the store create succeeded, not that it is live (`PUBLISH-50`). The payloa
|
||||
## 6. Out of scope
|
||||
|
||||
Offline capture and U2Net matting (`CAPTURE-15`, `CAPTURE-165`), backup and restore (`OPS-30`,
|
||||
`OPS-35`), and cross-browser end-to-end verification (`QUALITY-115`). The V1 instrumentation work
|
||||
is out of M3.
|
||||
`OPS-35`), cross-browser end-to-end verification (`QUALITY-115`), and authentication for the prompt
|
||||
revision interface (`METADATA-107`). The V1 instrumentation work is out of M3.
|
||||
|
||||
Reference in New Issue
Block a user