docs(meta): fork-for-sidequests rule + wiki skill corrections from the cold test
The cold test worked as an experiment: a fresh agent with Skill(wiki) cited it first, refused to hand-edit body frontmatter, knew the corp regen-db stamp trap, and knew corp_specialization is missing from its own template. It also found four things the skill had wrong or missing, all verified before folding in: body frontmatter is a MIDDLE layer (atlas CLI -> systems.db -> scaffold writes the page -> import_economics reads it back), not the origin GOVERNANCE.md implies; the four empty categories are Q-118, an open scope question rather than an invitation; some bodies are visual-regression goldens and nothing in wiki/ says so; and status is editorial, not an import gate. Also: check current state before editing, since the test's own task described a change that was already true. T-1244 corrected in the same pass — tectonics is derived from planet_class via a lookup (body_definition_parser.py:563), so the measured 68% 'low' is a projection of the class distribution, not an authoring choice. The ticket's question changed accordingly. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1096,3 +1096,32 @@ Design implication, carried into step 3 (INVESTIGATE FORM): weight the options b
|
||||
cost-to-append, not just by cost-to-read. An artefact that is pleasant to read
|
||||
and expensive to update will rot, and this project already has heavily-documented
|
||||
trees that stayed accurate precisely because updating them was one line.', NULL, '2026-08-19 22:39:34', '2026-08-19 22:39:34.248', '2026-08-19 22:39:34.248', NULL, 'e74c0f651c9053b62e256b0201f77d9a', 2) ON CONFLICT(hash) DO NOTHING;
|
||||
INSERT INTO ticket_history (ticket_record_id, field, old_value, new_value, changed_by, changed_at, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('06G1R8WZ987YCP1ARANSA70R0W', 'description', 'Measured 2026-08-20 over all 2,625 body definitions in wiki/star-systems/*/bodies/*/index.md. The seed''s CONTINUOUS axes vary richly: seed is unique per body, distance_au 716 distinct values, polar_ice_lat 691, axial_tilt_deg 578, land_fraction 460. The CATEGORICAL axes do not: tectonics 4 values with 67.8% ''low'', atmosphere 4 with 66.3% ''none'', planet_class 13 with 51.1% ''frozen'', substrate 3 with 51.1% ''ice'', geothermal_flux 3 with 91.2% ''low''. Those categoricals are what gate the morphology and biome branches, so a mostly-low-tectonics world is mostly FLAT BY THE SEED, before any rendering question. This matters because a full session (2026-08-16..18) went into making the Atlas render terrain legibly at the deep rungs, and composition.rs already states the honest position: ''where the terrain is flat, flat is the honest answer, and the morphology variety visible at Global comes from places that actually have slope''. If two thirds of bodies genuinely have no slope, there is a ceiling on what renderer work can deliver and it is set in the seed. QUESTION TO ANSWER FIRST, before any change: is the distribution intended? A galaxy where most worlds are dull and the interesting ones stand out is a legitimate and probably good design; an authoring pass that defaulted tectonics to ''low'' and moved on is not. Check how the values were produced (scaffold_bodies.py / the authoring pass) before touching them. NOT a defect report -- two things that looked like defects in the same measurement turned out deliberate (chemosynthetic:false is a namespace reservation for dextro-DNA biochemistry once geology and nature spawn to the 1x1m pixel; enabled:false on ~65% is staged rollout, clean planet types first then generator scripts for the others). Method caveat: the aggregator reads scalar frontmatter only, so list-valued fields are unreliable -- atmosphere_color first read as ''100% null'' and that was a parser artefact. Full measurement and method: docs/wiki-structure-findings.md.', 'Measured 2026-08-20 over all 2,625 body definitions in wiki/star-systems/*/bodies/*/index.md. The seed''s CONTINUOUS axes vary richly: seed is unique per body, distance_au 716 distinct values, polar_ice_lat 691, axial_tilt_deg 578, land_fraction 460. The CATEGORICAL axes do not: tectonics 4 values with 67.8% ''low'', atmosphere 4 with 66.3% ''none'', planet_class 13 with 51.1% ''frozen'', substrate 3 with 51.1% ''ice'', geothermal_flux 3 with 91.2% ''low''. Those categoricals are what gate the morphology and biome branches, so a mostly-low-tectonics world is mostly FLAT BY THE SEED, before any rendering question. This matters because a full session (2026-08-16..18) went into making the Atlas render terrain legibly at the deep rungs, and composition.rs already states the honest position: ''where the terrain is flat, flat is the honest answer, and the morphology variety visible at Global comes from places that actually have slope''. If two thirds of bodies genuinely have no slope, there is a ceiling on what renderer work can deliver and it is set in the seed. QUESTION TO ANSWER FIRST, before any change: is the distribution intended? A galaxy where most worlds are dull and the interesting ones stand out is a legitimate and probably good design; an authoring pass that defaulted tectonics to ''low'' and moved on is not. Check how the values were produced (scaffold_bodies.py / the authoring pass) before touching them. NOT a defect report -- two things that looked like defects in the same measurement turned out deliberate (chemosynthetic:false is a namespace reservation for dextro-DNA biochemistry once geology and nature spawn to the 1x1m pixel; enabled:false on ~65% is staged rollout, clean planet types first then generator scripts for the others). Method caveat: the aggregator reads scalar frontmatter only, so list-valued fields are unreliable -- atmosphere_color first read as ''100% null'' and that was a parser artefact. Full measurement and method: docs/wiki-structure-findings.md.
|
||||
|
||||
---
|
||||
MATERIAL CORRECTION (2026-08-20, same day): tectonics is DERIVED, not authored.
|
||||
|
||||
`tooling/planet-gen/body_definition_parser.py:563` reads
|
||||
`tectonics = tectonic_map.get(planet_class, "low")`, with an override hook on the
|
||||
next line. So the "67.8% tectonics: low" measured above is not an authoring
|
||||
decision at all — it is a projection of the planet_class distribution (51.1%
|
||||
frozen, and whatever else maps to low) through a fixed lookup, plus a default of
|
||||
"low" for any class not in the map.
|
||||
|
||||
That changes the question this ticket asks. It is NOT "did the authoring pass
|
||||
default tectonics and move on". It is:
|
||||
|
||||
1. Is the PLANET_CLASS distribution intended? That is the real authored axis,
|
||||
and it is where variance would have to come from.
|
||||
2. Is the class -> tectonics map right? A lookup that sends most classes to
|
||||
"low", plus a "low" default for unmapped classes, concentrates the output
|
||||
further than the input. Check the map''s spread before blaming the data.
|
||||
3. Is the override hook used at all? If no body sets it, the map is the whole
|
||||
story.
|
||||
|
||||
Found by a cold-context agent reading body_definition_parser.py while testing
|
||||
Skill(wiki); verified directly afterwards. Worth noting how it was missed: the
|
||||
original measurement scanned frontmatter VALUES and never asked where they came
|
||||
from, so a derived field was read as an authored one. Same class of error as the
|
||||
scalar-only parser caveat already recorded — a scan tells you what a field says,
|
||||
never who decided it.', NULL, '2026-08-19 22:45:45', '2026-08-19 22:45:45.557', '2026-08-19 22:45:45.557', NULL, '2b98fb90a8e4d5ea3447cfe489c89848', 2) ON CONFLICT(hash) DO NOTHING;
|
||||
|
||||
@@ -1082,3 +1082,32 @@ Design implication, carried into step 3 (INVESTIGATE FORM): weight the options b
|
||||
cost-to-append, not just by cost-to-read. An artefact that is pleasant to read
|
||||
and expensive to update will rot, and this project already has heavily-documented
|
||||
trees that stayed accurate precisely because updating them was one line.', 'backlog', 'high', NULL, 'meta', NULL, '2026-08-19 22:38:22.412', '2026-08-19 22:39:34.248', NULL, '69d785aeb9a77c4c9296c6b404237dfb', 2) ON CONFLICT(record_id) DO UPDATE SET type=excluded.type, parent_record_id=excluded.parent_record_id, title=excluded.title, description=excluded.description, status=excluded.status, priority=excluded.priority, assigned_to=excluded.assigned_to, team=excluded.team, decision_ref=excluded.decision_ref, updated_at=excluded.updated_at, deleted_at=excluded.deleted_at, hash=excluded.hash, canonical_version=excluded.canonical_version WHERE excluded.updated_at >= tickets.updated_at;
|
||||
INSERT INTO tickets (record_id, type, parent_record_id, title, description, status, priority, assigned_to, team, decision_ref, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('06G1R8WZ987YCP1ARANSA70R0W', 'story', '06FB0TNSRZXCHGS16BFHSSGSV4', 'Seed variance: 68% of bodies are tectonics:low — is the categorical monoculture intended?', 'Measured 2026-08-20 over all 2,625 body definitions in wiki/star-systems/*/bodies/*/index.md. The seed''s CONTINUOUS axes vary richly: seed is unique per body, distance_au 716 distinct values, polar_ice_lat 691, axial_tilt_deg 578, land_fraction 460. The CATEGORICAL axes do not: tectonics 4 values with 67.8% ''low'', atmosphere 4 with 66.3% ''none'', planet_class 13 with 51.1% ''frozen'', substrate 3 with 51.1% ''ice'', geothermal_flux 3 with 91.2% ''low''. Those categoricals are what gate the morphology and biome branches, so a mostly-low-tectonics world is mostly FLAT BY THE SEED, before any rendering question. This matters because a full session (2026-08-16..18) went into making the Atlas render terrain legibly at the deep rungs, and composition.rs already states the honest position: ''where the terrain is flat, flat is the honest answer, and the morphology variety visible at Global comes from places that actually have slope''. If two thirds of bodies genuinely have no slope, there is a ceiling on what renderer work can deliver and it is set in the seed. QUESTION TO ANSWER FIRST, before any change: is the distribution intended? A galaxy where most worlds are dull and the interesting ones stand out is a legitimate and probably good design; an authoring pass that defaulted tectonics to ''low'' and moved on is not. Check how the values were produced (scaffold_bodies.py / the authoring pass) before touching them. NOT a defect report -- two things that looked like defects in the same measurement turned out deliberate (chemosynthetic:false is a namespace reservation for dextro-DNA biochemistry once geology and nature spawn to the 1x1m pixel; enabled:false on ~65% is staged rollout, clean planet types first then generator scripts for the others). Method caveat: the aggregator reads scalar frontmatter only, so list-valued fields are unreliable -- atmosphere_color first read as ''100% null'' and that was a parser artefact. Full measurement and method: docs/wiki-structure-findings.md.
|
||||
|
||||
---
|
||||
MATERIAL CORRECTION (2026-08-20, same day): tectonics is DERIVED, not authored.
|
||||
|
||||
`tooling/planet-gen/body_definition_parser.py:563` reads
|
||||
`tectonics = tectonic_map.get(planet_class, "low")`, with an override hook on the
|
||||
next line. So the "67.8% tectonics: low" measured above is not an authoring
|
||||
decision at all — it is a projection of the planet_class distribution (51.1%
|
||||
frozen, and whatever else maps to low) through a fixed lookup, plus a default of
|
||||
"low" for any class not in the map.
|
||||
|
||||
That changes the question this ticket asks. It is NOT "did the authoring pass
|
||||
default tectonics and move on". It is:
|
||||
|
||||
1. Is the PLANET_CLASS distribution intended? That is the real authored axis,
|
||||
and it is where variance would have to come from.
|
||||
2. Is the class -> tectonics map right? A lookup that sends most classes to
|
||||
"low", plus a "low" default for unmapped classes, concentrates the output
|
||||
further than the input. Check the map''s spread before blaming the data.
|
||||
3. Is the override hook used at all? If no body sets it, the map is the whole
|
||||
story.
|
||||
|
||||
Found by a cold-context agent reading body_definition_parser.py while testing
|
||||
Skill(wiki); verified directly afterwards. Worth noting how it was missed: the
|
||||
original measurement scanned frontmatter VALUES and never asked where they came
|
||||
from, so a derived field was read as an authored one. Same class of error as the
|
||||
scalar-only parser caveat already recorded — a scan tells you what a field says,
|
||||
never who decided it.', 'backlog', 'medium', NULL, 'server', NULL, '2026-08-19 22:28:11.722', '2026-08-19 22:45:45.557', NULL, '7a1737a72bba4913d5e8f5fa78e44312', 2) ON CONFLICT(record_id) DO UPDATE SET type=excluded.type, parent_record_id=excluded.parent_record_id, title=excluded.title, description=excluded.description, status=excluded.status, priority=excluded.priority, assigned_to=excluded.assigned_to, team=excluded.team, decision_ref=excluded.decision_ref, updated_at=excluded.updated_at, deleted_at=excluded.deleted_at, hash=excluded.hash, canonical_version=excluded.canonical_version WHERE excluded.updated_at >= tickets.updated_at;
|
||||
|
||||
Reference in New Issue
Block a user