item_economy_sanity_band.json

assets/item_economy_sanity_band.json

{
 "schema": "humanity.item_economy.sanity_band/1.0",
 "status": "RECORDED, NEVER RATIFIED",
 "status_note": "THE BINDING RULE (ruled option c): every region page contributes a STATED item / material / gather count from its own prose, and the total is whatever those sum to -- bottom-up, no ceiling, and NO item count enters CVD section 17.12. The computed band in docs/concept_art/item_economy_sanity_band.csv is option (b), RECORDED AND NEVER RATIFIED, and must never be quoted as a target.",
 "ruling": "Josh RULED 2026-07-30 (twenty-sixth sitting item 5); docs/spine/DECISIONS_PENDING_JOSH.md",
 "generated_from": "40_item_floor_and_sanity_band.py -- re-run it to regenerate; every measured input is read off the live registries at run time, so a stale number here is a bug the re-run fixes.",
 "binding_rule": "per-region floor (option c)",
 "measured_inputs": {
  "weapons_total": 72,
  "weapons_in_slice": 9,
  "trades_total": 10,
  "mastery_levels": 12,
  "rollable_grades": 5,
  "rollable_grade_tokens": "common,uncommon,rare,epic,legendary",
  "regions_total": 76,
  "slice_region_pages": 12,
  "armor_slots_ratified": 7,
  "armor_slots_recovered_total": 16,
  "live_mineral_rows": 19,
  "live_flora_rows": 25,
  "live_gather_rows": 24,
  "live_equipment_rows": 1,
  "material_keyed_regions": 4
 },
 "totals": {
  "slice_floor": 158,
  "slice_target": 269,
  "arc_floor": 864,
  "arc_target": 1052
 },
 "classes": [
  {
   "class_id": "IE-01",
   "class_name": "Wearable archetypes (slot x grade)",
   "formula": "wearables = equipment_slots x rollable_grades",
   "inputs": "slots ratified=7 / recovered=16; rollable_grades=5 (common,uncommon,rare,epic,legendary)",
   "input_class": "locked(grades)+split-tier(slots)",
   "slice_floor": 35,
   "slice_target": 80,
   "arc_floor": 35,
   "arc_target": 80,
   "basis": "counted",
   "note": "The floor uses the RATIFIED 7 vril-seat slots (T1_Ability_Tree ACTIVE v1.4 s10.1); the target uses the recovered 16-slot layout, which is PROPOSAL-TIER (RECOVERED-NEW at INGEST_GDD.md:144). Slot-driven, therefore global -- it does not scale with regions, so slice and arc are identical and that is correct."
  },
  {
   "class_id": "IE-02",
   "class_name": "Weapon item instances (weapon x grade)",
   "formula": "weapon_instances = weapons x rollable_grades",
   "inputs": "weapons_total=72 (LOCKED 72); weapons acquirable in the slice=9; rollable_grades=5",
   "input_class": "locked",
   "slice_floor": 45,
   "slice_target": 45,
   "arc_floor": 360,
   "arc_target": 360,
   "basis": "counted",
   "note": "Rarity VARIANTS of the 72 locked archetypes, never new archetypes -- the 72 total and the 36/36 split are untouched. The slice figure is derived from the acquisition chapters ratified by this same sitting (item 11)."
  },
  {
   "class_id": "IE-03",
   "class_name": "Craft materials (trade tier gates)",
   "formula": "craft_materials = trades x mastery_levels x 1_material_per_gate",
   "inputs": "trades=10 (LOCKED 10); mastery_levels=12 (LOCKED); 1 distinct material per gate = ASSUMED",
   "input_class": "locked(trades,levels)+assumed(1_per_gate)",
   "slice_floor": 4,
   "slice_target": 48,
   "arc_floor": 10,
   "arc_target": 120,
   "basis": "derived",
   "note": "The 120 quest gates (10 trades x 12 levels) are locked numerical canon; that each gate needs at least ONE distinct material to gate on is this script's ASSUMPTION and is the single largest source of width in the band. Slice scope = the 4 trades whose T0_Questline_Index chapter_span opens by Ch 13 (Blacksmithing Ch_07, Herbalism Ch_07, Fishing and Navigation Ch_08, Animal Communication Ch_12); floor counts their opening tier only, target their full ladder."
  },
  {
   "class_id": "IE-04",
   "class_name": "Consumables (consumable-output trades)",
   "formula": "consumables = consumable_trades x mastery_levels",
   "inputs": "consumable_trades=3 (ASSUMED: Herbalism, Alchemy, Culinary Arts); mastery_levels=12 (LOCKED)",
   "input_class": "locked(levels)+assumed(which_trades)",
   "slice_floor": 2,
   "slice_target": 24,
   "arc_floor": 3,
   "arc_target": 36,
   "basis": "derived",
   "note": "Which of the ten trades yield consumables is NOT stated anywhere in canon -- the three named are this script's reading of T0_Trade_Registry names and are explicitly assumed. Slice = Herbalism + Culinary Arts opening by Ch 13; Alchemy opens Ch_19 and is arc-only."
  },
  {
   "class_id": "IE-05",
   "class_name": "Gather nodes (per region)",
   "formula": "gather_nodes = regions x observed_nodes_per_keyed_region",
   "inputs": "regions_total=76 (measured); slice_region_pages=12 (measured); observed nodes per keyed region=6.0 (24 live gather rows over 4 keyed regions)",
   "input_class": "measured+assumed(extrapolation)",
   "slice_floor": 72,
   "slice_target": 72,
   "arc_floor": 456,
   "arc_target": 456,
   "basis": "extrapolated",
   "note": "THE ONLY REGION-DRIVEN CLASS, and therefore the only one the ruled per-region FLOOR actually governs. The per-region rate is extrapolated from the four pre-rescope regions that carry the entire live material spine -- which is precisely the four-region stop FR-075 exists to make visible, so this row's extrapolation is measuring a defect, not a design."
  }
 ],
 "honesty_notes": [
  "This is option (b) from docs/proposals/GAP_AUDIT_JOSH_QUEUE_2026-07-29.md section 4, computed as a SANITY BAND. Option (c) is what binds. Quoting any number here as a target inverts the ruling.",
  "Three of the five classes rest on a named ASSUMPTION (one material per trade gate; which trades yield consumables; the per-region gather rate). The band is wide because the inputs are thin, and that width is the honest signal.",
  "IE-01's target rests on PROPOSAL-TIER slot canon. The ratified count is 7; the recovered 16-slot layout has never been ratified, so the floor and the target sit on different authority tiers and the row says so.",
  "The live material spine (Mineral 19, Flora 25, Gather 24 rows) keys to only 4 regions, so 9 of the 13 slice regions carry zero material or gather rows while their pages are complete. Every arc figure that scales on regions inherits that defect.",
  "T0_Equipment_Registry holds 1 row(s). Against a band whose floor alone is 864, that gap IS the finding -- not the band's precision."
 ]
}

Generated by harness/site/structure_site.py — the URL path is the repo path. review root