feat(db): biosphere_class authoring pipeline + values (T-1085 workstream 3, D-247)
The D-247 chirality/edibility register as authored data on every body, via the stamped regen-db path (import_economics) — not a manual bake. - systems-schema.sql + migration.py: nullable bodies.biosphere_class column. - economy_import/bodies.py: populate_biosphere_class — reads the authored environment.biosphere_class frontmatter override, else the D-247 two-gate default (Gate 0 habitability from atmosphere/hydrosphere/inhabited; Gate 1 Compatible/Mirror from economic_base_primary; neutral remainder -> stable ~50/50 split). Recomputes every body each regen (frontmatter + default are its complete source). - import_economics.py: wired as import step 17. - frontmatter overrides for the bodies whose default deviates from canon: Solandar=NativeMirror, GJ-524=NativeMirror (uninhabited-but-alive), Ha Long= NativeCompatible (its transit economy hides its aquaculture identity). Linnaeus, Arbour, Oshima, Freyburg, Puerto Ultimo, Edict all default correctly. systems.db regenerated + stamped. All 9 canon exemplars verified; distribution is 111 Compatible : 108 Mirror among inhabited alive worlds (~50/50 target), Airless for uninhabited bodies, TerraformedSterile for thin-atmosphere worlds. Follow-up (rename completion): propagating Linnaeus to bodies.proper_name in the DB (still "Cadwal" — proper_name is atlas-CLI-owned, and a wipe+reimport would drop non-proposal columns like founding_age_years; needs a targeted approach). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -166,6 +166,7 @@ CREATE TABLE IF NOT EXISTS bodies (
|
||||
rotation_period_hours REAL, -- rotation period in Earth hours (Earth = 24), NULL for tidally locked/gas giants
|
||||
planet_class TEXT, -- temperate, arid, frozen, oceanic, volcanic, barren, etc.
|
||||
hydrosphere TEXT, -- ocean, ice, rivers, none, subsurface
|
||||
biosphere_class TEXT, -- D-247: NativeCompatible | NativeMirror | TerraformedSterile | Airless (NULL until authored/defaulted)
|
||||
|
||||
-- Settlement
|
||||
inhabited INTEGER NOT NULL DEFAULT 0,
|
||||
|
||||
Reference in New Issue
Block a user