refactor(schema): rename commission_certified to commission_certifiable
The flag is a susceptibility marker, not an absolute state — Commission certification only applies when trading in TRACTUS_PRIMARY zones. Compact-internal trade ignores it entirely. Renamed across all TOML source files, schema docs, workshop outputs, and D-184. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -35,7 +35,7 @@ CREATE TABLE commodities (
|
||||
demand_model TEXT NOT NULL CHECK(demand_model IN (
|
||||
'market', 'utility', 'compliance'
|
||||
)),
|
||||
commission_certified INTEGER NOT NULL DEFAULT 0,
|
||||
commission_certifiable INTEGER NOT NULL DEFAULT 0,
|
||||
compact_contested INTEGER NOT NULL DEFAULT 0,
|
||||
shadow_viable INTEGER NOT NULL DEFAULT 0,
|
||||
panic_threshold_weeks INTEGER NOT NULL DEFAULT 0 CHECK(panic_threshold_weeks >= 0),
|
||||
@@ -97,7 +97,7 @@ CREATE INDEX idx_chain_inputs_commodity ON chain_inputs(commodity_id);
|
||||
| `unit` | enum | yes | `tonnes`, `units`, `contracts` | quantity basis |
|
||||
| `production_ubiquity` | enum | yes | `ubiquitous`, `common`, `regional`, `concentrated`, `monopolistic` | B-S init guidance |
|
||||
| `demand_model` | enum | yes | `market`, `utility`, `compliance` | B-S demand floors |
|
||||
| `commission_certified` | bool | yes | true/false | Gestalt political |
|
||||
| `commission_certifiable` | bool | yes | true/false | Gestalt political |
|
||||
| `compact_contested` | bool | yes | true/false | Gestalt political |
|
||||
| `shadow_viable` | bool | yes | true/false | Gestalt political |
|
||||
| `panic_threshold_weeks` | int | yes | ≥ 0 | B-S panic mechanism |
|
||||
@@ -151,7 +151,7 @@ CREATE INDEX idx_chain_inputs_commodity ON chain_inputs(commodity_id);
|
||||
| V-10 | Services (`tier = service_*`) must NOT appear as chain inputs or outputs | D-173: services outside production chain |
|
||||
| V-11 | `panic_threshold_weeks >= 0` | Schema constraint |
|
||||
| V-12 | `demand_model = "utility"` requires `elasticity` ∈ {perfectly_inelastic, inelastic} | Utility demand can't be highly deferrable |
|
||||
| V-13 | `demand_model = "compliance"` requires `commission_certified = true` | Compliance demand requires a certifying authority |
|
||||
| V-13 | `demand_model = "compliance"` requires `commission_certifiable = true` | Compliance demand requires a certifying authority |
|
||||
| V-14 | Services must have `bulk_class = "non_physical"` | Services can't be transported |
|
||||
| V-15 | Services must have `unit = "contracts"` | Service unit convention |
|
||||
| V-16 | Commodity IDs must match pattern `[a-z][a-z0-9_]*` | Slug format for Rust/SQL |
|
||||
@@ -163,7 +163,7 @@ CREATE INDEX idx_chain_inputs_commodity ON chain_inputs(commodity_id);
|
||||
| W-01 | Every non-service physical commodity SHOULD appear as chain input or chain output | Orphan detection |
|
||||
| W-02 | Raw tier commodities SHOULD NOT appear as chain outputs | Raws are extracted, not produced |
|
||||
| W-03 | Final tier commodities SHOULD NOT appear as chain inputs | Finals are end-of-chain |
|
||||
| W-04 | `shadow_viable = true` SHOULD have `commission_certified = true` OR `compact_contested = true` | Shadow markets arise from regulatory friction |
|
||||
| W-04 | `shadow_viable = true` SHOULD have `commission_certifiable = true` OR `compact_contested = true` | Shadow markets arise from regulatory friction |
|
||||
| W-05 | `production_ubiquity = "monopolistic"` commodities with `elasticity = "inelastic"` SHOULD be reviewed | Monopoly + inelastic = potential runaway pricing |
|
||||
|
||||
### Coverage warnings (future — gated by corp data)
|
||||
|
||||
Reference in New Issue
Block a user