Commit Graph
1860 Commits
Author SHA1 Message Date
jpmschweitzerandClaude Sonnet 4.6 4eaa669aff docs(meta): add Sprint 33 economics test plan
Test plan covering #806, #807, #808, #809 acceptance criteria aligned
with D-179 stability tests and Phase 2 economics deliverable requirements.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 13:57:06 +02:00
jpmschweitzerandClaude Sonnet 4.6 4307092486 chore(meta): add Makefile targets for economy-db, econ-sim, and stability check
Adds: economy-db, econ-sim, econ-sim-run, econ-sim-stability targets.
economy-db compiles TOML economics data into systems.db.
econ-sim builds the simulation binary (Layer 1+2).
econ-sim-run runs 100 ticks to /tmp/econ-sim.csv.
econ-sim-stability runs D-179 Tests 1 and 2.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 13:57:01 +02:00
jpmschweitzerandClaude Sonnet 4.6 abe7baf395 chore(meta): add tooling/econ-sim/target/ to gitignore; remove from index
Fixes accidental inclusion of Rust build artifacts in previous commit.
Adds tooling/econ-sim/target/ to .gitignore alongside existing tooling
target entries.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 13:56:52 +02:00
jpmschweitzerandClaude Sonnet 4.6 fb87f933f5 feat(simulation): add economics simulation binary with Layer 1+2 (#806, #807)
Adds tooling/econ-sim — a standalone Rust binary for the Phase 2 economics
simulation:

Layer 1 (Leontief production, #806):
- Deterministic per-run PRNG seeding of corp×site productivity (D-176)
- Fixed-coefficient production chains; scarcity cascades downstream (D-178)
- Per-capita population demand for finals and services
- Gate-energy demand reduction for fusion_fuel at connected nodes (D-186)
- Price adjustment via local tâtonnement

Layer 2 (spatial price equilibrium, #807):
- Damped tâtonnement trade flows along gate links (α=0.03, β=0.4, D-178)
- 8% transport cost per hop damps long-distance arbitrage
- Flows computed from pre-step snapshot; applied atomically
- --stability-check implements D-179 Tests 1 and 2:
  · Test 1: cold-start convergence ±5% at tick 100 → PASS (max 1.05%)
  · Test 2: long-run stability ±2% over ticks 900–999 → PASS (max 0.00%)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 13:56:06 +02:00
jpmschweitzerandClaude Sonnet 4.6 7b0465a8c6 feat(simulation): build Tier-3 corporation generation pipeline (#800)
Adds server/src/bin/generate_corporations and tooling/generate-corporations
wrapper. Generates ~5,000 Tier-3 corp instances from Tier-1/2 template
archetypes with seeded name generation (FNV-1a + corridor-weighted PRNG).
Writes wiki markdown stubs for each generated corporation.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 13:55:47 +02:00
jpmschweitzerandClaude Sonnet 4.6 3447b38bcb feat(simulation): extend economy-db pipeline with corporation sync and validation (#805)
Extends import_economics.py from 6-step to 8-step pipeline:
- Loads wiki corporation markdown frontmatter as authoritative source
- Syncs corporations table (hard error on proper_name divergence per D-182)
- Populates corp_presence table (one row per corp × headquarters system)
- Splits validation: structural checks block commit; coverage checks post-commit
- D-175 Phase 2 gate: 3+ corps per commodity, 1+ corp per system with pop > 100K

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 13:55:40 +02:00
jpmschweitzerandClaude Sonnet 4.6 4d1b0efbbe feat(schema): add gate_links and economics tables to systems-schema.sql (#813)
Extends systems.db schema with gate_links, commodities, production_chains,
chain_inputs, corp_presence, and currency_zones tables required for the
Phase 2 economics layer.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 13:55:31 +02:00
jpmschweitzer c605f28328 Merge remote-tracking branch 'origin/sprint-33/copy' 2026-04-07 12:03:37 +02:00
jpmschweitzerandClaude Opus 4.6 75e003846b fix(copy): address PR #121 review comments (7 issues)
- Fix sova headquarters GJ 280B → GJ 280A (core.toml + tier1.toml)
- Relocate Ross 154 Water Cooperative to Kapteyn's Star (GJ 191)
- Fix Rødvik archetype gas_giant_skimming → frontier_ice_mining
- Fix Altmark shadow economy hop band (outer_reach → mid_reach, hop 6)
- Fix Holgersen naming (was Holmgren) in north_reach.toml
- Fix Hansestadt gate count 5 → 6 in currency_zones.toml
- Fix unclosed parenthesis in shadow_economy.toml CAPACITY GAP comment

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 10:59:10 +02:00
jpmschweitzerandClaude Opus 4.6 39cd98f84d fix(copy): correct Freiholt system ID in Compact faction page
GJ 624 is Halvøy (aquaculture world), not Freiholt. Freiholt is GJ 453.
Fixed both cross-reference occurrences in compact-of-westphalia.md.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 10:27:09 +02:00
jpmschweitzerandClaude Opus 4.6 68867894e9 feat(copy): wiki commodity copy pass — 36 pages with flavor text (#812)
All 36 commodity stubs fleshed out with lore context, production chain
descriptions, and economic intelligence briefing voice. Key treatments:
fusion_fuel (D-187 8:1 ratio), services (location-bound mechanics),
brands distinguished from commodities per D-185.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 10:27:01 +02:00
jpmschweitzerandClaude Opus 4.6 3cdf266b5c feat(copy): generate 141 Tier-2 regional corporations (#799)
6 corridor files with 141 corporations: core (22), north_reach (21),
south_reach (20), west_reach (29), east_reach (26), deep_frontier (23).
All 36 commodity types covered. Each has name, lore/behavioral archetype,
backstory, branded products. East reach gap from D-175 filled. Feeds #809.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 10:26:48 +02:00
jpmschweitzerandClaude Opus 4.6 ca04658da2 feat(copy): define shadow economy intensity ranges (#803)
Per-system-type intensity bands (core 0.0-0.2 through frontier 0.6-0.9),
6 seeding modifiers, 10 named system overrides. Compact framing as
principled economic resistance per D-174. Feeds server #808.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 10:26:38 +02:00
jpmschweitzerandClaude Opus 4.6 9c32dc14c4 feat(copy): author MARK_PRIMARY currency zone assignments (#820)
32 MARK_PRIMARY systems (Compact members, west_reach hops 7-17),
14 MIXED systems (Compact-sympathetic, hops 5-6), with rationale
comments per D-172 political affiliation rules. Feeds server #805.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 10:26:28 +02:00
jpmschweitzerandClaude Opus 4.6 2fa6fb93a3 fix(agents): remove duplicate briefing line in qatux.md
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 08:59:30 +02:00
jpmschweitzerandClaude Opus 4.6 08f2af159e chore(meta): update changelog
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 08:54:01 +02:00
jpmschweitzerandClaude Opus 4.6 d20a3a1354 chore(db): remove Qdrant semantic search infrastructure (#816)
The Qdrant index (commonwealth collection, 475 points) was stale —
pointing at old worktree paths from previous sprints with no
maintenance. Grep covers all current search needs.

Removed: qdrant_connector.py, wrapper scripts (qdrant-search,
qdrant-index, qdrant-health, qdrant-count), /docs-search skill,
Qdrant/Ollama config entries, and all active references in agents,
rules, briefings, DEVOPS, CLAUDE.md, and TEAM.md. The commonwealth
collection was dropped from tower-of-joy:6333.

Historical references in discussion archives and sprint briefings
are preserved as-is.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 08:52:50 +02:00
jpmschweitzerandClaude Sonnet 4.6 7270b860cb chore(meta): plan Sprint 33: Pecunia
Economics simulation sprint — skeleton binary through corporate agents.
13 tickets across server/copy/client/ci. Stability tests (D-179) are
the sprint exit condition.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 08:36:31 +02:00
jpmschweitzerandClaude Opus 4.6 4028f71f2f chore(meta): release v0.1.32
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v0.1.32
2026-04-06 23:37:48 +02:00
jpmschweitzerandClaude Opus 4.6 a6c286735e fix(schema): remove unused os import in import_economics.py
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-06 23:33:59 +02:00
jpmschweitzerandClaude Opus 4.6 f80cbe621e chore(meta): update changelog
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-06 23:33:05 +02:00
jpmschweitzerandClaude Opus 4.6 571a708d4a feat(schema): extend systems.db for economics (#804)
Add 5 new tables: gate_links (668 bidirectional edges from star-map.json),
commodities (36 types from commodities.toml), production_chains (21
Leontief recipes), chain_inputs (52 input requirements), corp_presence
(empty, populated by future pipeline). Add currency_zone column to
star_systems (D-172), archetype columns to corporations (D-175).

New import pipeline: tooling/economy-db/import_economics.py reads
TOML/JSON source files and populates the DB. Idempotent — safe to
rerun via `make economy-db`.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-06 23:32:32 +02:00
jpmschweitzerandClaude Opus 4.6 4a3febbe29 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>
2026-04-06 23:32:18 +02:00
jpmschweitzerandClaude Opus 4.6 bcf15354d2 chore(skills): improve pr-review fresh-start instructions
Clarify that every /pr-review invocation must start fresh — fetch,
check PRs, and re-read the diff even if the branch was reviewed
earlier in the same conversation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-06 23:32:06 +02:00
jpmschweitzer 8eb33551cf Merge remote-tracking branch 'origin/sprint-32/visual' 2026-04-06 23:04:31 +02:00
jpmschweitzerandClaude Opus 4.6 32c7d5fab7 feat(wiki): regenerate all body content with review fixes applied
Full regeneration of ~2,600 bodies with:
- Correct atmosphere rim colors for extended planet classes
- Clean headings and profile tables (no underscores)
- Boreal/tropical cloud coverage at correct ranges
- Gas giants without meaningless terrain fields
- All heightmaps at 1024x512

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 22:55:20 +02:00
jpmschweitzerandClaude Opus 4.6 a8379871ce fix(assets): address PR #119 review round 2 — biomes.toml, legend, profile table
1. Add 5 extended atmosphere colors to biomes.toml (globe renderer reads
   from toml, not body_def) — cold_arid, hot_arid, tropical, boreal,
   temperate_terminator. Remove dead martian entry. Slightly differentiate
   colors from base classes.
2. Fix profile table raw identifiers — apply .replace('_', ' ') to class
   field in wiki body pages.
3. Fix legend text overflow — truncate labels with ellipsis when step
   size is too narrow for full text.
4. Fix title panel underscores — use .replace('_', ' ') instead of
   .replace('_ringed', '').

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:32:39 +02:00
jpmschweitzerandClaude Opus 4.6 467c21a0f3 fix(assets): address PR #119 review — 10 issues across planet-gen pipeline
1. Fix pclass.title() underscore bug in scaffold headings (216+ files)
2. Add 5 extended classes to batch.py valid_classes set
3. Add atmosphere rim colors for cold_arid/hot_arid/tropical/boreal/temperate_terminator
4. Add cloud/tilt ranges for extended classes (boreal 55-75%, tropical 60-80%)
5. Fix legend overflow at 1024px + deduplicate rainforest labels
6. Move _check_habitability() inside loop (was only checking last body)
7. Preserve gas_giant_ringed distinction in profile table
8. Drop meaningless terrain fields from gas giant frontmatter
9. Update stale docstrings/comments for 1024x512 default
10. Add infernal ring color

All lookup tables (CLASS_TILT, CLASS_CLOUD, CLASS_POLAR_ICE, CLASS_GEOTHERMAL,
CLASS_OBLATENESS, atmo_colors, tectonic_map, substrate_map) now include the
5 extended planet classes. Body content requires full regeneration.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:18:08 +02:00
jpmschweitzerandClaude Opus 4.6 4f1bf0f279 feat(wiki): generate body content for all 303 star systems
Scaffolded index.md, globe.png (512x512), heightmap.png (1024x512),
terrain.npz, and markers.json for ~2600 celestial bodies across the
Settled Reach. Heightmaps render at native simulation resolution.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 18:51:33 +02:00
jpmschweitzerandClaude Opus 4.6 53ec7ee6d9 fix(assets): drop atomic writes, fix heightmap-size flag, default to 1024x512
The atomic .tmp→rename pattern caused silent FileNotFoundError on some
bodies. Removed in favour of direct writes — resume logic already handles
interrupted runs. Fixed --heightmap-size CLI flag which was silently
ignored due to Python default parameter binding. Changed default heightmap
resolution from 4096x2048 to 1024x512 (native simulation grid — no
information gain from upscaling).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 18:51:00 +02:00
jpmschweitzerandClaude Opus 4.6 db241b88bd refactor(schema): rename biome_summary to planet_class (D-188)
"Biome" describes per-zone vegetation classification (Whittaker table).
"Planet class" describes overall planetary character. The conflation
caused the planet generator to misclassify ~270 bodies as barren.

Scope: systems.db column, schema SQL, Rust atlas code, wiki table
headers (Biome → Class), atlas proposal JSONs, all docs/decisions,
tooling scripts. Also normalizes atmosphere vocabulary (breathable →
standard) and expands planet class mapping to all 26 wiki values.
Unknown classes default to temperate for modder safety.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-06 17:10:35 +02:00
jpmschweitzer 11b29baefe Merge branch 'sprint-32/client' 2026-04-06 16:45:14 +02:00
jpmschweitzerandClaude Opus 4.6 168c5e0d9b fix(ui): restore STANCE_ICONS constant removed during refactor
Startup crash — preload loop referenced STANCE_ICONS but the constant
was accidentally dropped when rewriting the icon cache logic.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-06 16:43:49 +02:00
jpmschweitzerandClaude Opus 4.6 746ed05e2d fix(ui): address PR #118 review — 5 items
- Preload stance icons at _ready() into cache Dictionary
- Null-guard shader + theme loads with push_error() + early return
- Guard _icon_mat.set_shader_parameter inside if _icon_mat:
- Icon size 18→20px per D-086, container height 44→46px to fit
- Add _apply_stance test coverage (known + unknown stance)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-06 16:41:27 +02:00
jpmschweitzer 6ce708a15a Merge branch 'sprint-32/copy' 2026-04-06 16:33:05 +02:00
jpmschweitzerandClaude Opus 4.6 bb61d860d6 chore(meta): update changelog
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-06 16:30:57 +02:00
jpmschweitzerandClaude Opus 4.6 a14828e02a refactor(ui): add stance icons to implant badge (#787)
Replace text-only stance labels with SVG icons + tint shader per D-086.
Alpha-mask shader swaps color at runtime via ShaderMaterial parameter.
Icons: walk, crouch, careful, sprint at 18px inside ImplantPanel row.
Also fix stale UILayer/HUD test path in test_ui_framework_sprint15.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-06 16:30:22 +02:00
jpmschweitzerandClaude Opus 4.6 16fb644a12 fix(wiki): remove placeholder economic fields from GJ-280B stub
GJ-280B is a stub pending full generation — economic profile fields
were speculative and should not be present until the system is properly
authored.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 16:27:33 +02:00
jpmschweitzerandClaude Opus 4.6 07abad2df5 fix(wiki): address PR #116 review — TOML key mismatches, broken link, profile corrections
- Fix 16 lore_archetype keys in tier1.toml to match lore.toml definitions
- Fix 4 commodity ID mismatches (medical_re-embodiment, fine_dining, vehicles, entertainment)
- Add pharmaceutical_manufacturer archetype to lore.toml
- Fix station_module_constructor note (Cygni B → Sova Station Works)
- Create GJ-280B stub (Sova Station Works HQ system)
- Add Station Sova cross-reference to sova-station-works.md
- Fix GJ-251 and GJ-144 economic exports (financial_services contradictions)
- Split corporation index into Narrative Profiles and Tier 1 sections

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 16:25:44 +02:00
jpmschweitzer d986bfea30 Merge branch 'sprint-32/visual' 2026-04-06 16:23:07 +02:00
jpmschweitzerandClaude Opus 4.6 0c3eddee39 fix(assets): address PR #117 review comments
- Remove tracked kallast_terrain.npy (HIGH — binary in git)
- Amend D-086: stance + interaction icons delivered, not deferred
- Create ticket #818 for icon_tint.gdshader (client team)
- Fix gas giant profile table: suppress gravity/land%/hydrosphere
- Fix atmosphere_color: null when atmosphere is none
- Fix gas_giant_ringed display as gas_giant in profile table
- Re-scaffold + regenerate Ran system with fixes

.import sidecars: not applicable — gitignored by design (client/**/*.import).
Godot auto-generates on first run.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-06 16:19:53 +02:00
jpmschweitzerandClaude Opus 4.6 f73d5ba69f data(wiki): 25 Tier-1 corporation profiles (#797)
Adds 25 new named corporations covering D-175 priority gaps: financial
services (Groombridge Settlement House, Compact Financial Exchange,
Meridian Risk), re-embodiment (Somatic Futures, Blue Collective), east
reach anchors, Compact distributors, freight, mining, medical, lattice,
and more. Each corp has lore + behavioral archetype, political tension,
administered silence, currency preference, and branded products.

Includes TOML records in wiki/economics/corporations/tier1.toml and
narrative wiki pages in wiki/corporations/.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 16:05:25 +02:00
jpmschweitzerandClaude Opus 4.6 1e4a44da18 data(wiki): corporation archetype taxonomy (#798)
Adds wiki/economics/archetypes/ with 28 lore archetypes (WHAT/WHERE)
and 6 behavioral archetypes (HOW) as TOML templates. These are the
generation templates for Tier-2 and Tier-3 corporations per D-175.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 16:04:53 +02:00
jpmschweitzerandClaude Opus 4.6 199770ee41 data(wiki): add Bodies/Population rows + economic profiles to 301 systems (#790, #781)
Adds Bodies and Population rows to System Profile tables across all 301
star-system wiki pages. Adds Industries, Exports, and Imports economic
profile rows derived from systems.db economic_base + body type + topology.
Includes 9 body/station name changes from cultural diversity remediation.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 16:03:56 +02:00
jpmschweitzerandClaude Opus 4.6 941a7218d2 chore(meta): update changelog
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 16:00:45 +02:00
jpmschweitzerandClaude Opus 4.6 db3daecfaf chore(config): add JSON syntax validation to pre-push hook
Validates changed JSON files using python3 -m json.tool (zero
dependencies). Same diff-based scoping as existing checks — only
files changed vs remote are validated. Blocks push on syntax errors.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 16:00:29 +02:00
jpmschweitzerandClaude Opus 4.6 c57488a86b fix(skills): filter NULL teams from sprint worktree creation
Tickets with no team assignment caused start-sprint.sh to create
a spurious "sprint-N/None" worktree and Ptyxis tab. Filter at both
the SQL level (AND team IS NOT NULL) and Python level (if r['team']).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 16:00:21 +02:00
jpmschweitzerandClaude Opus 4.6 6286cf5d2c chore(assets): fix ruff lint warnings in planet-gen scripts
Remove unused imports (os, sys, math, ImageFilter, gaussian_filter,
MAX_BIOME_ID) flagged by ruff F401.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-06 15:57:05 +02:00
jpmschweitzerandClaude Sonnet 4.6 c5c6922385 content(wiki): cultural diversity sweep — apply #784 plan (#793)
20 changes across 18 systems implementing the approved remediation plan
from the cultural diversity audit (docs/design/cultural-diversity-audit.md).

DB changes (15 bodies/stations in systems.db):
- Thai bodies: Saikaew (GJ 635B), Nakhon Sung (GJ 667C), Doi Kaeo (GJ 117)
- Khmer bodies: Banteay (GJ 434), Srok Thmei (GJ 866A)
- Ukrainian: Chornozem body + Svoboda station (GJ 729)
- Caribbean: Lavenille body (GJ 873), Accompong Works station (GJ 406)
- Malay: Pulau Baru body (GJ 555), Balai station (GJ 449)
- Scientists: Huygens Platform (GJ 251), Ramanujan Station (GJ 699),
  van Leeuwenhoek Station (GJ 820B), Turing Survey (GJ 663A)

Wiki calibration note additions:
- GJ 635B/667C/117/434: Thai cultural presence (survey teams, founding cohorts)
- GJ 866A/873: Khmer/Caribbean community naming origin
- GJ 729: Ukrainian founding cooperative in west_reach
- GJ 1245A/75: Igbo/Nigerian heritage explicitly acknowledged
- GJ 172: Malay kelong dual-heritage in Kaelong name
- GJ 601A: Russian secondary founding stream in Ostmark

Horizon stations not renamed. No corridor reassignments.
Conservative: systems with existing identity untouched.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 15:56:38 +02:00
jpmschweitzerandClaude Opus 4.6 c32cdf11d4 chore(meta): update changelog
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-06 15:55:38 +02:00