Commit Graph
100 Commits
Author SHA1 Message Date
jpmschweitzerandClaude Opus 4.6 a22bc6ce46 chore(meta): release v0.1.31
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 10:23:56 +02:00
jpmschweitzerandClaude Opus 4.6 ea57a9da70 fix(db): auto-unassign done tickets on sprint close
sprint stop now clears assigned_to on all done tickets in the closing
sprint. Agents don't clean up after themselves — this was causing
5 bookkeeping warnings every sprint.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 10:20:31 +02:00
jpmschweitzer bee93ddbb7 Merge remote-tracking branch 'origin/sprint-31/client' 2026-04-05 10:17:15 +02:00
jpmschweitzerandClaude Opus 4.6 4eb54a6f7a fix(client): resolve all gdlint warnings — zero warnings policy
Fix 354 gdlint warnings across 65 files: 194 class-definitions-order
(reorder declarations), 138 max-line-length (split long lines),
22 code issues (unused args, no-else-return, naming). Update .gdlintrc
to exclude addons/ and raise max-public-methods for test files.
No logic changes — declaration order, whitespace, and naming only.

Ticket: #783

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 09:59:56 +02:00
jpmschweitzer 5941ff791f Merge remote-tracking branch 'origin/sprint-31/server'
# Conflicts:
#	CHANGELOG.md
2026-04-05 09:59:46 +02:00
jpmschweitzerandClaude Opus 4.6 260eefcdd1 refactor(client): decompose main.gd and game_state.gd god objects
Extract SnapshotHandler (static snapshot parsing), SnapshotConsumers
(non-dialogue consumers + audio handlers), and DialogueCoordinator
(dialogue consumers + signal handlers) as class_name scripts.

main.gd: 28KB → 13KB. game_state.gd: 20KB → 8.5KB.
Autoload parse-order safety maintained via load() inline pattern.

Ticket: #775

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 09:59:34 +02:00
jpmschweitzerandClaude Opus 4.6 8eb9e0a383 feat(ui): star map click-through with wiki/GTTR popup and edge visibility
Show system profile popup on select: name, star type, hop distance,
corridor, GTTR excerpt, body count, population, adjacent systems.
Edge rendering changed to show no edges by default, only selected
system's gate lines on click. Star map data extended with wiki fields
for all 301 systems.

Ticket: #780

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 09:59:18 +02:00
jpmschweitzerandClaude Opus 4.6 65bcbd0aa7 fix(meta): move changelog entry to root CHANGELOG.md
Remove erroneous server/CHANGELOG.md and add the atlas split entry
to the project root CHANGELOG.md where it belongs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-05 09:56:53 +02:00
jpmschweitzer 784bcbf034 Merge remote-tracking branch 'origin/sprint-31/copy' 2026-04-05 09:54:47 +02:00
jpmschweitzer 742d51a3c4 Merge remote-tracking branch 'origin/sprint-31/ci' 2026-04-05 09:54:31 +02:00
jpmschweitzerandClaude Opus 4.6 84c3314924 fix(skills): sprint-start team branch must not run pr-review
Team worktree windows stay on their sprint branch. PR reviews run from
main. Updated step 9b to explicitly stop the team lead from spawning
reviewers — push the PR and wait for feedback instead.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 09:47:50 +02:00
jpmschweitzerandClaude Opus 4.6 f60ae48769 chore(meta): update changelog
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-05 09:40:32 +02:00
jpmschweitzerandClaude Opus 4.6 fe788a0ae3 fix(simulation): rustfmt long argument lists in atlas dispatch
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-05 09:40:28 +02:00
jpmschweitzerandClaude Opus 4.6 74d6aee0c1 chore(ci): add ruff to pre-push hook and Makefile
Add Python/ruff block to .config/hooks/pre-push (runs on tooling/
changes). Add lint-python and setup-venv Makefile targets, wire
both into make lint and make setup respectively.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-05 09:40:10 +02:00
jpmschweitzerandClaude Opus 4.6 2300d9659d fix(tooling): remove unused imports flagged by ruff
Drop unused hashlib, math, and os imports from assign-astro-ids,
generate-star-map, and test_quaternius_raw to pass ruff clean.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-05 09:40:02 +02:00
jpmschweitzerandClaude Opus 4.6 980201fb49 chore(db): wire ensure_venv() into connector scripts
Add venv auto-activation to audio_batch, audio_connector,
image_connector, qdrant_connector, and trellis_connector.
Scripts re-exec into .venv/bin/python when invoked outside
the venv, with a friendly error if .venv is missing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-05 09:39:55 +02:00
jpmschweitzerandClaude Opus 4.6 1640c880da fix(simulation): suppress clippy too_many_arguments on cmd_add_body
The refactor from &Commands to individual parameters exposed the
13-argument signature to clippy. Allow attribute is appropriate
here — the parameters map 1:1 to DB columns.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-05 09:39:52 +02:00
jpmschweitzerandClaude Opus 4.6 d86ebada8d refactor(db): extract shared DB module from duplicated patterns
Create tooling/db/common.py with resolve_db_path(), load_config(),
get_connection(), and ensure_venv(). Update ticket, sprint,
sqlite_connector.py, and decisions_sync.py to import from common
instead of duplicating. Fixes pre-existing NameError in
decisions_sync.py (missing import os). Add pyproject.toml with
ruff config (ruff==0.15.9, CVE-clean) and dev dependencies.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-05 09:39:46 +02:00
jpmschweitzerandClaude Opus 4.6 7f23185035 chore(meta): update changelog
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-05 09:38:15 +02:00
jpmschweitzerandClaude Opus 4.6 fb5c8854e8 refactor(simulation): split atlas.rs subcommands into modules
Extract 2119-line monolithic atlas.rs into 8 focused modules under
src/bin/atlas/: main.rs (thin dispatch), common.rs (shared types and
DB helpers), show.rs, mutate.rs, stats.rs, systems.rs, author.rs,
and sync_wiki.rs. Commands enum stays in main.rs; each match arm
delegates to module::cmd_fn(&conn, args). No behavior change.

Closes #776.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-05 09:37:04 +02:00
jpmschweitzerandClaude Opus 4.6 9135f1c656 data(wiki): update west corridor Adams ratings for Lichtung and Haltefenn (#766)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 09:36:31 +02:00
jpmschweitzerandClaude Opus 4.6 a97e2267f0 data(wiki): per-body GTTR entries for 25 moons and stations (#782)
Hub systems at hops 0-4 with pop >10K now have individual GTTR entries.
Covers Gateway, Sirius, ACB, Cygni B, Bastion, Nova Roma, Fremantle,
Kampala Gate, Aurelius, Puerto Rivera, and Okafor Station. Each follows
the established drifter's-voice format with Adams rating and practical
information sections.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 09:36:16 +02:00
jpmschweitzerandClaude Opus 4.6 807e8b74a6 data(wiki): cultural diversity sweep — 4 additional systems enriched (#766)
Schuilhoek (GJ-68): data-wealth commercial dynasty subversion.
Helderoog (GJ-111): genetic protocol precision subversion.
Helle Wacht (GJ-598): philosophical colony governance cost.
Altgrund (GJ-189): institutional archive refugee integration.
Also updates Adams ratings in gttr-deep.md for all enriched systems.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 09:35:56 +02:00
jpmschweitzerandClaude Opus 4.6 898b9c747f data(wiki): enrich Nova Estrada and Entremeio GTTRs to batch standard (#774)
Nova Estrada: added founding agreement time-bomb, thirty-year cost, and
infrastructure audition sections. Entremeio: added transit policy, lake
settlement, and Assembly defiance sections. Both now match Kettenschmied
quality bar.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 09:35:47 +02:00
jpmschweitzerandClaude Sonnet 4.6 2ee095306b docs(wiki): cultural stereotyping sweep — 6 entries enriched (ticket #766)
Subversions added or made explicit across 3 most-imbalanced groups:

Afrikaans/Dutch:
- Breëvlei (GJ-661B): xenobiology research community, pre-settlement
  marsh stakes of unknown origin drive community identity
- Bestevaer (GJ-103): Dutch maritime mystery culture; Diepzeecommissie
  secretly building capacity to investigate restricted deep zone

German:
- Lichtung (GJ-356A): full rewrite → artists' colony, F-type light
  environment, no industrial or agricultural purpose
- Haltefenn (GJ-1248): Moorlesen craft tradition (peat-layer reading as
  art) now primary economic identity over peat fuel extraction

Portuguese:
- Espinho (GJ-1075): science/research subversion made explicit on page
- Nascente (GJ-2097): Irmandade reframed as commercial dynasty via 400
  years of freight transit intelligence

Also creates docs/audits/cultural-stereotyping-audit.md with full audit
findings, ratios, recommendations, and follow-up scope for Sprint 32+.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 09:28:56 +02:00
jpmschweitzerandClaude Sonnet 4.6 b21b28df61 docs(decisions): D-168 Iserlohn (GJ-532c) IP evaluation — retained
Real German city origin (Sauerland wire-drawing centre) documented.
Context diverges fundamentally from LoGH fortress. Altena recorded
as preferred alternative. Ticket #773.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 09:28:34 +02:00
jpmschweitzerandClaude Opus 4.6 b3ae632530 fix(skills): auto-run /sprint-start in team tabs
Pass "claude /sprint-start" as the initial tmux command so each team
tab loads its briefing and spawns agents automatically — no manual
step needed after tabs open.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 08:53:40 +02:00
jpmschweitzerandClaude Opus 4.6 4249a79aa6 fix(skills): open sprint tabs in current window, no duplicate main tab
start-sprint.sh now uses --tab for all teams (opens in active Ptyxis
window) instead of --new-window. No separate main tab — the caller
is already on main.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 08:51:46 +02:00
jpmschweitzerandClaude Opus 4.6 4dd866c9ad feat(skills): integrate start-sprint into sprint-start skill
Move start-sprint.sh into .claude/skills/sprint-start/scripts/ (was
standalone at parent directory level). Sprint-start Case B now calls
the script automatically after activating a sprint — creates ephemeral
worktrees and opens Ptyxis tabs for each active team.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 08:47:49 +02:00
jpmschweitzerandClaude Opus 4.6 4628458ab0 chore(process): add zero-warnings policy to pr-push and pr-review
- pr-push step 1b: lint check before pushing (gdlint, clippy, ruff)
- pr-review step 0c: check warning count before spawning reviewers
- Added .gdlintrc with max-line-length: 120
- Created ticket #783 for Sprint 31: clean up existing 253 warnings
- Updated #780 with edge visibility rule (show edges only for selected system)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 08:39:50 +02:00
jpmschweitzerandClaude Opus 4.6 469114cb0e fix(ui): wire M keybind for star map toggle, clean up info panel
- Add _unhandled_key_input to main.gd: M toggles star_map.toggle_visible()
- Remove topology line from info panel (internal data, not player-facing)
- Cast aperture_count to int (was showing decimal point)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 08:33:07 +02:00
jpmschweitzerandClaude Opus 4.6 822cf34bbc chore(meta): plan Sprint 31: Bedrock
Phase 1 wiki completion (cultural sweep, GTTR depth, star map popups)
+ infrastructure refactors (atlas.rs, main.gd, Python tooling).

8 tickets: copy (4), client (2), server (1), ci (1).
Cascade dependencies locked: Phase 1→2→3→4→5→6.
#693 cancelled (superseded by #704 compositor).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 08:17:28 +02:00
jpmschweitzerandClaude Opus 4.6 dd75203d11 refactor(process): replace persistent team worktrees with ephemeral sprint branches
Persistent worktrees (server, client, copy, audio, visual, ci, planning,
maintenance) caused agents crossing boundaries, stuck agents leaving
uncommitted work, and index.lock collisions. Replaced with ephemeral
sprint branches (sprint-{N}/{team}) and worktrees created on demand.

Changes:
- New start-sprint script replaces start-session (dynamic tabs per active team)
- Sprint teardown integrated into sprint-start skill (A1c step)
- SR_DB_PATH env var for database access from any directory
- CLAUDE.md team boundaries rewritten (scope-based, not directory-based)
- Agent Rule 0 updated to team scope dirs instead of worktree isolation
- PR review uses git show instead of cross-directory reads
- Briefing template updated for sprint-{N}/{team} branch naming
- Deleted worktree-update skill (obsolete)
- Removed WORKTREE_TEAM env var and cross-directory Read permissions
- All 8 persistent worktrees removed

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 00:33:02 +02:00
jpmschweitzerandClaude Opus 4.6 f94d4c7a2c chore(meta): release v0.1.30
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 00:20:23 +02:00
jpmschweitzer 68afd94a57 Merge remote-tracking branch 'origin/client'
# Conflicts:
#	CHANGELOG.md
2026-04-05 00:17:52 +02:00
jpmschweitzerandClaude Opus 4.6 c94c5d7acb fix(client): address PR #109 review — 6 warnings + 5 suggestions
Star map (W1-W3, S3):
- _process visibility guard + dirty flag (no redraw when hidden/unchanged)
- _system_hash masked to 31-bit positive range
- Extracted _find_nearest_system() shared helper

game_state.gd (W4):
- Inline load() in apply_snapshot() replaces per-tick overhead; safe at
  runtime because script is already in resource cache

Data pipeline (W5-W6):
- Script-relative path resolution via __file__
- --check mode + make check-star-map staleness target

Minor (S1-S2, S5):
- Removed redundant bone_idx assignment
- Simplified double-negative test assertion
- Documented autoload parse-order convention in CLAUDE.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-05 00:12:48 +02:00
jpmschweitzerandClaude Opus 4.6 16b7fe0bb5 fix(simulation): address PR #108 review — LEFT JOIN, JSON output, atmosphere default
Review fixes:
- corridor-status: INNER JOIN → LEFT JOIN so systems without gate
  records are included in counts instead of silently excluded
- corridor-status: output as JSON (serde_json) matching all other
  atlas commands, instead of plain-text ASCII table
- generate_body_matrix: emit atmosphere "standard" instead of
  "breathable" to match committed-system conventions
- Doc header: add corridor-status usage example
- CHANGELOG: note stale habitable_planet_count in pre-fix systems

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-04 23:50:11 +02:00
jpmschweitzerandClaude Opus 4.6 0d5323f66c fix(client): resolve GDScript autoload parse-order errors
Autoload scripts are parsed before regular scripts, so class_name
types (CharacterVisualDescriptor, TestHarness, YamlParser) are not
available at parse time. Replace type annotations with untyped vars
and use load() for in-body class references. Fixes all 14 headless
parse errors (9 pre-existing + 5 from Sprint 30 changes).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-04 23:40:28 +02:00
jpmschweitzerandClaude Opus 4.6 c758bcd5d6 chore(meta): update changelog
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-04 23:35:12 +02:00
jpmschweitzerandClaude Opus 4.6 d876923485 test(client): add Sprint 30 acceptance tests
27 tests covering all 5 sprint tickets: descriptor persistence (#718),
overhead anchor (#712), hair highlight swatch (#719), manifest JSON
completeness (#720), and star map scene/HUD integration (#674).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-04 23:34:48 +02:00
jpmschweitzerandClaude Opus 4.6 aed513eb71 feat(ui): star map insert module — concentric hop-ring view (#674)
New StarMapRenderer: 301 systems in concentric hop-rings from player
location, sector-colored, click-to-select with info panel, pan/zoom.
Integrated into HUD (hidden by default), insert state propagation
wired in main.gd. Data enriched from systems.db + star-map.json via
tooling/generate-star-map-data.py regeneration script.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-04 23:34:36 +02:00
jpmschweitzerandClaude Opus 4.6 bc168c861a feat(client): hair highlight swatch + manifest JSON for exports (#719, #720)
#719: Add display-only hair highlight swatch (Option B) — auto-derived
from primary tint, non-interactive (MOUSE_FILTER_IGNORE).

#720: Remove DirAccess.open() fallback scanning (breaks in PCK exports).
Fully populate manifest.json (11 body types, 14 hair, 4 heads, 4
eyebrows, 8 clothing). Add tooling/generate-character-manifest script
and make manifest target for regeneration.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-04 23:34:23 +02:00
jpmschweitzerandClaude Opus 4.6 4c1e0e9c85 feat(client): wire CharacterVisualDescriptor into startup IPC (#718)
encode_startup_message() now accepts optional CharacterVisualDescriptor
as third param, serialized via to_dict(). sim_bridge passes the
descriptor from GameState on new game start. apply_snapshot() restores
descriptor from server snapshot on save/load cycle.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-04 23:34:11 +02:00
jpmschweitzerandClaude Opus 4.6 e8a053080c feat(client): add BoneAttachment3D overhead anchor above Head bone (#712)
Infrastructure for floating UI elements (status indicators, thought
bubbles, alert markers). Marker3D at Vector3(0, 0.3, 0) offset from
Head bone, exposed via get_overhead_anchor() public API.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-04 23:34:00 +02:00
jpmschweitzerandClaude Opus 4.6 ba059ab101 chore(rules): add ticket CLI usage rule
Documents positional argument syntax and key rules for the ticket
CLI to prevent --title flag misuse and sqlite3 crashes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-04 23:33:50 +02:00
jpmschweitzerandClaude Opus 4.6 6763c30d43 chore(skills): add git-state verification warning to pr-push skill
Sprint 30 showed that grepping source files does not distinguish
committed code from uncommitted agent work. Added mandatory
git status + git diff --stat check from repo root before accepting
"already done" claims, and a warning about CWD path resolution.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-04 23:11:54 +02:00
jpmschweitzerandClaude Opus 4.6 ef15d0afa3 chore(meta): update changelog
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-04 23:09:21 +02:00
jpmschweitzerandClaude Opus 4.6 8a98cfa7fc fix(simulation): Sprint 30 server — atmosphere filter fix + corridor-status cmd
#762: Update habitable_planet_count filter to accept both "breathable"
and "standard" atmosphere values via matches! macro. Previously only
matched "breathable", causing all committed systems to report 0
habitable planets.

#744: Add corridor-status subcommand to atlas CLI. Shows remaining
unfinished systems grouped by geographic_sector and hop_distance,
with plain text table output and totals.

Cargo.lock updated for v0.1.29.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-04 23:08:59 +02:00
jpmschweitzerandClaude Opus 4.6 d6b98925ed fix(wiki): address PR #107 review — catalog.md sync, math fix, schema fix
- catalog.md: sync star types for GJ 875 (K), GJ 1111 (M), GJ 541 (K),
  GJ 601A (F), GJ 19 (G), GJ 42 (K); add Dois Sóis name for GJ 707
- GJ-1111: fix calibration note total ~1.46M → ~1.67M, station display
  1M → 1.2M to match proposal
- GJ42 proposal: moon GJ42e-2 biome_summary ice → frozen (schema fix)
- GJ3943 proposal: station notes k-m → K5V+M3V
- GJ-3943 wiki: "five corridor communities" → "four" (Eerste Wacht
  joined later)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 13:13:31 +02:00
jpmschweitzerandClaude Opus 4.6 f8b0b17252 fix(wiki): Sprint 30 — wiki quality fixes, atlas regressions, Brandpunt authoring
High priority:
- #763: Rewrite GJ1111/GJ54.1 prose for population rebalance (380K/320K
  planet + 1M/860K station = mid-tier systems, not megahubs)

Medium priority:
- #772: Author Brandpunt (GJ 3943) — Afrikaans agricultural research
  station, subverts pastoral/frontier stereotype
- #753: Fix Mabuhay (GJ 1073) — GJ 482A is Dagat, not unsurveyed
- #757: Fix Pereira's Rest population 800 → 42K
- #758: Fix Langemark schema values (breathable→standard, rivers-lakes, west_reach)
- #759: Fix Solheim topology disconnect
- #764: Fix GJ1111 star_type unusual → M
- #767: Fix GJ707 star_type/spectral_class swap
- #769: Fix GJ-147 etymology passagem → Entremeio
- #770: Fix GJ-875 header G-type → K-type

Low priority:
- #754: Update stale Calibration Notes (GJ1128, GJ136, GJ625)
- #755: Fix GJ432A Punjabi-Canadian → Punjabi heritage
- #756: Fix GJ541 header G-type → K-type (K2IIIp)
- #760: Add F2III context to GJ601A notes
- #761: Fix GJ4056 spectral_class g → M3V
- #765: Add calibration notes for intentional small populations
- #768: Reconcile GJ189 wave_2 at hop 8-11
- #771: Fix GJ-7547/GJ-6711 spectral class truncation

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 22:47:36 +02:00
jpmschweitzerandClaude Opus 4.6 2c86eee1b6 chore(meta): release v0.1.29
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 19:31:54 +02:00
jpmschweitzerandClaude Sonnet 4.6 4722598017 chore(meta): plan Sprint 30: Clean Slate
Sprint goal: Close Phase 1 wiki quality debt — stereotype correction,
data integrity fixes, and atlas regressions — so the wiki stands
correct before Phase 1 UI work begins.

26 tickets: copy (18), client (5), server (3).
Epics #638, #683, #738 closed. #766 deferred (own sprint).

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 19:28:20 +02:00
jpmschweitzerandClaude Opus 4.6 f63d222ef3 fix(atlas): address PR #106 review — 3 execution issues
1. GJ 111: spectral_class F5V → F5/F6V to match wiki (subgiant)
2. GJ 3943: spectral_class k-m → K5V+M3V (valid MK notation for binary)
3. GJ 903: write wiki prose — was empty stub with only body tables

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 15:19:55 +02:00
jpmschweitzerandClaude Opus 4.6 317cbe10d2 data(atlas): name all remaining unsettled systems — 301/301 complete
Unsettled systems receive their GJ designation as proper_name, except
GJ 868 which is named "Encontro" per wiki lore (informal Portuguese
corridor name). 24 proposals updated, systems.db fully synced.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 14:14:41 +02:00
jpmschweitzerandClaude Opus 4.6 aef39d8e32 fix(db): bulk-sync 233 proposals into systems.db + fix 7 duplicate body IDs
commit-system was inserting bodies/stations but never writing proper_name
to star_systems. Bulk-updated all 276 authored system names. Fixed duplicate
body_id collisions in GJ 1156, GJ 139, GJ 34A, GJ 34B, GJ 661A, GJ 664,
GJ 780 (planet and gas giant sharing same letter suffix).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 14:06:57 +02:00
jpmschweitzerandClaude Opus 4.6 b525d21a6e data(db): sync systems.db — 276 authored systems
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 13:16:47 +02:00
jpmschweitzerandClaude Opus 4.6 e33338fb88 data(atlas): author GJ 6711 (Abzu) — east_reach
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 12:21:02 +02:00
jpmschweitzerandClaude Opus 4.6 22adfd2195 data(atlas): author GJ 7547 (Skemeraand) — east_reach
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 12:20:58 +02:00
jpmschweitzerandClaude Opus 4.6 701d2a119d data(atlas): author GJ 501B (Candeia) — east_reach
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 12:16:37 +02:00
jpmschweitzerandClaude Opus 4.6 ff7e4e835a data(atlas): author GJ 127A (Dalim) — east_reach
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 12:14:03 +02:00
jpmschweitzerandClaude Opus 4.6 7d6b1c6e48 data(atlas): author GJ 147 (Entremeio) — east_reach
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 12:10:51 +02:00
jpmschweitzerandClaude Opus 4.6 ee42c23805 data(atlas): author GJ 111 (Helderoog) — east_reach
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 12:10:48 +02:00
jpmschweitzerandClaude Opus 4.6 405dc1a890 data(atlas): author GJ 672 (Nova Estrada) — deep_frontier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 12:01:11 +02:00
jpmschweitzerandClaude Opus 4.6 312e3cf211 data(atlas): author GJ 546 (Eerste Wacht) — deep_frontier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 12:01:00 +02:00
jpmschweitzerandClaude Opus 4.6 54293a6d3e fix(wiki): add silence topics for GJ 111 (Helderoog) and GJ 147 (Entremeio)
Helderoog: partnership protocol genetic data — two communities' shared
future from a narrow founder population.
Entremeio: no-inspection provisioning policy after undisclosed incident.
Both headers corrected.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 11:58:22 +02:00
jpmschweitzerandClaude Opus 4.6 1c29d67ac2 fix(wiki): add silence topic for GJ 672 (Nova Estrada), fix M→G header
Founding agreement land allocation ambiguities — crisis waiting to happen.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 11:54:41 +02:00
jpmschweitzerandClaude Opus 4.6 8db0e3e16b data(atlas): author GJ 421B (Pedra Seca) — deep_frontier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 11:48:08 +02:00
jpmschweitzerandClaude Opus 4.6 abb30381ec data(atlas): author GJ 726 (GJ 726) — deep_frontier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 11:47:07 +02:00
jpmschweitzerandClaude Opus 4.6 dad1fdffeb data(atlas): author GJ 3943 (GJ 3943) — deep_frontier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 11:45:46 +02:00
jpmschweitzerandClaude Opus 4.6 fd7945ec97 data(atlas): author GJ 904 (Claraboia) — deep_frontier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 11:43:19 +02:00
jpmschweitzerandClaude Opus 4.6 86e3b1e793 data(atlas): author GJ 421B (Pedra Seca) — deep_frontier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 11:43:12 +02:00
jpmschweitzerandClaude Opus 4.6 cce32dc244 data(atlas): author GJ 532 (Kettenschmied) — deep_frontier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 11:38:55 +02:00
jpmschweitzerandClaude Opus 4.6 578b151dc0 data(atlas): author GJ 282B (Travessia) — deep_frontier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 11:38:47 +02:00
jpmschweitzerandClaude Opus 4.6 c1aaaf0dc8 fix(wiki): add silence topics for GJ 421B (Pedra Seca) and GJ 904 (Claraboia)
Pedra Seca: sealed water allocation records from fourth-generation drought.
Claraboia: founding cooperative dissolution dispute details.
Both headers corrected (M→K, M→F).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 11:37:51 +02:00
jpmschweitzerandClaude Opus 4.6 6b6d31ca4d fix(wiki): add silence topic for GJ 532 (Kettenschmied), fix M→K header
Founding cooperative sale circumstances undisclosed. Profitable
cooperative liquidated to fund deep frontier expedition.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 11:30:27 +02:00
jpmschweitzerandClaude Opus 4.6 725763ba91 data(atlas): author GJ 684A (Sonnenkap) — deep_frontier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 11:28:35 +02:00
jpmschweitzerandClaude Opus 4.6 5be0701105 fix(wiki): add silence topic for GJ 282B (Travessia)
Last provisioning stop — travelers going further are not counted
coming back.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 11:28:03 +02:00
jpmschweitzerandClaude Opus 4.6 477f0b1d30 data(atlas): author GJ 481 (Orchard's End) — deep_frontier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 11:24:18 +02:00
jpmschweitzerandClaude Opus 4.6 da59740ee7 data(atlas): author GJ 875 (The Narrows) — deep_frontier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 11:22:49 +02:00
jpmschweitzerandClaude Opus 4.6 f07913ab55 fix(wiki): add silence topic for GJ 684A (Sonnenkap), fix F→G header
West_reach charter lapse circumstances undisclosed. Well-funded departure
raises questions the community does not answer.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 11:20:55 +02:00
jpmschweitzerandClaude Opus 4.6 eb3a2ec136 data(atlas): author GJ 903 (Errai) — deep_frontier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 11:17:20 +02:00
jpmschweitzerandClaude Opus 4.6 1b34c4f2af data(atlas): author GJ 684B (Paso Largo) — deep_frontier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 11:16:04 +02:00
jpmschweitzerandClaude Opus 4.6 5b775d5024 fix(wiki): add silence topic for GJ 481 (Orchard's End)
Charter preamble names specific institutions whose governance
interference caused the Orchard family's prior holdings to be lost.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 11:15:32 +02:00
jpmschweitzerandClaude Opus 4.6 c7fc70c742 fix(wiki): add silence topic and narrative hook for GJ 684B (Paso Largo)
Also corrects M-type → K-type header to match K3V spectral class.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 11:11:22 +02:00
jpmschweitzerandClaude Opus 4.6 5207ef8799 data(atlas): author GJ 61 (Fernlicht) — deep_frontier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 11:06:23 +02:00
jpmschweitzerandClaude Opus 4.6 65e27aa8ca data(atlas): author GJ 407 (Einde) — deep_frontier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 11:06:14 +02:00
jpmschweitzerandClaude Opus 4.6 d071a3775b data(atlas): author GJ 201 (GJ 201) — deep_frontier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 11:03:53 +02:00
jpmschweitzerandClaude Opus 4.6 0cc0df6758 data(atlas): author GJ 616 (GJ 616) — deep_frontier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 10:57:44 +02:00
jpmschweitzerandClaude Opus 4.6 9f694e2835 data(atlas): author GJ 354A (GJ 354A) — deep_frontier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 10:53:58 +02:00
jpmschweitzerandClaude Opus 4.6 8672fe3ddd data(atlas): author GJ 428A (Fluchtburg) — deep_frontier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 21:19:03 +02:00
jpmschweitzerandClaude Opus 4.6 06da24ef02 data(atlas): author GJ 528A (Ouplaas) — deep_frontier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 21:16:43 +02:00
jpmschweitzerandClaude Opus 4.6 ebc2cc28f2 data(atlas): author GJ 853A (GJ 853A) — deep_frontier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 21:16:04 +02:00
jpmschweitzerandClaude Opus 4.6 ad42b658e7 data(atlas): author GJ 656 (GJ 656) — deep_frontier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 21:14:44 +02:00
jpmschweitzerandClaude Opus 4.6 acc5ea380c data(atlas): author GJ 524 (GJ 524) — deep_frontier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 21:13:29 +02:00
jpmschweitzerandClaude Opus 4.6 e265bbaf9e data(atlas): author GJ 5 (GJ 5) — deep_frontier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 21:11:07 +02:00
jpmschweitzerandClaude Opus 4.6 4c8802363a data(atlas): author GJ 394 (GJ 394) — deep_frontier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 21:07:26 +02:00
jpmschweitzerandClaude Opus 4.6 92195398a7 data(atlas): author GJ 1267 (Saudade) — deep_frontier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 21:05:14 +02:00
jpmschweitzerandClaude Opus 4.6 faabbfed92 data(atlas): author GJ 868 (GJ 868) — deep_frontier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 21:04:35 +02:00
jpmschweitzerandClaude Opus 4.6 33cfbb7d38 data(atlas): author GJ 69 (GJ 69) — deep_frontier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 21:03:08 +02:00
jpmschweitzerandClaude Opus 4.6 ffe89cf758 data(atlas): author GJ 3403 (GJ 3403) — deep_frontier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 21:00:09 +02:00