feat(content): sprint 27 copy — zone templates, overheard, validate-ron #93

Closed
jpmschweitzer wants to merge 0 commits from copy into main
Owner

Summary

  • 29 zone-type behavior templates completing the full library of 31 zone types per D-142. 2,210 culture-neutral behavior primitives across all zone categories (rural, industrial, port, extraction, commercial, administrative, research, medical, military, security, entertainment, residential, detention, archaeological, wilderness, diplomatic). Each file has ~4 roles x ~15 primitives with context tags and modifier_hints. Review report included.
  • Overheard conversation replacement — archived the 48 hand-authored entries referencing deleted named NPCs. New RON pool format parameterized by role pair and zone type, culture-neutral, with knowledge_payload. 15 sample conversations across 5 zone types.
  • validate-ron name collision checking — new --check-name-collisions mode scans culture-*.ron files and reports cross-culture given/family name overlaps.

Tickets

  • #662 (epic, high) — Author zone-type behavior templates (29 remaining types)
  • #664 (task, medium) — Replace overheard.yaml with generator-compatible conversation system
  • #665 (task, low) — Extend validate-ron to cross-culture name pool collision checking
## Summary - **29 zone-type behavior templates** completing the full library of 31 zone types per D-142. 2,210 culture-neutral behavior primitives across all zone categories (rural, industrial, port, extraction, commercial, administrative, research, medical, military, security, entertainment, residential, detention, archaeological, wilderness, diplomatic). Each file has ~4 roles x ~15 primitives with context tags and modifier_hints. Review report included. - **Overheard conversation replacement** — archived the 48 hand-authored entries referencing deleted named NPCs. New RON pool format parameterized by role pair and zone type, culture-neutral, with knowledge_payload. 15 sample conversations across 5 zone types. - **validate-ron name collision checking** — new `--check-name-collisions` mode scans culture-*.ron files and reports cross-culture given/family name overlaps. ## Tickets - #662 (epic, high) — Author zone-type behavior templates (29 remaining types) - #664 (task, medium) — Replace overheard.yaml with generator-compatible conversation system - #665 (task, low) — Extend validate-ron to cross-culture name pool collision checking
jpmschweitzer added 4 commits 2026-03-17 11:43:56 +01:00
Completes the zone-type template library (31 total with the 2 existing).
Each file has ~4 roles x ~15 culture-neutral behavior primitives with
context tags and modifier_hints per D-142. 2,210 new primitives across
rural, industrial, port, extraction, commercial, administrative,
research, medical, military, security, entertainment, residential,
detention, archaeological, wilderness, and diplomatic zone types.

Ticket: #662

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Archives the 48 hand-authored overheard conversations that referenced
deleted named NPCs (Kael, Sera, Torek). New RON pool format is
parameterized by role pair and zone type, culture-neutral, with
knowledge_payload for investigative value. 15 sample conversations
across 5 zone types. Adds content pattern note to decisions/content.md.

Ticket: #664

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
New --check-name-collisions mode scans all culture-*.ron files and
reports given/family names appearing in multiple culture pools.
Exits 1 on collision with machine-readable output. Sprint 26 review
caught 6 overlaps manually — this automates the check.

Ticket: #665

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Author
Owner

Review: copy → main (type: copy) — PR #93

Hoshe (QA): REQUEST_CHANGES

Well-structured PR with consistent zone-type templates. Two issues need fixing before merge.

# File Severity Issue
1 content/npc-conversations/overheard.yaml warning Original YAML not deleted — both overheard.yaml and overheard.yaml.deprecated exist. The un-headered original is orphaned and should be removed.
2 tooling/validate-ron:60 warning Spurious single-slash regex r'/[^\n]*' — RON only has // comments. This will corrupt name strings containing /. Remove line 60; line 59 handles all valid RON comments.
3 CHANGELOG.md:11 suggestion Says "15 sample conversations" but overheard.ron contains 16.
4 docs/sprints/sprint-27/zone-type-review.md suggestion Review doc still says "fixes required" but both issues are already resolved in the branch.
5 5 zone-type files suggestion Missing // Default economic/density profile comment in entertainment_hospitality, entertainment_venue, residential_dispersed, residential_station, residential_surface.

Paula (Narrative Depth): APPROVE

High-quality content sprint. Zone-type behavior primitives achieve genuine narrative texture — diplomatic_elite, detention_facility, and research_station are standouts. The occlusion-friendly "observable physical behavior" authoring style is maintained throughout.

# File Severity Issue
1 overheard.ron (full file) warning Only 5 of 29 zone types have overheard conversations (17% coverage). The deprecated YAML is being replaced by a file that covers far fewer zones. Needs a follow-up ticket before playtest sprint.
2 decisions/content.md:574-584 suggestion Overheard format needs a formal D-record before it proliferates.
3 military_garrison.ron:54 suggestion Primitive uses context: Social but the action and modifier_hint: offduty_posture read as OffDuty.
4 residential_station.ron:143 suggestion "is still the one who notices when something is wrong" — describes a trait, not observable physical behavior. Breaks the standalone readability rule.
5 tooling/validate-ron:60 suggestion Same single-slash regex issue as Hoshe flagged.

Miri (World Consistency): REQUEST_CHANGES

Consistently structured, culture-neutral, and IP-original throughout. No franchise contamination detected. Three worldbuilding register issues need attention.

# File Severity Issue
1 diplomatic_elite.ron:100 warning "the car" is Earth-contemporary vocabulary. Diplomatic zones can be orbital — "car" fails in station contexts. Replace with "the departure point" or "the transit connection".
2 overheard.ron:82-93 (ovh_ifr_003) warning Dock worker openly accuses superior's chain of corruption via Superior relationship context. Social register mismatch — subordinates don't say "someone wanted that" to foremen in freight hierarchies. Either change to Colleague or soften the line.
3 overheard.ron:149-153 (ovh_hos_002) warning Colleague relationship between security and concierge, but dialogue implies authority asymmetry. Review speaker assignment or change to Superior.
4 residential_station.ron header warning Stale header comment (lists child instead of security) — flagged in Mellanie's review as "fix required." Confirm this is actually applied.
5 archaeological_site.ron header suggestion No mention of dual use as gatebuilder ruin base (D-142 POI tier 1). Future authors won't know this is the designated alien-infrastructure zone type.
6 Zone taxonomy suggestion No transit_corridor zone type for between-zone passage spaces where eavesdropping gameplay occurs. Follow-up sprint item.

Verdict: CHANGES REQUESTED

Warnings requiring action (deduplicated):

# Issue Raised by
1 Delete orphaned overheard.yaml Hoshe
2 Remove validate-ron line 60 (bad regex) Hoshe + Paula
3 Replace "the car" in diplomatic_elite.ron:100 Miri
4 Fix social register in ovh_ifr_003 (dock worker → foreman accusation) Miri
5 Fix relationship_context in ovh_hos_002 (security/concierge asymmetry) Miri
6 Confirm residential_station.ron header fix is applied Miri

Follow-up tickets recommended:

  • Overheard conversation coverage for remaining 24 zone types (Paula)
  • Formal D-record for overheard format (Paula)
  • Transit corridor zone type for future sprint (Miri)
## Review: copy → main (type: copy) — PR #93 ### Hoshe (QA): REQUEST_CHANGES Well-structured PR with consistent zone-type templates. Two issues need fixing before merge. | # | File | Severity | Issue | |---|------|----------|-------| | 1 | content/npc-conversations/overheard.yaml | warning | Original YAML not deleted — both `overheard.yaml` and `overheard.yaml.deprecated` exist. The un-headered original is orphaned and should be removed. | | 2 | tooling/validate-ron:60 | warning | Spurious single-slash regex `r'/[^\n]*'` — RON only has `//` comments. This will corrupt name strings containing `/`. Remove line 60; line 59 handles all valid RON comments. | | 3 | CHANGELOG.md:11 | suggestion | Says "15 sample conversations" but overheard.ron contains 16. | | 4 | docs/sprints/sprint-27/zone-type-review.md | suggestion | Review doc still says "fixes required" but both issues are already resolved in the branch. | | 5 | 5 zone-type files | suggestion | Missing `// Default economic/density profile` comment in entertainment_hospitality, entertainment_venue, residential_dispersed, residential_station, residential_surface. | ### Paula (Narrative Depth): APPROVE High-quality content sprint. Zone-type behavior primitives achieve genuine narrative texture — diplomatic_elite, detention_facility, and research_station are standouts. The occlusion-friendly "observable physical behavior" authoring style is maintained throughout. | # | File | Severity | Issue | |---|------|----------|-------| | 1 | overheard.ron (full file) | warning | Only 5 of 29 zone types have overheard conversations (17% coverage). The deprecated YAML is being replaced by a file that covers far fewer zones. Needs a follow-up ticket before playtest sprint. | | 2 | decisions/content.md:574-584 | suggestion | Overheard format needs a formal D-record before it proliferates. | | 3 | military_garrison.ron:54 | suggestion | Primitive uses `context: Social` but the action and `modifier_hint: offduty_posture` read as OffDuty. | | 4 | residential_station.ron:143 | suggestion | "is still the one who notices when something is wrong" — describes a trait, not observable physical behavior. Breaks the standalone readability rule. | | 5 | tooling/validate-ron:60 | suggestion | Same single-slash regex issue as Hoshe flagged. | ### Miri (World Consistency): REQUEST_CHANGES Consistently structured, culture-neutral, and IP-original throughout. No franchise contamination detected. Three worldbuilding register issues need attention. | # | File | Severity | Issue | |---|------|----------|-------| | 1 | diplomatic_elite.ron:100 | warning | "the car" is Earth-contemporary vocabulary. Diplomatic zones can be orbital — "car" fails in station contexts. Replace with "the departure point" or "the transit connection". | | 2 | overheard.ron:82-93 (ovh_ifr_003) | warning | Dock worker openly accuses superior's chain of corruption via `Superior` relationship context. Social register mismatch — subordinates don't say "someone wanted that" to foremen in freight hierarchies. Either change to `Colleague` or soften the line. | | 3 | overheard.ron:149-153 (ovh_hos_002) | warning | `Colleague` relationship between security and concierge, but dialogue implies authority asymmetry. Review speaker assignment or change to `Superior`. | | 4 | residential_station.ron header | warning | Stale header comment (lists `child` instead of `security`) — flagged in Mellanie's review as "fix required." Confirm this is actually applied. | | 5 | archaeological_site.ron header | suggestion | No mention of dual use as gatebuilder ruin base (D-142 POI tier 1). Future authors won't know this is the designated alien-infrastructure zone type. | | 6 | Zone taxonomy | suggestion | No `transit_corridor` zone type for between-zone passage spaces where eavesdropping gameplay occurs. Follow-up sprint item. | ### Verdict: CHANGES REQUESTED **Warnings requiring action (deduplicated):** | # | Issue | Raised by | |---|-------|-----------| | 1 | Delete orphaned `overheard.yaml` | Hoshe | | 2 | Remove validate-ron line 60 (bad regex) | Hoshe + Paula | | 3 | Replace "the car" in diplomatic_elite.ron:100 | Miri | | 4 | Fix social register in ovh_ifr_003 (dock worker → foreman accusation) | Miri | | 5 | Fix relationship_context in ovh_hos_002 (security/concierge asymmetry) | Miri | | 6 | Confirm residential_station.ron header fix is applied | Miri | **Follow-up tickets recommended:** - Overheard conversation coverage for remaining 24 zone types (Paula) - Formal D-record for overheard format (Paula) - Transit corridor zone type for future sprint (Miri)
jpmschweitzer added 1 commit 2026-03-17 12:19:41 +01:00
Warnings fixed:
- Delete orphaned overheard.yaml (Hoshe)
- Remove validate-ron line 60 spurious single-slash regex (Hoshe+Paula)
- Replace "the car" with "the departure point" in diplomatic_elite (Miri)
- Soften dock worker accusation in ovh_ifr_003 (Miri)
- Fix relationship_context Colleague→Superior in ovh_hos_002 (Miri)

Suggestions applied:
- Fix CHANGELOG count 15→16 conversations
- Update review doc status to "all issues resolved"
- Add economic/density comment to 5 files missing it
- Fix military_garrison Social→OffDuty context on mess table primitive
- Rewrite residential_station trait-description as observable behavior
- Add gatebuilder ruin note to archaeological_site header

Follow-up tickets: #695, #696, #697

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Author
Owner

Review: copy → main (type: copy) — PR #93, Round 2

Verdict: APPROVED

All 6 warnings from round 1 have been addressed in commit 3a86b8b:

# Original Warning Resolution
1 Delete orphaned overheard.yaml Deleted (832 lines removed)
2 Remove validate-ron line 60 (bad regex) Removed
3 Replace "the car" in diplomatic_elite.ron:100 → "the departure point"
4 Fix social register in ovh_ifr_003 Softened to "Funny how that keeps happening" — indirect observation, no accusation
5 Fix relationship_context in ovh_hos_002 Changed to Superior
6 Confirm residential_station.ron header fix Confirmed: security in role list

Bonus fixes applied: archaeological_site dual-use note (Miri suggestion), 5 economic/density comments (Hoshe suggestion), CHANGELOG count 15→16, military_garrison context Social→OffDuty (Paula suggestion), residential_station observable behavior rewrite (Paula suggestion), zone-type-review.md status updated.

Approving for merge.

## Review: copy → main (type: copy) — PR #93, Round 2 ### Verdict: APPROVED All 6 warnings from round 1 have been addressed in commit `3a86b8b`: | # | Original Warning | Resolution | |---|-----------------|------------| | 1 | Delete orphaned `overheard.yaml` | Deleted (832 lines removed) | | 2 | Remove validate-ron line 60 (bad regex) | Removed | | 3 | Replace "the car" in diplomatic_elite.ron:100 | → "the departure point" | | 4 | Fix social register in ovh_ifr_003 | Softened to "Funny how that keeps happening" — indirect observation, no accusation | | 5 | Fix relationship_context in ovh_hos_002 | Changed to `Superior` | | 6 | Confirm residential_station.ron header fix | Confirmed: `security` in role list | **Bonus fixes applied:** archaeological_site dual-use note (Miri suggestion), 5 economic/density comments (Hoshe suggestion), CHANGELOG count 15→16, military_garrison context Social→OffDuty (Paula suggestion), residential_station observable behavior rewrite (Paula suggestion), zone-type-review.md status updated. Approving for merge.
jpmschweitzer closed this pull request 2026-03-17 12:31:47 +01:00

Pull request closed

This pull request cannot be reopened because the branch was deleted.
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#93