chore(meta): release v0.1.37

Sprint 37: Sweep — 25/25 original-scope tickets shipped across 4
teams (ci 7 / server 9 / client 6 / copy 3).

Highlights:
- Asset pipeline discipline: source-canonical systems.db with
  meta-stamp, pre-push hook, /pr-push auto-regen, documented rule
  (#854-#859, #723)
- D-192 PROTOCOL_VERSION lockstep removed server + client
  (#874, #875)
- D-167 HeritageRoot + D-032 CharacterArchetype stripped per
  development cascade (#877, #878)
- New Game hang fix + scene-level merge-path tests (#872, #873)
- 105 brand corp stubs authored to three-layer depth (#861)
- D-193 Lattice Commission canonical (#876)
- v0.1 Sova/Van Maanen residue purged (#865)
- 21 raw-commodity coverage gaps closed (#860)
- Atlas generator polish + determinism smoke (#853, #847)
- Bookmark save/load persistence (#863, #862)

5 in-sprint follow-ups carried to backlog (#882, #884, #885,
#892, #893) for sprint 38 planning.
This commit is contained in:
2026-04-22 11:39:36 +02:00
parent fcd434e528
commit 38a1007e04
4 changed files with 14 additions and 4 deletions
+11 -1
View File
@@ -6,6 +6,8 @@ Format based on [Keep a Changelog](https://keepachangelog.com/).
## [Unreleased]
## [v0.1.37] — 2026-04-22
### Added
- **Asset pipeline discipline** (#854, #855, #856, #857, #858, #859) — `systems.db` is now a source-canonical snapshot with a `meta` table stamped by every generator (SHA of source + schema). Pre-push hook rejects stale DBs; `/pr-push` auto-runs `make regen-db` when generator sources change. Full rules in `.claude/rules/asset-pipeline.md`
- **`make regen-db`** — runs the two DB-writing generators (import_economics, generate_atlas) and stamps the meta table. import_economics now invokes the Rust generate_brands binary internally as its first step, so the brand pipeline is owned by a single stamp.
@@ -17,6 +19,9 @@ Format based on [Keep a Changelog](https://keepachangelog.com/).
- **`BookmarkPlugin::new(registry)` injection** (#862) — test-friendly plugin construction for future TOML bookmark loading; default constructor still wires the canonical tycoon registry
- **Six new corporation wiki pages** (#860) — Arbour Aggregates, Earth Standard Group, Rush Mining, Scapa Flow Industries, Sede Chemical Works, Threshold Fuel Syndicate
- **Atlas naming corridor-scoped dedup, compass-direction filter, river vocab filter, infra pair-naming** (#853) — city and mountain names deduplicate across bodies within a corridor; compass-direction defaults blocked in the few-shot prompt; navigational vocabulary (`Flow`, `Current`) rejected for rivers; unnamed roads and railroads receive deterministic `{CityA}{CityB} {corridor_suffix}` names
- **Scene-level merge-path UI flow tests** (#873) — `test_merge_path_flows_sprint37.gd` covers main-menu → new-game, load-game, character-creation → submit, bookmark → confirm. Headless scene-flow tier (4th beyond Gauntlet/MessagePack/TestHarness); pattern for future merge-path regression guards
- **105 brand corp wiki stubs** (#861) — every corp page from Sprint 36 PR #133 now authored to three-layer narrative depth (public identity / actual operation / one concealed fact) with ≥95-line DoD
- **D-193 Lattice Commission** (#876) — resolves Q-095: "the Lattice Commission" is the canonical long-form of the Concord Assembly's regulatory authority; "Concord Commission" and "Assembly Commission" deprecated as drift forms
### Changed
- `decisions-coverage` Makefile target now lists implementing ticket IDs per decision instead of aggregate counts
@@ -24,12 +29,17 @@ Format based on [Keep a Changelog](https://keepachangelog.com/).
- Tag updates on 15 existing corporation wiki pages to match commodity coverage needs
### Fixed
- **New Game flow hangs on 'connecting'** (#872) — `bookmark_catalog` carry-forward race in `SimBridge.receive_bytes` when tick 0 + tick 1 arrived in the same TCP batch; catalog now carries forward with same invariants as monologue/dialogue/settings_response
- **`dialogue_box._escape_bbcode` corrupted `[lb]` escapes** (#866) — chained `.replace('[','[lb]').replace(']','[rb]')` turned `[lb]` into `[lb[rb]`; fix escapes only `[`, since unmatched `]` renders as literal in RichTextLabel
- **MetaScreen test helper regression in `test_anti_tedium`** (#869) — bug_report_dialog test helpers now instantiate from `.tscn` instead of `Control.new() + set_script()`, preserving the MetaScreen runtime stack
- Storyteller `activation_pass` "no Simmering triangles — holding" no longer fires as `warn` during normal early-game state — downgraded to `debug` (#789)
### Removed
- **`PROTOCOL_VERSION` lockstep handshake** (#874, D-192) — `HandshakeMessage` is now empty; schema drift surfaces as MessagePack missing-field errors downstream, which is the intended signal
- **`PROTOCOL_VERSION` lockstep handshake** (#874, #875, D-192) — both sides of the handshake now omit the version field; `HandshakeMessage` is empty server-side and the client decode path no longer checks versions. Schema drift surfaces as MessagePack missing-field errors downstream, which is the intended signal
- **`HeritageRoot` type alias and `ZonePaletteModifier::Heritage` variant** (#877, D-167) — last stubs of the abstract heritage-root system retired in favour of the corridor cultural framework
- **`CharacterArchetype` (Smuggler/Detective) trace from server** (#878) — enum, IPC field, verb-differentiation branch in the observer Phase 2 filter (D-057 superseded), monologue pool partitioning, Gauntlet plumbing, drama-module schema, archetype-dependent integration tests. Per the development cascade, character/NPC differentiation is Phase 6 work and the running trace was pre-cascade filler, not production. Client-side cleanup tracked in #882.
- **v0.1 Sova/Van Maanen's residue from wiki** (#865) — `wiki/star-systems/GJ-35/sova/` subtree deleted; authoring-guide examples stripped; canonical lore citing dropped v0.1 NPCs rewritten; "Van Maanen's Star" cultural references converted to "Vuurkloof"
- **8 parse-error test files** (#870) — `test_debug_overlay_sprint19`, `test_entanglement_sprint22`, `test_fog_sprint22`, `test_journal_sprint18`, `test_minimap_sprint18`, `test_session_manager_sprint19`, `test_sprint30`, `test_sprite_integration` — referenced removed/renamed APIs from prior sprints. Coverage-revival tickets filed: #879 (fog), #880 (journal), #881 (minimap), #889 (EntityRenderer sprite constants); rest tracked under umbrella #871
## [v0.1.36] — 2026-04-21
+1 -1
View File
@@ -1,5 +1,5 @@
name: The Settled Reach
version: 0.1.36
version: 0.1.37
repository: settled-reach
+1 -1
View File
@@ -1294,7 +1294,7 @@ dependencies = [
[[package]]
name = "settled-reach-server"
version = "0.1.36"
version = "0.1.37"
dependencies = [
"bevy_app",
"bevy_ecs",
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "settled-reach-server"
version = "0.1.36"
version = "0.1.37"
edition = "2021"
publish = false