[M3] Settings: species $/bdft pricing workflow is entirely missing (SETTINGS-35) #76
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
The Settings screen has no way to assign a $/bdft rate to each species. This is the whole point of SETTINGS-35 and it is absent from the shipped M3 UI. Without it,
rate_for_species()always returnsNone, so the Review price suggestion (REVIEW-25, QUALITY-90) can never produce a number and the owner is forced to hand-type every price.What the spec requires (SETTINGS-35)
The owner flow it implies:
POST /api/v1/settings/test-woo) — verifies the connection and always resyncs the taxonomy on success (SETTINGS-40/80).GET /api/v1/admin/taxonomycategories, never hardcoded — QUALITY-105), one row per leaf.$ /bdftper leaf and saves. Each leaf maps toPOST /api/v1/admin/pricing(201) orPUT /api/v1/admin/pricing/{id}(200);409 duplicatemeans switch to update.Backend status
The backend already supports this end-to-end (
backend/pricing.py):GET/POST/PUT/DELETE /api/v1/admin/pricing, withpricing_rules.species_idFK →woo_categories(id). The list endpoint returns no name, so the UI must joinspecies_idagainstGET /api/v1/admin/taxonomyto show the leaf name. This is a pure frontend gap — no backend work required.What the current stub has
frontend/src/create/settings/Settings.sveltehas the Woo test button and credential fields, but:GET /api/v1/admin/pricing.GET /api/v1/admin/taxonomyto source the leaf list.Acceptance
price_per_bdftfield; existing rates are prefilled fromGET /api/v1/admin/pricing.bdft × rate(ties to QUALITY-90 vector TV-8).Related
Resolved and UAT-verified on 5060.
Shipped: PR merged — Settings species $/bdft (SETTINGS-35), Woo
parent→parent_idtaxonomy fix, FK-safe upsert sync.Evidence: Test Woo hierarchy OK; 8 species leaves under slug
species; saved Black Walnut $12.50/bdft; Review suggestion 18.4×12.50=230; sample slab preserved.Commit:
18c262bonissue-76-settings-species-pricing→main.