Files
settled-reach/docs/sprints/sprint-16/copy.md
T
jpmschweitzerandClaude Opus 4.6 e8263e209e refactor(data): rename Krenn to Van Maanen's Star
System S-057 assigned to real star GJ 35 (Van Maanen's Star, DG white
dwarf at 13.9 ly). Renamed across all content, server code, docs,
decisions, wiki lore, and config files. 224 files updated.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 00:23:26 +01:00

4.6 KiB

Sprint 16: Converse — Copy Tasks

Goal: Dialogue becomes a two-way exchange — players pick options and the server responds; NPC information-giving deepens through trust and trait-shaped delivery; the sprite pipeline gets its correct art-direction angle; and housekeeping fixes land across all three active teams.

Branch: copy Agents: Mellanie (author), Paula (narrative), Gestalt (systems)

Carry-over from Sprint 15

None. Sprint 15 was 100% complete (16/16 done).

New Tickets

# Title Blocked by
#542 Migrate line IDs from location-scoped to NPC-scoped namespace —

Use db/connectors/ticket show 542 for full details.

Key Decisions

  • decisions/content.md — D-035 (tag taxonomy; Sprint 15 amendment: line ID namespace change from location-scoped to NPC-scoped), D-028 (dialogue architecture, line pool format)
  • decisions/process.md — D-022 (process workflow)

Notes

#542 — Migrate line IDs from location-scoped to NPC-scoped namespace

What exists: All dialogue and monologue YAML files under content/campaigns/main/systems/van-maanens-star/stations/sova/districts/transit/. There are approximately 20 dialogue pool files and a set of monologue pool files. The current line ID scheme uses the location as prefix:

  • Old: the-terminal_d_039 (all NPCs at The Terminal share one ID sequence)
  • New: kael-davan_d_001, dock-worker_d_001 (each NPC has an independent sequence)

The D-035 Sprint 15 amendment confirmed this change. The collision that prompted it (the-terminal_d_039 appeared in multiple NPC files) demonstrates the old scheme does not scale to procedurally generated populations.

Dialogue pool files to update (location + NPC name):

  • dialogue/maintenance-corridors/kael-davan.yaml
  • dialogue/maintenance-corridors/ring-operative.yaml
  • dialogue/maintenance-corridors/transit-worker.yaml
  • dialogue/the-last-shift/bar-owner.yaml
  • dialogue/the-last-shift/bar-regular.yaml
  • dialogue/the-last-shift/bartender.yaml
  • dialogue/the-last-shift/day-worker.yaml
  • dialogue/the-last-shift/kael-davan.yaml
  • dialogue/the-last-shift/pc-detective.yaml
  • dialogue/the-last-shift/pc-smuggler.yaml
  • dialogue/the-last-shift/sera-venn.yaml
  • dialogue/the-terminal/courier.yaml
  • dialogue/the-terminal/dock-worker.yaml
  • dialogue/the-terminal/kael-davan.yaml
  • dialogue/the-terminal/maintenance-tech.yaml
  • dialogue/the-terminal/new-hire.yaml
  • dialogue/the-terminal/pc-detective.yaml
  • dialogue/the-terminal/pc-smuggler.yaml
  • dialogue/the-terminal/scheduler.yaml
  • dialogue/the-terminal/shift-supervisor.yaml

Monologue files: Check all monologue/detective/*.yaml and monologue/smuggler/*.yaml (if present) for any m_ prefixed line IDs that use the old location-slug convention.

ID scheme rules:

For each NPC file, assign a fresh sequence starting at _001:

  • Dialogue lines: {npc-slug}_d_{###} — e.g., kael-davan_d_001
  • Monologue lines: {npc-slug}_m_s_{###} (smuggler) or {npc-slug}_m_d_{###} (detective) per D-032

The npc-slug is the NPC's name in kebab-case: kael-davan, dock-worker, shift-supervisor, pc-smuggler, pc-detective, etc.

Each file's IDs restart at _001 — do not carry a running counter across files. The 999-line ceiling is per-NPC, not per-location.

Schema: The dialogue-pool.schema.json regex pattern already accepts the new format (^[a-z][a-z0-9-]*). Only the description field in the schema needs updating to reference the new convention. No code changes required — line IDs are opaque strings to the server.

Authoring docs: Update docs/workshops/content-gap-analysis_v0_1/ or any voice guide that references the old {location_slug} convention. Check docs/briefings/mellanie.md and related copy briefings for any hardcoded examples.

Golden tests: Run make pre-pr after all renames to confirm no golden test snapshots reference old IDs. The content cross-reference validation (CI ticket #464, done) will catch any mismatches between schema and file content.

This is a mechanical rename with zero content changes. Do not rewrite lines, adjust trust tiers, or add new content in this ticket. Pure ID substitution only.

Dependency Chain

#542 (line ID namespace migration) → standalone, no dependencies

PR Workflow

When ready to submit, create a PR with tea CLI. All flags are required to avoid TTY prompts (see CLAUDE.md "Gitea access" section):

tea pr create --repo jpmschweitzer/settled-reach --login schweitz --title "feat(content): migrate line IDs to NPC-scoped namespace (D-035)" --description "body" --base main --head copy