# Conflicts: # CHANGELOG.md # content/_meta/README.md # content/_meta/npc-authoring-style-guide.md # wiki/_templates/cultural-group.md # wiki/_templates/institution.md # wiki/_templates/star-system.md # wiki/characters/devra.md # wiki/characters/drin.md # wiki/characters/harek.md # wiki/characters/lera-sessik.md # wiki/characters/maret-korr.md # wiki/characters/naia-tamm.md # wiki/characters/nils-davan.md # wiki/characters/pell.md # wiki/characters/renn.md # wiki/characters/resha.md # wiki/characters/sabel.md # wiki/characters/sera-venn.md # wiki/characters/torek-lintar.md # wiki/characters/voss.md # wiki/star-systems/krenn/index.md
4.8 KiB
title, description, type, status, sprint, team
| title | description | type | status | sprint | team |
|---|---|---|---|---|---|
| Sprint 16 — Copy Briefing | Migrate line IDs from location-scoped to NPC-scoped namespace | sprint | archived | 16 | copy |
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.yamldialogue/maintenance-corridors/ring-operative.yamldialogue/maintenance-corridors/transit-worker.yamldialogue/the-last-shift/bar-owner.yamldialogue/the-last-shift/bar-regular.yamldialogue/the-last-shift/bartender.yamldialogue/the-last-shift/day-worker.yamldialogue/the-last-shift/kael-davan.yamldialogue/the-last-shift/pc-detective.yamldialogue/the-last-shift/pc-smuggler.yamldialogue/the-last-shift/sera-venn.yamldialogue/the-terminal/courier.yamldialogue/the-terminal/dock-worker.yamldialogue/the-terminal/kael-davan.yamldialogue/the-terminal/maintenance-tech.yamldialogue/the-terminal/new-hire.yamldialogue/the-terminal/pc-detective.yamldialogue/the-terminal/pc-smuggler.yamldialogue/the-terminal/scheduler.yamldialogue/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