This website requires JavaScript.
204bc5e960
fix(review): #90 thickness band omitted entirely (not read-only)
Ty
2026-09-21 02:49:47 -07:00
191b507934
chore(deploy): record #90 UAT deploy marker
Ty
2026-09-21 02:43:26 -07:00
0329052d37
feat(review): #90 wood primary category + derived thickness band
Ty
2026-09-21 02:41:20 -07:00
e1b928ccbd
fix(review): #90 clearer mandatory-photo indicator (padlock + REQUIRED tag)
Ty
2026-09-21 02:18:01 -07:00
76fcb36a2b
fix(review): #90 clean cal + dimension-overlay are mandatory (checked + disabled)
Ty
2026-09-21 02:15:00 -07:00
5a1800df91
fix(review): #90 persist the dimension-overlay copy with its role
Ty
2026-09-21 01:59:27 -07:00
cd326d1ec9
test(review): #90 assert Primary photo src is valid + checkerboard on strip
Ty
2026-09-21 01:54:21 -07:00
502314b338
Update deploy/INVENTORY.md
Ty
2026-09-21 08:50:13 +00:00
0612ce66a6
fix(review): #90 photo strip — blob: URL for Primary photo, checkerboard thumbs
Ty
2026-09-21 01:48:43 -07:00
7b7adbdb34
fix(deploy): nginx client_max_body_size 25m for photo uploads
Ty
2026-09-21 01:41:31 -07:00
d9af8420bc
feat(review): #90 photo strip — keep/remove, drag-reorder, leftmost=primary, persist
Ty
2026-09-21 01:34:22 -07:00
fe82133ca4
fix(backend): #84 real woo_reachable, #83 reject unknown fields, #82 live taxonomy in stale_field, #80 persist review overrides
Ty
2026-09-20 23:38:29 -07:00
693719e85f
fix(review): #89 explicit metadata lock — deterministic copy on lock, not on review
Ty
2026-09-20 23:36:31 -07:00
41401a7266
fix(inference): #87 redact image bytes from inference_log
Ty
2026-09-20 23:01:06 -07:00
7287a55707
fix(inference): #86 tighten Call 1 prompt and closed lists
Ty
2026-09-20 22:54:36 -07:00
81be17d5cd
fix(inference): METADATA-35 fit Call 1/2 images to 1024 long edge
Ty
2026-09-20 22:32:14 -07:00
cec03c5bd3
fix(m3): AI-assist scope + confidence gate + grouped wood categories
Ty
2026-09-20 21:47:36 -07:00
e36979617b
fix(m3): uuid secure-context fallback + middle-tier SKU business rules
Ty
2026-09-20 21:15:29 -07:00
c8d6d5eda0
fix(backend): create accepts capture-only payload; fix INSERT binding count
Ty
2026-09-20 14:45:32 -07:00
1133201f30
M3 Review→Publish UI (#77 ): one-column flow, searchable pickers, fig/feat tags, e2e
Ty
2026-09-20 14:34:24 -07:00
2e2be48154
Merge pull request 'SETTINGS-35: species $/bdft in Settings + taxonomy parent fix (#76 )' (#85 ) from issue-76-settings-species-pricing into main
Ty
2026-09-20 19:39:23 +00:00
18c262b5b4
SETTINGS-35: species $/bdft in Settings + taxonomy parent fix (#76 )
Ty
2026-09-20 12:37:52 -07:00
b99cbdf194
Fix 403 on test-woo: add User-Agent header, classify 403 as WooForbiddenError
Ty
2026-09-20 07:59:00 -07:00
d1e862770d
Settings: split Test Connection into WooCommerce and Inference sections
Ty
2026-09-20 07:42:37 -07:00
d614123503
Settings: render UAT secrets as plain text inputs (Svelte forbids dynamic type on bound input)
Ty
2026-09-20 07:39:33 -07:00
34ee7eff60
Settings: temporary UAT secret-unmask gate (SLAB_UAT_UNMASK_SECRETS)
Ty
2026-09-20 07:38:38 -07:00
e51753b6d0
Fix Settings black-on-black contrast (Gitea #75 )
Ty
2026-09-20 01:10:07 -07:00
7575471397
test(exit): M3 exit wave — inference-off suite + Woo-mock integration + Compose E2E + UAT walk
Ty
2026-09-19 17:12:14 -07:00
8a8a89ed3e
feat(inference): S7 Call 1/Call 2 + prompt revision REST + test-inference + Generate text UI
Ty
2026-09-19 17:04:01 -07:00
5e03f45660
feat(publish): S6 Woo create sequence + UAT draft + dup/stale/partial failure + Publish UI
Ty
2026-09-19 17:00:26 -07:00
732310fdbe
feat(review): S5 pricing rules + deterministic title/short desc + server-derived ready + Review UI
Ty
2026-09-19 16:52:33 -07:00
861c5e0dd1
fix(deps): add python-multipart for S3 multipart photo upload (runtime dep missing from image)
Ty
2026-09-19 16:47:52 -07:00
714a227e57
feat(photos): S3 multipart BLOB storage + original/processed GET + 410 after purge + attach UI
Ty
2026-09-19 16:47:07 -07:00
d83c9d5c21
feat(woo): S4 Woo client + taxonomy sync + test-woo + admin taxonomy
Ty
2026-09-19 16:40:37 -07:00
38eebbc8bb
fix(db): generalize schema-drift detection to all M3 tables (slabs, slab_photos, sync_log)
Ty
2026-09-19 16:30:43 -07:00
cc5241f7da
feat(slabs): S2 CRUD + optimistic concurrency + soft delete + slab list UI
Ty
2026-09-19 16:29:06 -07:00
a0032ddd2d
fix(db): schema_version drift detection + rebuild for pre-M3 volumes
Ty
2026-09-19 16:05:40 -07:00
60bc2fb9d0
feat: add schema drift handling and rebuild
Ty
2026-09-19 16:02:04 -07:00
7074b82ced
fix(deploy): add resolver 127.0.0.11 for fastapi upstream in nginx-m1.conf
Ty
2026-09-19 15:57:14 -07:00
e63c964844
fix(deploy): use variable for fastapi upstream in nginx-m1.conf to fix host not found at startup
Ty
2026-09-19 15:56:20 -07:00
6aaad81583
fix(deploy): restore context: .. in compose (relative to deploy/ file); remove invalid || from backend/Dockerfile; prune backend from .dockerignore so COPY succeeds
Ty
2026-09-19 15:53:49 -07:00
39ee82bdf8
fix(deploy): correct build context to . in docker-compose.yml (was .. breaking M3 build from repo root)
Ty
2026-09-19 15:52:11 -07:00
3fb35e8957
fix(deploy): proxy /api/ to fastapi in nginx-m1.conf for M3 smoke checks
Ty
2026-09-19 15:50:40 -07:00
b3380f3848
feat(settings): S1 AES-GCM crypto + Settings API/UI (masked write-only secrets)
Ty
2026-09-19 15:48:42 -07:00
0eb2b0f697
feat(backend): S0 foundation (schema + stdlib sqlite3 db factory + health/meta + JSON logs)
Ty
2026-09-19 15:34:15 -07:00
9b181a937b
docs(agents): focus AGENTS.md on agent-operational rules
Ty
2026-09-19 13:24:41 -07:00
b166e796ad
tools(docs): require citations in citing docs
Ty
2026-09-19 13:17:12 -07:00
2d12cbcfbd
docs(m3): rewrite CONTENT-WOO for clarity
Ty
2026-09-19 13:15:38 -07:00
5a210c47b0
docs(m3): reconcile the remaining docs with the settled design
Ty
2026-09-19 12:38:39 -07:00
35848fe0e6
Update docs/README.md
Ty
2026-09-19 19:32:15 +00:00
f0f891f80e
docs(m3): add the prompt revision interface, seed, and auth gap
Ty
2026-09-19 12:29:08 -07:00
d6aa79b593
docs(m3): regroup METADATA and remove the false fallback framing
Ty
2026-09-19 12:10:11 -07:00
120e0be871
docs(m3): settle deterministic title and Call 2 design
Ty
2026-09-19 11:36:03 -07:00
1dfff0b7c9
docs(deploy): correct host addresses and port-block rules
Ty
2026-09-19 10:12:32 -07:00
2ba5428269
docs(m3): place create decisions in the contracts
Ty
2026-09-19 10:12:32 -07:00
6435199f08
docs(structure): govern .planning/ and register the ops runbook
Ty
2026-09-19 10:12:32 -07:00
90e862cfb0
Revert "docs(m3): record create build plan and decisions"
Ty
2026-09-19 09:35:57 -07:00
20f08bbc25
docs(m3): record create build plan and decisions
Ty
2026-09-19 09:29:02 -07:00
63a99e8154
docs(m3): close create contract gaps (soft delete, publish poll, prompts, image volume)
Ty
2026-09-19 09:28:53 -07:00
1391219e48
docs(structure): retire Phase 2 planning sections and trim AGENTS context
Ty
2026-09-18 21:10:46 -07:00
01aa4c52c3
docs(phase2): reconcile requirements and migrate capabilities/contracts
Ty
2026-09-18 21:02:06 -07:00
a8cc2f7596
docs(audit): sync session handoff with commit state
Ty
2026-09-18 12:54:27 -07:00
84d7681c6f
docs(phase2): coverage gate, migration TODOs, session handoff
Ty
2026-09-18 12:54:08 -07:00
1603467747
docs(requirements): apply owner corrections; space IDs by 5
Ty
2026-09-18 11:24:41 -07:00
8ac534c613
docs(audit): add resume-here handoff for next session
Ty
2026-09-18 10:54:11 -07:00
238fcc4f15
docs(requirements): draft reconciled requirement set (128 rows, 8 namespaces)
Ty
2026-09-18 10:38:30 -07:00
b42e3cb8ce
docs(structure): add requirements contract, job namespaces, and enforcement gate
Ty
2026-09-18 08:32:49 -07:00
d754cac9ef
docs(m3): bring CONTENT-WOO onto branch; lock character and categories
grokbot_ty
2026-09-16 21:11:07 +00:00
40080aee3a
docs(m3): lock Woo image order including dimension overlay
grokbot_ty
2026-09-16 21:07:12 +00:00
eaf96d36e1
docs(m3): record open decisions blocking task breakdown
grokbot_ty
2026-09-16 21:05:15 +00:00
22599c924f
docs(m3): expand Create SoT for submission-ready exit
grokbot_ty
2026-09-16 21:03:46 +00:00
df40c4269f
docs(m3): lock Create requirements on m3-ds
grokbot_ty
2026-09-16 20:32:03 +00:00
03d3fcf460
fix(photos): preserve tapered tips and dark live edge (#73 #74 )
grokbot_ty
2026-09-16 15:18:06 +00:00
037a4b870a
fix(photos): shared EXIF-oriented decode for axis/overlay space (#72 )
grokbot_ty
2026-09-16 05:08:13 +00:00
b8e69b5239
test(photos): refresh e2e evidence after tip/label fix (#71 )
grokbot_ty
2026-09-16 04:55:19 +00:00
495f179c2f
fix(photos): width-aware tips, stroke inset, smaller in-bounds labels (#71 )
grokbot_ty
2026-09-16 04:48:11 +00:00
b386ab9670
test(photos): overlay tips on footprint + labels in-bounds (#71 )
grokbot_ty
2026-09-16 04:46:48 +00:00
2be2e7d615
test(photos): refresh e2e evidence after axis parallel fix (#70 )
grokbot_ty
2026-09-16 04:36:59 +00:00
6d182db81b
fix(photos): length dim parallel to approved axis (#70 )
grokbot_ty
2026-09-16 04:35:53 +00:00
dc19cffcc0
test(photos): length/width dims follow approved axis (#70 )
grokbot_ty
2026-09-16 04:35:38 +00:00
05447c92fc
fix(photos): length dim snaps to wood footprint (#69 )
grokbot_ty
2026-09-16 02:18:09 +00:00
415158d4d3
test(photos): length dim snaps to wood tips (#69 )
grokbot_ty
2026-09-16 02:17:45 +00:00
9bc35f7edd
fix(photos): overlay UAT nits + 90% crop fill (#67,#68)
grokbot_ty
2026-09-15 21:46:58 +00:00
15895cae0c
test(photos): overlay UAT nits + 90% fill expect (#67,#68)
grokbot_ty
2026-09-15 21:46:27 +00:00
5650255e49
deploy: overnight M2 UAT on ubudual :10881 (#66 )
grokbot_ty
2026-09-15 21:41:50 +00:00
2be400e455
test(e2e): Playwright photos-ready flow + visual evidence (#65 )
grokbot_ty
2026-09-15 21:38:45 +00:00
2c9a50ddf9
feat(photos): Photos-ready lineup after Calculate (#64 )
grokbot_ty
2026-09-15 21:33:37 +00:00
4c3c8b49eb
test(photos): Photos-ready lineup order + error slots (#64 )
grokbot_ty
2026-09-15 21:33:00 +00:00
a22525023a
feat(photos): burn axis-oriented dimension overlay PNG (#63 )
grokbot_ty
2026-09-15 21:31:22 +00:00
c674931f5c
test(photos): dimension-overlay PNG stations + results.overlayPng (#63 )
grokbot_ty
2026-09-15 21:29:59 +00:00
3936c575b2
feat(photos): apply frozen mask to batch siblings after Calculate (#62 )
grokbot_ty
2026-09-15 21:24:10 +00:00
9404d0130c
test(photos): batch apply approved mask after Calculate (#62 )
grokbot_ty
2026-09-15 21:20:35 +00:00
8ff008f85c
feat(photos): keep M1 mask/axis/measure on calibration pick (#61 )
grokbot_ty
2026-09-15 21:14:16 +00:00
d2ffa4cad2
test(photos): M1 mask/axis/measure on calibration pick (#61 )
grokbot_ty
2026-09-15 21:14:00 +00:00
d18b96c10b
feat(photos): pick calibration photo before Mask (#60 )
grokbot_ty
2026-09-15 21:11:07 +00:00
4fa8126471
test(photos): pick calibration before Mask (#60 )
grokbot_ty
2026-09-15 21:10:14 +00:00
ff4bb0f31e
feat(photos): multi-photo batch + device draft (#59 )
grokbot_ty
2026-09-15 21:08:44 +00:00
e919fe9a35
test(photos): batch add + draft restore before green (#59 )
grokbot_ty
2026-09-15 21:07:17 +00:00
ab5bdafbd8
docs(m2): #58 EXIF bottom + Photos-ready lineup order
grokbot_ty
2026-09-15 21:04:16 +00:00
2eb825c84e
test(fixtures): add Ty matched slab photo sets for M2
grokbot_ty
2026-09-15 20:54:51 +00:00