feat(copy): Sprint 14 — monologue architecture, line pools, voice guide, schema, overheard dialogue #51

Merged
jpmschweitzer merged 5 commits from copy into main 2026-02-20 19:31:28 +01:00
Owner

Summary

Sprint 14 copy team deliverables — monologue architecture, content pools, voice guide, dialogue schema, access tier shifts, and NPC-to-NPC overheard dialogue.

  • #253 Monologue content architecture — docs/design/monologue-content-architecture.md (authoring contract for all future monologue)
  • #120 Monologue line pools — smuggler + detective YAML files for smuggling-hold and commission-kiosk (51 lines, D-035 compliant)
  • #121 Character voice variation — docs/design/monologue-voice-guide.md (trait, background, mood transformation guide)
  • #168 Tagged line pool schema — content/_schema/dialogue-line.schema.json (canonical D-035 taxonomy), updated dialogue-pool + monologue-pool schemas, Rust enum sync (Greeting situation, Focused mood)
  • #328 Access tier shift design — docs/design/access-tier-shifts.md (16 transitions across 3 social sites, FactId-gated)
  • #536 NPC-to-NPC overheard dialogue — content/npc-conversations/overheard.yaml (48 exchange pairs, D-078 occlusion-resilient)
  • Mood vocabulary rename (D-035 Sprint 14 amendment) — schema + Rust aligned to voice guide names: fond→warm, comfortable→content, worried→anxious, concerned→frustrated, +hostile, -analytical, -conflicted
  • Test fix — NPC profile count assertions updated (20→23) for content expansion
## Summary Sprint 14 copy team deliverables — monologue architecture, content pools, voice guide, dialogue schema, access tier shifts, and NPC-to-NPC overheard dialogue. - **#253** Monologue content architecture — `docs/design/monologue-content-architecture.md` (authoring contract for all future monologue) - **#120** Monologue line pools — smuggler + detective YAML files for smuggling-hold and commission-kiosk (51 lines, D-035 compliant) - **#121** Character voice variation — `docs/design/monologue-voice-guide.md` (trait, background, mood transformation guide) - **#168** Tagged line pool schema — `content/_schema/dialogue-line.schema.json` (canonical D-035 taxonomy), updated dialogue-pool + monologue-pool schemas, Rust enum sync (Greeting situation, Focused mood) - **#328** Access tier shift design — `docs/design/access-tier-shifts.md` (16 transitions across 3 social sites, FactId-gated) - **#536** NPC-to-NPC overheard dialogue — `content/npc-conversations/overheard.yaml` (48 exchange pairs, D-078 occlusion-resilient) - **Mood vocabulary rename** (D-035 Sprint 14 amendment) — schema + Rust aligned to voice guide names: fond→warm, comfortable→content, worried→anxious, concerned→frustrated, +hostile, -analytical, -conflicted - **Test fix** — NPC profile count assertions updated (20→23) for content expansion
jpmschweitzer added 4 commits 2026-02-20 19:01:00 +01:00
- Add content/_schema/dialogue-line.schema.json — canonical standalone line schema
  with all 6 structural + 3 selection + 2 authoring-only tags and $defs for
  monologue extension (character, trigger, prerequisite)
- Update dialogue-pool.schema.json: add dual_lens and notes authoring-only tags,
  add additionalProperties: false to knowledge_grant
- Update monologue-pool.schema.json: add all 6 structural tags as required fields
  for schema compliance (role=player_character, access=[public], trust=surface are
  constrained constants); add topic, mood, dual_lens, notes
- Enumerate all 14 v0.1 situations and 9 v0.1 topics as allowed enum values per D-035
- Fix Rust sync gap: add Situation::Greeting and Mood::Focused to line_pool.rs
  (D-035 Sprint 8 amendments — were in schema but missing from Rust enums, causing
  content with these values to be silently dropped at runtime)
- Update line_preview.rs situation_str, mood_str match arms and help text for
  new variants; all 25 line_pool tests pass

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
#253 monologue-content-architecture.md:
- All prerequisite fact_ids validated against knowledge vocabulary — APPROVED
- Flag: behavioral.sera_avoidance should be behavioral.sera_avoidance_pattern
- Flag: investigation.drin_inspection_pattern duplicated in investigation.yaml
- Confirm: cooldown is content-layer (schema field) — OQ item 3 resolved
- Pending: witness_interaction trigger payload (OQ item 4) — Dudley to confirm
  before named-pair witness_interaction lines can be authored

#121 monologue-voice-guide.md:
- BLOCKING: mood vocabulary mismatch — voice guide uses neutral/anxious/frustrated/
  content/warm/hostile but schema enum uses fond/comfortable/worried/analytical/
  conflicted/concerned/relieved; hostile not in schema at all
- Provide interim mapping table so Mellanie can use correct schema names
- Flag schema gaps: analytical and relieved have no voice guide coverage
- Recommend schema rename to voice guide names (Lead decision required)
- Mood-as-selection-weight model is mechanically coherent — APPROVED

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Schema and Rust Mood enum renamed for author-friendly vocabulary:
fond→warm, comfortable→content, worried→anxious, concerned→frustrated.
Dropped: analytical (merged into focused), conflicted (modeled as
suspicious+warm collision). Added: hostile. Final 8 moods: anxious,
frustrated, content, suspicious, warm, hostile, relieved, focused.
Neutral = untagged. Resolves Gestalt's blocking issue on #121.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Three NPC profiles added by copy team content expansion. Updates
content_loading test expectations to match actual content directory.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
jpmschweitzer added 1 commit 2026-02-20 19:31:25 +01:00
Keep all new variants from both branches: Greeting (copy), FirstMeeting
and RepeatedVisit (server). Combine Mood doc comments.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
jpmschweitzer merged commit 665f67626b into main 2026-02-20 19:31:28 +01:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: jpmschweitzer/settled-reach#51