fix(content): add price_tier to brand layer schema, import, and V-B06 (#828 blocker)

price_tier was documented in D-189 §5 and present in brands.toml but
silently discarded on import — absent from schema, INSERT, and V-B06.

- Add price_tier TEXT column to brand_products CREATE TABLE
- Add COLUMN_MIGRATIONS entry for ALTER TABLE on existing DBs
- Add VALID_PRICE_TIERS constant (mass/premium/luxury/flagship/institutional)
- Include price_tier in product_rows tuple and INSERT OR REPLACE
- Add price_tier to V-B06 enum checks; skip NULL (nullable column)
- Backfill 4 pre-amendment anchor brands (8 entries): Calloway flagship/premium,
  VGV luxury/premium, thrds luxury/premium, Bífröst flagship/luxury

V-B01..V-B06 all pass.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-19 15:37:33 +02:00
co-authored by Claude Sonnet 4.6
parent cf3e14cc5e
commit add2507eac
3 changed files with 17 additions and 2 deletions
+8
View File
@@ -63,6 +63,7 @@ terroir_locked = true
currency_denomination = "tractus"
shadow_viable = true
brand_tier = "halo"
price_tier = "flagship"
[[brand_inputs]]
brand_product_id = "calloway-single-malt-halo"
@@ -90,6 +91,7 @@ currency_denomination = "tractus"
shadow_viable = true
brand_tier = "volume"
halo_brand_id = "calloway-single-malt-halo"
price_tier = "premium"
[[brand_inputs]]
brand_product_id = "calloway-reserve-volume"
@@ -123,6 +125,7 @@ terroir_locked = true
currency_denomination = "tractus"
shadow_viable = true
brand_tier = "halo"
price_tier = "luxury"
[[brand_inputs]]
brand_product_id = "vgv-premier-cru-halo"
@@ -150,6 +153,7 @@ currency_denomination = "tractus"
shadow_viable = false
brand_tier = "volume"
halo_brand_id = "vgv-premier-cru-halo"
price_tier = "premium"
[[brand_inputs]]
brand_product_id = "vgv-standard-volume"
@@ -183,6 +187,7 @@ terroir_locked = true
currency_denomination = "tractus"
shadow_viable = false
brand_tier = "halo"
price_tier = "luxury"
[[brand_inputs]]
brand_product_id = "thrds-origin-halo"
@@ -210,6 +215,7 @@ currency_denomination = "tractus"
shadow_viable = false
brand_tier = "volume"
halo_brand_id = "thrds-origin-halo"
price_tier = "premium"
[[brand_inputs]]
brand_product_id = "thrds-standard-volume"
@@ -244,6 +250,7 @@ terroir_locked = true
currency_denomination = "mark"
shadow_viable = true
brand_tier = "halo"
price_tier = "flagship"
[[brand_inputs]]
brand_product_id = "bifrost-grade-a-halo"
@@ -271,6 +278,7 @@ currency_denomination = "mixed"
shadow_viable = true
brand_tier = "volume"
halo_brand_id = "bifrost-grade-a-halo"
price_tier = "luxury"
[[brand_inputs]]
brand_product_id = "bifrost-commercial-volume"