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

91 lines
4.6 KiB
Markdown

# 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):
```bash
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
```