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.
#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
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>
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.
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)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
--check-name-collisionsmode scans culture-*.ron files and reports cross-culture given/family name overlaps.Tickets
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.
overheard.yamlandoverheard.yaml.deprecatedexist. The un-headered original is orphaned and should be removed.r'/[^\n]*'— RON only has//comments. This will corrupt name strings containing/. Remove line 60; line 59 handles all valid RON comments.// Default economic/density profilecomment 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.
context: Socialbut the action andmodifier_hint: offduty_postureread as OffDuty.Miri (World Consistency): REQUEST_CHANGES
Consistently structured, culture-neutral, and IP-original throughout. No franchise contamination detected. Three worldbuilding register issues need attention.
Superiorrelationship context. Social register mismatch — subordinates don't say "someone wanted that" to foremen in freight hierarchies. Either change toColleagueor soften the line.Colleaguerelationship between security and concierge, but dialogue implies authority asymmetry. Review speaker assignment or change toSuperior.childinstead ofsecurity) — flagged in Mellanie's review as "fix required." Confirm this is actually applied.transit_corridorzone type for between-zone passage spaces where eavesdropping gameplay occurs. Follow-up sprint item.Verdict: CHANGES REQUESTED
Warnings requiring action (deduplicated):
overheard.yamlFollow-up tickets recommended:
Review: copy → main (type: copy) — PR #93, Round 2
Verdict: APPROVED
All 6 warnings from round 1 have been addressed in commit
3a86b8b:overheard.yamlSuperiorsecurityin role listBonus 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.
Pull request closed