Files
settled-reach/wiki/economics/architecture_trait_bias.toml
T
jpmschweitzerandClaude Opus 4.8 a133b6416e feat(schema): trait_templates + atlas_body_trait_bias tables + bake (#993)
D-232 architecture-flavor storage mechanism (content is #1005/#1017):

- trait_templates: shared catalog of holistic template bundles — two-tier
  eligibility (hard gates bulk_class/prosperity_bps/ubiquity + soft weight
  mods), zone_affinity, allow/block tags, visual_bundle. List/map fields
  are JSON; all numerics integer basis-points (D-010).
- atlas_body_trait_bias: sparse per-body hero pins — pin/boost/suppress
  with basis-point multiplier ranges (boost ≤3×, suppress ≥0.33× never 0).
- Baked at import (steps 14/15) from wiki/economics/architecture_trait_
  catalog.toml + architecture_trait_bias.toml. FK-validated (body_id →
  bodies, template_tag → trait_templates), enum + multiplier-range checks,
  graceful on absent source. Source location provisional pending Q-107;
  the baked tables are invariant per D-232. Retires the round-2
  atlas_body_culture tables.
- Catalog ships a 3-template bootstrap seed to prove the bake end-to-end;
  the full ~35-template catalog is #1005, hero pins #1017.
- Stamp sources updated (IMPORT_ECONOMICS_SOURCES + GENERATOR_SOURCES).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 10:47:35 +02:00

34 lines
1.6 KiB
TOML

# ==========================================================================
# Architecture-flavor per-body trait bias (D-232) — sparse hero pins.
# Source of truth for the `atlas_body_trait_bias` baked table.
#
# Bias applies ONLY to hero bodies (~30-40 of ~300). Non-hero bodies run the
# identical draw with no bias (economics + corridor weight + seed). Bias is
# PER-BODY, never per-corridor.
#
# Three kinds:
# pin mandatory template — counts toward K, the body WILL use it.
# (no weight_multiplier_bps)
# boost non-mandatory weight increase, <= 3x.
# weight_multiplier_bps in 10001..30000
# suppress weight decrease, >= 0.33x, NEVER 0 (preserves second-playthrough
# surprise). weight_multiplier_bps in 3300..9999
#
# Each entry FK-validates: body_id -> bodies, template_tag -> trait_templates.
#
# SCOPE NOTE (#993 vs #1017): #993 builds the table + baker. The ~30-40 hero
# pins (and the Groombridge GSH clearing_house_landmark, which also needs the
# D-222 named-landmark reservation from #957) are authored in #1017. This file
# ships empty-but-documented; add `[[bias]]` entries in #1017.
#
# Example (commented — uncomment + point at a real body/template in #1017):
# [[bias]]
# body_id = "GJ680d" # a bodies.body_id
# template_tag = "terraced_agrarian" # a trait_templates.tag
# bias_kind = "boost"
# weight_multiplier_bps = 20000 # 2.0x
# note = "why this body leans this way"
# ==========================================================================
# (no hero pins yet — #1017)