From 26a74b2bfbe5aa0c8490a6ab2b733b8e48b35301 Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Fri, 10 Apr 2026 12:54:12 +0200 Subject: [PATCH] feat(content): author overheard conversations for all 31 zone types (#695) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Expand overheard.ron from 5 zone types (16 conversations) to full coverage of all 31 zone types with 94 new conversations. Each zone type has 2-4 role-pair conversations following D-078 occlusion- resilient authoring rules. Conversations carry investigative knowledge payloads where appropriate — institutional cover-ups, manifest discrepancies, suppressed inspections, and cultural signals players can follow. Zone types added: administrative_civil, administrative_judicial, archaeological_site, commercial_market, commercial_transit, detention_facility, diplomatic_elite, entertainment_venue, extraction_platform, extraction_space, extraction_surface, industrial_manufacturing, industrial_processing, medical_facility, military_garrison, port_fishing, port_maritime, port_space, port_surface, research_station, residential_surface, rural_aquaculture, rural_orbital, rural_pastoral, security_checkpoint, wilderness_frontier. Co-Authored-By: Claude Opus 4.6 --- .../content/npc-conversations/overheard.ron | 1334 +++++++++++++++++ 1 file changed, 1334 insertions(+) diff --git a/server/content/npc-conversations/overheard.ron b/server/content/npc-conversations/overheard.ron index 16242877c..a8648ac02 100644 --- a/server/content/npc-conversations/overheard.ron +++ b/server/content/npc-conversations/overheard.ron @@ -291,5 +291,1339 @@ knowledge_payload: Some("A vehicle has visited the settlement three times in one week under different registration plates. Both militia members recognize this as suspicious rather than operational."), ), + // ===================================================================== + // COMMERCIAL MARKET + // ===================================================================== + + ( + id: "ovh_cmk_001", + zone_types: ["commercial_market"], + role_pair: (a: "vendor", b: "buyer"), + register: Work, + relationship_context: Acquaintance, + topic: "floor_pricing", + lines: [ + ( speaker: A, text: "Today's floor price is twenty-two. That number isn't going to move." ), + ( speaker: B, text: "Floor prices move when the market is thin. Three empty stalls this morning." ), + ( speaker: A, text: "Market official sets the floor. Take it up with her if you want — she's at the north end." ), + ], + knowledge_payload: None, + ), + + ( + id: "ovh_cmk_002", + zone_types: ["commercial_market"], + role_pair: (a: "vendor", b: "vendor"), + register: Social, + relationship_context: Colleague, + topic: "slow_market", + lines: [ + ( speaker: A, text: "Third slow morning this week. Same regulars, nothing moving past midday." ), + ( speaker: B, text: "Slow in the morning means busy at close, or it means nothing. Hard to tell which until it's done." ), + ( speaker: A, text: "Two spring stalls already gone. Rent's not patient." ), + ], + knowledge_payload: None, + ), + + ( + id: "ovh_cmk_003", + zone_types: ["commercial_market"], + role_pair: (a: "market_official", b: "security_warden"), + register: Work, + relationship_context: Colleague, + topic: "stall_encroachment", + lines: [ + ( speaker: A, text: "Stall thirty-eight has pushed past his allocation again. Third week running." ), + ( speaker: B, text: "Third week means the two courtesy notices did nothing." ), + ( speaker: A, text: "Friday close I want it logged formally. Next step is loss of the allocation." ), + ], + knowledge_payload: Some("A stall holder has repeatedly encroached on a neighboring space and ignored two informal warnings. Formal escalation is being prepared."), + ), + + // ===================================================================== + // COMMERCIAL TRANSIT + // ===================================================================== + + ( + id: "ovh_ctx_001", + zone_types: ["commercial_transit"], + role_pair: (a: "service_worker", b: "service_worker"), + register: Work, + relationship_context: Colleague, + topic: "counter_fault", + lines: [ + ( speaker: A, text: "Counter three display has been wrong since the morning changeover. Showing yesterday's pricing." ), + ( speaker: B, text: "Hub maintenance says end of cycle. Same answer they gave yesterday." ), + ( speaker: A, text: "Running off the terminal list in the meantime. Slower, but at least the numbers are right." ), + ], + knowledge_payload: None, + ), + + ( + id: "ovh_ctx_002", + zone_types: ["commercial_transit"], + role_pair: (a: "concourse_trader", b: "hub_security"), + register: Social, + relationship_context: Acquaintance, + topic: "informal_tolerance", + lines: [ + ( speaker: A, text: "Appreciated the slow pass this morning. Gave me the window I needed." ), + ( speaker: B, text: "No slow pass. Same timing as always. Coincidence it worked out for you." ), + ( speaker: A, text: "Of course. Same time tomorrow, then." ), + ], + knowledge_payload: Some("A concourse trader and hub security officer appear to have an informal arrangement around patrol timing. Both maintain plausible deniability."), + ), + + ( + id: "ovh_ctx_003", + zone_types: ["commercial_transit"], + role_pair: (a: "transit_official", b: "concourse_trader"), + register: Work, + relationship_context: Superior, + topic: "permit_lapse", + lines: [ + ( speaker: A, text: "Concourse permit for this section expired two weeks ago. Renewal was filed but not approved." ), + ( speaker: B, text: "Filed it on time. Not my fault the processing window ran long." ), + ( speaker: A, text: "Operating in the gap isn't covered. Close the display today and reapply through the standard channel." ), + ], + knowledge_payload: None, + ), + + // ===================================================================== + // RESIDENTIAL SURFACE + // ===================================================================== + + ( + id: "ovh_rsu_001", + zone_types: ["residential_surface"], + role_pair: (a: "resident", b: "resident"), + register: Social, + relationship_context: Friend, + topic: "neighborhood_change", + lines: [ + ( speaker: A, text: "New building on the corner looks like short-stay units. Six floors where the hardware shop was." ), + ( speaker: B, text: "Short-stay means turnover. Turnover means you stop knowing the names of the people on the street." ), + ( speaker: A, text: "Street's been changing for three years. This is just the part that shows." ), + ], + knowledge_payload: None, + ), + + ( + id: "ovh_rsu_002", + zone_types: ["residential_surface"], + role_pair: (a: "shopkeeper", b: "municipal_worker"), + register: Work, + relationship_context: Acquaintance, + topic: "infrastructure_delay", + lines: [ + ( speaker: A, text: "Drain in front of the shop backs up every time it rains. Has for two seasons." ), + ( speaker: B, text: "On the works order. Third priority, which means second rain cycle at earliest." ), + ( speaker: A, text: "Two seasons of third priority is a decision, not a delay." ), + ], + knowledge_payload: None, + ), + + ( + id: "ovh_rsu_003", + zone_types: ["residential_surface"], + role_pair: (a: "security", b: "resident"), + register: Gossip, + relationship_context: Acquaintance, + topic: "newcomer_behavior", + lines: [ + ( speaker: A, text: "New occupant in the end unit watches the street from the window. Watches a lot." ), + ( speaker: B, text: "Watching from a window isn't unusual. What time?" ), + ( speaker: A, text: "Off-peak hours. Early morning, quiet evening. Regular as a schedule." ), + ], + knowledge_payload: Some("A new block resident is observing the street at consistent, off-peak times. The pattern has been noticed by at least two neighbors."), + ), + + // ===================================================================== + // ENTERTAINMENT VENUE + // ===================================================================== + + ( + id: "ovh_evn_001", + zone_types: ["entertainment_venue"], + role_pair: (a: "stage_crew", b: "stage_crew"), + register: Work, + relationship_context: Colleague, + topic: "cue_failure", + lines: [ + ( speaker: A, text: "Fly cue seven ran four seconds early. Deck operator says he got a bad confirm from the headset." ), + ( speaker: B, text: "Four seconds early on that cue and the piece clears the performer by maybe a meter." ), + ( speaker: A, text: "Headset line goes to maintenance tonight. Not using that channel again until it's cleared." ), + ], + knowledge_payload: None, + ), + + ( + id: "ovh_evn_002", + zone_types: ["entertainment_venue"], + role_pair: (a: "performer", b: "venue_staff"), + register: Social, + relationship_context: Colleague, + topic: "thin_house", + lines: [ + ( speaker: A, text: "House was thin tonight. Could feel it from the second act." ), + ( speaker: B, text: "Thin house doesn't usually show through. Tonight it did a little." ), + ( speaker: A, text: "Some nights the room holds. Tonight it didn't hold." ), + ], + knowledge_payload: None, + ), + + ( + id: "ovh_evn_003", + zone_types: ["entertainment_venue"], + role_pair: (a: "security", b: "stage_crew"), + register: Gossip, + relationship_context: Acquaintance, + topic: "unauthorized_pass", + lines: [ + ( speaker: A, text: "Someone used a side stage pass for the backstage corridor after close. Badge doesn't match anyone on crew." ), + ( speaker: B, text: "Side stage passes come from the venue office. Shouldn't be extras floating around." ), + ( speaker: A, text: "Pulled the log. Access was clean on the system side. Someone signed a pass that wasn't supposed to exist." ), + ], + knowledge_payload: Some("A valid but unaccounted backstage access pass was used after the venue closed. The pass was system-valid but corresponds to no staff member, suggesting it was issued off-book."), + ), + + // ===================================================================== + // MEDICAL FACILITY + // ===================================================================== + + ( + id: "ovh_med_001", + zone_types: ["medical_facility"], + role_pair: (a: "medic", b: "medic"), + register: Work, + relationship_context: Colleague, + topic: "supply_shortage", + lines: [ + ( speaker: A, text: "Wound closure stock is down to two days. Supply request went in three days ago." ), + ( speaker: B, text: "Central depot has been running short on three lines this cycle. Not just us waiting." ), + ( speaker: A, text: "Administrator needs to know before tomorrow morning. Short supply changes the procedure list." ), + ], + knowledge_payload: None, + ), + + ( + id: "ovh_med_002", + zone_types: ["medical_facility"], + role_pair: (a: "physician", b: "administrator"), + register: Work, + relationship_context: Superior, + topic: "capacity_reclassification", + lines: [ + ( speaker: A, text: "Overflow bay has been in use for six days straight. That's not an overflow bay anymore, that's a ward." ), + ( speaker: B, text: "Formal ward designation requires a staffing reclassification. That's a budget line I don't have." ), + ( speaker: A, text: "Running a ward without calling it one doesn't change what it costs to staff it safely." ), + ], + knowledge_payload: None, + ), + + ( + id: "ovh_med_003", + zone_types: ["medical_facility"], + role_pair: (a: "administrator", b: "medic"), + register: Gossip, + relationship_context: Colleague, + topic: "intake_cluster", + lines: [ + ( speaker: A, text: "Four admissions this week with the same presentation. Facility across the district has seen three more." ), + ( speaker: B, text: "Seven with the same presentation in one week is a cluster. Someone should be notifying the health authority." ), + ( speaker: A, text: "Notification went up this morning. Waiting on the response." ), + ], + knowledge_payload: Some("Multiple facilities are seeing an unusual cluster of patients with identical presentations. A health authority notification has been filed."), + ), + + // ===================================================================== + // RESEARCH STATION + // ===================================================================== + + ( + id: "ovh_rsc_001", + zone_types: ["research_station"], + role_pair: (a: "researcher", b: "researcher"), + register: Work, + relationship_context: Colleague, + topic: "data_anomaly", + lines: [ + ( speaker: A, text: "Third run shows the same outlier at the seventeen-minute mark. Setup was recalibrated between each run." ), + ( speaker: B, text: "Consistent anomaly across three calibrated runs is a result, not noise." ), + ( speaker: A, text: "Section lead needs to see this before we log it. Changes what the project is looking at." ), + ], + knowledge_payload: Some("A research team has observed a consistent anomaly across multiple controlled runs and is treating it as a genuine finding, escalating before formal logging."), + ), + + ( + id: "ovh_rsc_002", + zone_types: ["research_station"], + role_pair: (a: "technician", b: "researcher"), + register: Work, + relationship_context: Colleague, + topic: "equipment_outage", + lines: [ + ( speaker: A, text: "Primary spectrometer is offline until Thursday. Bearing failure on the carousel drive." ), + ( speaker: B, text: "Thursday means two runs postponed. Sequence has to restart if there's a gap that long." ), + ( speaker: A, text: "Secondary unit is available, but throughput is half. Your call on the sequencing." ), + ], + knowledge_payload: None, + ), + + ( + id: "ovh_rsc_003", + zone_types: ["research_station"], + role_pair: (a: "security", b: "technician"), + register: Gossip, + relationship_context: Acquaintance, + topic: "off_hours_access", + lines: [ + ( speaker: A, text: "Clean room had a badge read at zero-three-hundred this cycle. Not on any scheduled access." ), + ( speaker: B, text: "Zero-three-hundred access should be logged with a reason code. Was there one?" ), + ( speaker: A, text: "Badge was valid, clearance level correct, reason field empty. That's the part I'm looking at." ), + ], + knowledge_payload: Some("The research station clean room was accessed in the early hours without a logged reason. Credentials were valid, suggesting an authorized person went off-book."), + ), + + // ===================================================================== + // PORT SPACE + // ===================================================================== + + ( + id: "ovh_psp_001", + zone_types: ["port_space"], + role_pair: (a: "docking_handler", b: "docking_handler"), + register: Work, + relationship_context: Colleague, + topic: "berth_queue", + lines: [ + ( speaker: A, text: "Berth queue is backed up to fourteen. Inbound traffic ran a full cycle ahead of the cleared departures." ), + ( speaker: B, text: "Fourteen in queue with the east bay still in maintenance is a problem, not a delay." ), + ( speaker: A, text: "Port authority has the numbers. Waiting on the schedule adjustment from their end." ), + ], + knowledge_payload: None, + ), + + ( + id: "ovh_psp_002", + zone_types: ["port_space"], + role_pair: (a: "customs_officer", b: "cargo_broker"), + register: Work, + relationship_context: Acquaintance, + topic: "manifest_hold", + lines: [ + ( speaker: A, text: "Container four-seven-two is held. Manifest weight doesn't match the transit declaration." ), + ( speaker: B, text: "Discrepancy size?" ), + ( speaker: A, text: "Eighty kilos over. Large enough that it isn't a scale error." ), + ], + knowledge_payload: Some("A cargo container has been held due to an 80kg weight discrepancy between the manifest and transit declaration — too large to be instrument error."), + ), + + ( + id: "ovh_psp_003", + zone_types: ["port_space"], + role_pair: (a: "port_security", b: "customs_officer"), + register: Gossip, + relationship_context: Colleague, + topic: "loitering_crew", + lines: [ + ( speaker: A, text: "Crew member off the Vellander Star has been in the transit lounge for six hours. No onward booking." ), + ( speaker: B, text: "Vellander Star was the vessel with the held container?" ), + ( speaker: A, text: "Same vessel. Started watching the inspection lanes about an hour ago." ), + ], + knowledge_payload: Some("A crew member from the vessel connected to a customs hold is lingering in the transit lounge and monitoring inspection activity. Both security and customs have noted the behavior."), + ), + + // ===================================================================== + // PORT MARITIME + // ===================================================================== + + ( + id: "ovh_pmt_001", + zone_types: ["port_maritime"], + role_pair: (a: "dock_crew", b: "dock_crew"), + register: Work, + relationship_context: Colleague, + topic: "weather_window", + lines: [ + ( speaker: A, text: "Weather window closes in two hours. Harbour master extended the morning run by one vessel." ), + ( speaker: B, text: "One extra means working the east crane through the wind pickup. Not ideal." ), + ( speaker: A, text: "Harbour master knows. Sent word down himself rather than leaving it in the log." ), + ], + knowledge_payload: None, + ), + + ( + id: "ovh_pmt_002", + zone_types: ["port_maritime"], + role_pair: (a: "harbour_master", b: "chandler"), + register: Work, + relationship_context: Superior, + topic: "undeclared_vessel", + lines: [ + ( speaker: A, text: "Vessel berthed at pier seven overnight with no advance notice. Not in the harbour log at all." ), + ( speaker: B, text: "Berthed clean? No damage on the dock side?" ), + ( speaker: A, text: "Clean berth, experienced handling. Someone knew this port well. No declaration is still a violation." ), + ], + knowledge_payload: Some("A vessel berthed overnight without advance notice or harbour declaration. The competent handling suggests prior familiarity with the port, making the omission more deliberate."), + ), + + ( + id: "ovh_pmt_003", + zone_types: ["port_maritime"], + role_pair: (a: "dock_crew", b: "maritime_security"), + register: Social, + relationship_context: Acquaintance, + topic: "end_of_season", + lines: [ + ( speaker: A, text: "Last bulk cargo run of the season clears tomorrow. Quay goes quiet after that." ), + ( speaker: B, text: "Quiet means different work, not less. Maintenance backlog covers the slow months." ), + ( speaker: A, text: "Still. Quiet is better than three cranes running and someone always short." ), + ], + knowledge_payload: None, + ), + + // ===================================================================== + // PORT FISHING + // ===================================================================== + + ( + id: "ovh_pfh_001", + zone_types: ["port_fishing"], + role_pair: (a: "fisher", b: "fisher"), + register: Work, + relationship_context: Colleague, + topic: "light_catch", + lines: [ + ( speaker: A, text: "Northern run came back light again. Third time in four trips." ), + ( speaker: B, text: "Northern run light three times means something changed out there. Current shift, or something else." ), + ( speaker: A, text: "Old Pemmar charts a different line now. Hard to argue with the results." ), + ], + knowledge_payload: None, + ), + + ( + id: "ovh_pfh_002", + zone_types: ["port_fishing"], + role_pair: (a: "gear_rigger", b: "fisher"), + register: Work, + relationship_context: Colleague, + topic: "untested_gear", + lines: [ + ( speaker: A, text: "Calloway net should not have gone out this morning. Splice on the port rail line wasn't tested." ), + ( speaker: B, text: "Splice looked solid when we loaded." ), + ( speaker: A, text: "Looking solid and being tested are two different things. Bring it back to me before the next run." ), + ], + knowledge_payload: None, + ), + + ( + id: "ovh_pfh_003", + zone_types: ["port_fishing"], + role_pair: (a: "port_buyer", b: "fisher"), + register: Work, + relationship_context: Superior, + topic: "grade_dispute", + lines: [ + ( speaker: A, text: "Thirty percent of this haul is below grade two. Buyer's scale, not my judgment." ), + ( speaker: B, text: "Conditions were rough. Grade two fish take damage coming over the stern in that weather." ), + ( speaker: A, text: "Weather affects the price. Certified scale sets the grade. Both go in the record." ), + ], + knowledge_payload: None, + ), + + // ===================================================================== + // PORT SURFACE + // ===================================================================== + + ( + id: "ovh_psu_001", + zone_types: ["port_surface"], + role_pair: (a: "ground_handler", b: "ground_handler"), + register: Work, + relationship_context: Colleague, + topic: "weather_hold", + lines: [ + ( speaker: A, text: "Pad three is on weather hold. Wind speed over the limit for the inbound class." ), + ( speaker: B, text: "How long before the hold lifts?" ), + ( speaker: A, text: "Control says two hours, maybe three. Departure queue is going to back up behind this one." ), + ], + knowledge_payload: None, + ), + + ( + id: "ovh_psu_002", + zone_types: ["port_surface"], + role_pair: (a: "customs_agent", b: "freight_dispatcher"), + register: Work, + relationship_context: Acquaintance, + topic: "secondary_review_pattern", + lines: [ + ( speaker: A, text: "Cargo from pad nine is under secondary review again. Won't clear until tomorrow morning." ), + ( speaker: B, text: "Tomorrow morning means the surface connection misses. Third delay this month from pad nine." ), + ( speaker: A, text: "Delays from secondary review aren't random. Something in that pad nine traffic is drawing attention." ), + ], + knowledge_payload: Some("Freight from pad nine is being repeatedly flagged for secondary customs review. A customs agent considers the pattern non-coincidental."), + ), + + ( + id: "ovh_psu_003", + zone_types: ["port_surface"], + role_pair: (a: "terminal_security", b: "customs_agent"), + register: Gossip, + relationship_context: Colleague, + topic: "repeat_traveler", + lines: [ + ( speaker: A, text: "Same transit traveler, third time through in eight days. Different destination declared each time." ), + ( speaker: B, text: "Different declared destination and no onward boarding record on the other side?" ), + ( speaker: A, text: "No record I can find. Arrivals here, yes. Departures from the stated destinations, nothing." ), + ], + knowledge_payload: Some("A traveler has passed through the terminal three times in eight days with a different declared destination each visit, and no verifiable onward travel from any of them."), + ), + + // ===================================================================== + // RURAL ORBITAL + // ===================================================================== + + ( + id: "ovh_ror_001", + zone_types: ["rural_orbital"], + role_pair: (a: "systems_maintainer", b: "habitat_farmer"), + register: Work, + relationship_context: Colleague, + topic: "pressure_variance", + lines: [ + ( speaker: A, text: "Grow section air loop flagged a pressure variance overnight. Not an alert yet, but heading there." ), + ( speaker: B, text: "How much variance?" ), + ( speaker: A, text: "Point-four below baseline. Small, but it's moved the same direction for three cycles." ), + ], + knowledge_payload: Some("The grow section air circulation system shows a slow but consistent pressure drop — below the alert threshold but trending in a concerning direction."), + ), + + ( + id: "ovh_ror_002", + zone_types: ["rural_orbital"], + role_pair: (a: "supply_coordinator", b: "watch_officer"), + register: Work, + relationship_context: Subordinate, + topic: "resupply_gap", + lines: [ + ( speaker: A, text: "Resupply window was delayed by eight days. Current consumables run to day forty. Gap is twenty-two days." ), + ( speaker: B, text: "Twenty-two day gap means rationing or a contingency request to the transit authority." ), + ( speaker: A, text: "Contingency request is already filed. Waiting on a confirmation window." ), + ], + knowledge_payload: Some("A resupply delay has opened a potential 22-day supply gap on a rural orbital habitat. A contingency request has been submitted but not yet confirmed."), + ), + + ( + id: "ovh_ror_003", + zone_types: ["rural_orbital"], + role_pair: (a: "habitat_farmer", b: "systems_maintainer"), + register: Social, + relationship_context: Friend, + topic: "long_rotation", + lines: [ + ( speaker: A, text: "Seven months since the last rotation. Sometimes I have to think hard about what the surface smells like." ), + ( speaker: B, text: "Station smell gets into everything after a while. You stop noticing, which is the problem." ), + ( speaker: A, text: "Next rotation I'm going to stand outside in actual weather. Just stand there." ), + ], + knowledge_payload: None, + ), + + // ===================================================================== + // RURAL AQUACULTURE + // ===================================================================== + + ( + id: "ovh_raq_001", + zone_types: ["rural_aquaculture"], + role_pair: (a: "aquaculturist", b: "system_tech"), + register: Work, + relationship_context: Colleague, + topic: "tank_chemistry", + lines: [ + ( speaker: A, text: "Tank seven pH dropped point-three since yesterday. Feed rate hasn't changed." ), + ( speaker: B, text: "pH drop without a feed change points to the buffer system. Aerator or a slow line leak." ), + ( speaker: A, text: "Pulled the morning logs. Dissolved oxygen was normal, so the aerator's probably not the cause." ), + ], + knowledge_payload: None, + ), + + ( + id: "ovh_raq_002", + zone_types: ["rural_aquaculture"], + role_pair: (a: "inspector", b: "aquaculturist"), + register: Work, + relationship_context: Superior, + topic: "records_gap", + lines: [ + ( speaker: A, text: "Tank three batch records show a gap from the fourteenth to the sixteenth. Two days unlogged." ), + ( speaker: B, text: "Water sensor went offline. Logged the fault but forgot to carry the manual readings across." ), + ( speaker: A, text: "Fault log covers the sensor outage, not the records gap. Records need completing before I sign off." ), + ], + knowledge_payload: None, + ), + + ( + id: "ovh_raq_003", + zone_types: ["rural_aquaculture"], + role_pair: (a: "aquaculturist", b: "aquaculturist"), + register: Social, + relationship_context: Friend, + topic: "unexplained_stock_loss", + lines: [ + ( speaker: A, text: "North pen is down eighteen percent from last week's count. Water tests are clean." ), + ( speaker: B, text: "Clean water and an eighteen percent drop means the net, or something that got past the net." ), + ( speaker: A, text: "Net was checked two days ago. Whatever it is, we didn't see it coming." ), + ], + knowledge_payload: Some("An aquaculture pen has lost 18% of its stock with no apparent water quality explanation. The net was recently inspected and the cause remains unknown."), + ), + + // ===================================================================== + // RURAL PASTORAL + // ===================================================================== + + ( + id: "ovh_rps_001", + zone_types: ["rural_pastoral"], + role_pair: (a: "herder", b: "herder"), + register: Work, + relationship_context: Colleague, + topic: "missing_animals", + lines: [ + ( speaker: A, text: "Count came back short by two from the north paddock. Same section three nights running." ), + ( speaker: B, text: "Same section three nights means the fence, or something that knows the fence." ), + ( speaker: A, text: "Warden is checking the outer wire tonight. Taking the inside section myself." ), + ], + knowledge_payload: Some("Two animals have gone missing from the same paddock section on three consecutive nights, suggesting either a fence breach or a predator familiar with the layout."), + ), + + ( + id: "ovh_rps_002", + zone_types: ["rural_pastoral"], + role_pair: (a: "veterinarian", b: "herder"), + register: Work, + relationship_context: Superior, + topic: "disease_cluster", + lines: [ + ( speaker: A, text: "Third animal this week with the same respiratory presentation. None of them have been in contact with each other." ), + ( speaker: B, text: "Not in contact means it's not passing animal to animal." ), + ( speaker: A, text: "Could be environmental. Quarantining all three and filing a district referral today." ), + ], + knowledge_payload: Some("Three animals have developed identical symptoms without direct contact, suggesting an environmental rather than contagious cause. A district referral has been filed."), + ), + + ( + id: "ovh_rps_003", + zone_types: ["rural_pastoral"], + role_pair: (a: "warden", b: "trader"), + register: Gossip, + relationship_context: Acquaintance, + topic: "perimeter_vehicle", + lines: [ + ( speaker: A, text: "Unmarked transport was parked at the southeast gate access track two nights this week." ), + ( speaker: B, text: "Southeast gate is on the boundary road. Could be transiting, stopped for a rest." ), + ( speaker: A, text: "Two nights, no lights, no movement. Not transiting — waiting." ), + ], + knowledge_payload: Some("An unmarked vehicle has been stationary near a pastoral perimeter gate for two nights without lights or movement. The warden considers the pattern deliberate."), + ), + + // ===================================================================== + // ADMINISTRATIVE CIVIL + // ===================================================================== + + ( + id: "ovh_acv_001", + zone_types: ["administrative_civil"], + role_pair: (a: "clerk", b: "clerk"), + register: Work, + relationship_context: Colleague, + topic: "flagged_application", + lines: [ + ( speaker: A, text: "Application forty-seven has a secondary ID that doesn't match the address on the registration." ), + ( speaker: B, text: "Mismatch between ID and registration is a flag, not a rejection. Refer it up." ), + ( speaker: A, text: "Already in the administrator's tray. Noting it in case the applicant comes back to the window." ), + ], + knowledge_payload: None, + ), + + ( + id: "ovh_acv_002", + zone_types: ["administrative_civil"], + role_pair: (a: "administrator", b: "clerk"), + register: Work, + relationship_context: Superior, + topic: "queue_backlog", + lines: [ + ( speaker: A, text: "Queue is running forty minutes behind again. Third morning this week." ), + ( speaker: B, text: "Morning intake has been heavier than forecast. Two clerks pulled to records this morning." ), + ( speaker: A, text: "Records pulls happen before window open, not during. Adjust the schedule from tomorrow." ), + ], + knowledge_payload: None, + ), + + ( + id: "ovh_acv_003", + zone_types: ["administrative_civil"], + role_pair: (a: "inspector", b: "security"), + register: Gossip, + relationship_context: Acquaintance, + topic: "property_queries", + lines: [ + ( speaker: A, text: "Records hall had four separate permit history queries on the same property last cycle." ), + ( speaker: B, text: "Four queries on one property from the same office isn't standard procedure." ), + ( speaker: A, text: "Queries came from different terminals. Different users, same property code." ), + ], + knowledge_payload: Some("A single property has been queried four times through different terminals in one cycle. The pattern is unusual and has been noted by both inspection and security staff."), + ), + + // ===================================================================== + // ADMINISTRATIVE JUDICIAL + // ===================================================================== + + ( + id: "ovh_adj_001", + zone_types: ["administrative_judicial"], + role_pair: (a: "advocate", b: "clerk"), + register: Work, + relationship_context: Acquaintance, + topic: "transcript_discrepancy", + lines: [ + ( speaker: A, text: "Session record from the fourth has two lines out of sequence. Affects the admissibility timeline." ), + ( speaker: B, text: "Clerk error or transcription gap?" ), + ( speaker: A, text: "Transcription gap. Timestamp on exhibit three was entered after the exhibit was referenced, not before." ), + ], + knowledge_payload: Some("A session transcript contains a timing discrepancy that could affect evidence admissibility. An advocate has flagged it to the court clerk."), + ), + + ( + id: "ovh_adj_002", + zone_types: ["administrative_judicial"], + role_pair: (a: "clerk", b: "clerk"), + register: Work, + relationship_context: Colleague, + topic: "scheduling_conflict", + lines: [ + ( speaker: A, text: "Chamber two has two hearings marked against the same afternoon window. Both listed as firm." ), + ( speaker: B, text: "Both firm means one of the advocates hasn't been told yet." ), + ( speaker: A, text: "Flagging it to the adjudicator's office before the morning list goes up." ), + ], + knowledge_payload: None, + ), + + ( + id: "ovh_adj_003", + zone_types: ["administrative_judicial"], + role_pair: (a: "bailiff", b: "advocate"), + register: Social, + relationship_context: Acquaintance, + topic: "unexpected_ruling", + lines: [ + ( speaker: A, text: "Ruling came out different from what the corridor was expecting." ), + ( speaker: B, text: "Corridor consensus isn't the record. Adjudicator reads the record." ), + ( speaker: A, text: "True. Still surprised a few people who should have read it more carefully." ), + ], + knowledge_payload: None, + ), + + // ===================================================================== + // SECURITY CHECKPOINT + // ===================================================================== + + ( + id: "ovh_sch_001", + zone_types: ["security_checkpoint"], + role_pair: (a: "supervisor", b: "officer"), + register: Work, + relationship_context: Superior, + topic: "unofficial_bypass", + lines: [ + ( speaker: A, text: "Harlan party comes through at seventeen hundred. Wave them without a full scan." ), + ( speaker: B, text: "Standing exception or one-time?" ), + ( speaker: A, text: "Standing. No logging." ), + ( speaker: B, text: "Log requires a reason code. What goes in the field?" ), + ( speaker: A, text: "Transit facilitation. Standard language. Don't make it complicated." ), + ], + knowledge_payload: Some("Certain parties receive undocumented checkpoint bypasses on verbal instruction from a supervisor. The officer is attempting to create a paper trail, which the supervisor is suppressing."), + ), + + ( + id: "ovh_sch_002", + zone_types: ["security_checkpoint"], + role_pair: (a: "inspector", b: "inspector"), + register: Work, + relationship_context: Colleague, + topic: "cargo_cleared_without_signoff", + lines: [ + ( speaker: A, text: "Bay three cargo from last night. Flagged for density, then cleared. No inspector sign-off in the log." ), + ( speaker: B, text: "Cleared by whom?" ), + ( speaker: A, text: "System override. Supervisor code." ), + ( speaker: B, text: "Supervisor code on a density flag should go upstairs. Did it?" ), + ( speaker: A, text: "Log says cleared. That's all the log says." ), + ], + knowledge_payload: Some("Flagged cargo was cleared via supervisor override without following escalation protocol or leaving an inspector signature. The documentation gap appears deliberate."), + ), + + ( + id: "ovh_sch_003", + zone_types: ["security_checkpoint"], + role_pair: (a: "technician", b: "officer"), + register: Social, + relationship_context: Acquaintance, + topic: "persistent_camera_gap", + lines: [ + ( speaker: A, text: "C-wing scanner is back from calibration. Coverage is fine." ), + ( speaker: B, text: "Gap between C-wing and the freight bay access is still there." ), + ( speaker: A, text: "That gap has been there since the refurbishment. No work order ever came through to close it." ), + ( speaker: B, text: "Three years. Someone would have noticed." ), + ( speaker: A, text: "Someone did notice. Still no work order." ), + ], + knowledge_payload: Some("A persistent camera blind spot between two sensitive checkpoint areas has never had a repair order filed, suggesting deliberate preservation of the coverage gap."), + ), + + // ===================================================================== + // MILITARY GARRISON + // ===================================================================== + + ( + id: "ovh_mga_001", + zone_types: ["military_garrison"], + role_pair: (a: "nco", b: "soldier"), + register: Work, + relationship_context: Superior, + topic: "incident_reclassification", + lines: [ + ( speaker: A, text: "Official log lists that as equipment malfunction. Not a personnel incident." ), + ( speaker: B, text: "Both of us were there." ), + ( speaker: A, text: "And the log says equipment malfunction. Both of us were present for an equipment malfunction." ), + ( speaker: B, text: "Understood." ), + ], + knowledge_payload: Some("An incident witnessed as a personnel event has been officially reclassified as equipment malfunction. The NCO is delivering an implicit instruction to conform to the official account."), + ), + + ( + id: "ovh_mga_002", + zone_types: ["military_garrison"], + role_pair: (a: "soldier", b: "soldier"), + register: Social, + relationship_context: Friend, + topic: "civilian_contact_cutoff", + lines: [ + ( speaker: A, text: "Deployment orders came in. East perimeter extension. Two rotations, no civilian contact window." ), + ( speaker: B, text: "No contact window means no communication with the settlement." ), + ( speaker: A, text: "That's what it says." ), + ( speaker: B, text: "Settlements use that window for resupply complaints. Who handles those now?" ), + ( speaker: A, text: "Someone else, apparently." ), + ], + knowledge_payload: Some("New deployment orders cut soldier contact with nearby civilian settlements, eliminating a communication channel those settlements depend on. Neither soldier knows who replaces that function."), + ), + + ( + id: "ovh_mga_003", + zone_types: ["military_garrison"], + role_pair: (a: "officer", b: "nco"), + register: Gossip, + relationship_context: Colleague, + topic: "supply_diversion", + lines: [ + ( speaker: A, text: "Second quartermaster requisition this month went to the Vensek depot. Not here." ), + ( speaker: B, text: "Vensek is under a different command bracket." ), + ( speaker: A, text: "Same requisition codes. Different delivery address. Filed from this building." ), + ( speaker: B, text: "Someone in this building has access to the requisition system and an address they prefer." ), + ], + knowledge_payload: Some("Garrison supplies are being requisitioned using legitimate codes but delivered to an unrelated depot. The requisitions originate within the garrison, suggesting internal diversion by someone with system access."), + ), + + // ===================================================================== + // DETENTION FACILITY + // ===================================================================== + + ( + id: "ovh_det_001", + zone_types: ["detention_facility"], + role_pair: (a: "guard", b: "guard"), + register: Work, + relationship_context: Colleague, + topic: "undocumented_night_transfer", + lines: [ + ( speaker: A, text: "Cell twelve is empty. Transfer order came in at zero two hundred." ), + ( speaker: B, text: "Middle-of-night transfer with no briefing note." ), + ( speaker: A, text: "Order was signed. Chain-of-custody form completed." ), + ( speaker: B, text: "Signed by whom?" ), + ( speaker: A, text: "Administrator code. She wasn't on shift." ), + ], + knowledge_payload: Some("A prisoner was transferred at 0200 using an administrator's credentials while that administrator was not on shift. No briefing note was left for incoming staff."), + ), + + ( + id: "ovh_det_002", + zone_types: ["detention_facility"], + role_pair: (a: "medic", b: "administrator"), + register: Work, + relationship_context: Colleague, + topic: "altered_intake_records", + lines: [ + ( speaker: A, text: "Three intake examinations this month. Injury dates on the filed forms don't match my examination log." ), + ( speaker: B, text: "Intake forms go through processing before filing." ), + ( speaker: A, text: "Processing shouldn't change a date." ), + ( speaker: B, text: "Flag it formally. I'll forward it up." ), + ( speaker: A, text: "Formal flag went in two weeks ago. Nothing came back." ), + ], + knowledge_payload: Some("Medical intake records are being altered between the medic's examination log and the final filed forms. A prior formal complaint about this pattern was submitted and not acted upon."), + ), + + ( + id: "ovh_det_003", + zone_types: ["detention_facility"], + role_pair: (a: "prisoner", b: "prisoner"), + register: Social, + relationship_context: Friend, + topic: "delayed_release", + lines: [ + ( speaker: A, text: "Henwick's case cleared last cycle. Advocate confirmed the date." ), + ( speaker: B, text: "Henwick is still in block C." ), + ( speaker: A, text: "Release order didn't come through. No reason in the file." ), + ( speaker: B, text: "Advocate comes Tuesday. That's what they say every week." ), + ], + knowledge_payload: Some("A prisoner whose release was confirmed by their legal advocate has not been released. No official reason has been filed. Other inmates recognize the pattern of recurring unmet release expectations."), + ), + + // ===================================================================== + // DIPLOMATIC ELITE + // ===================================================================== + + ( + id: "ovh_dip_001", + zone_types: ["diplomatic_elite"], + role_pair: (a: "aide", b: "aide"), + register: Social, + relationship_context: Colleague, + topic: "treaty_text_discrepancy", + lines: [ + ( speaker: A, text: "Annex three in the circulated draft is not the annex three from the working session." ), + ( speaker: B, text: "Third paragraph. Resource allocation floor. Changed from binding to advisory." ), + ( speaker: A, text: "Subtle enough to survive without someone checking the working draft." ), + ( speaker: B, text: "Someone is counting on that." ), + ], + knowledge_payload: Some("A treaty annex has been altered between the working session and the circulated draft, changing a binding resource commitment to advisory language. Both aides recognize the change as deliberate."), + ), + + ( + id: "ovh_dip_002", + zone_types: ["diplomatic_elite"], + role_pair: (a: "diplomat", b: "aide"), + register: Work, + relationship_context: Superior, + topic: "unscheduled_bilateral", + lines: [ + ( speaker: A, text: "Ambassador Kell met with the Sova trade attach separately. No record in the session diary." ), + ( speaker: B, text: "Requesting a courtesy note from the attach's side would confirm the contact." ), + ( speaker: A, text: "Do that. Quietly. No note from their side is its own answer." ), + ( speaker: B, text: "And if the question surfaces in today's session?" ), + ( speaker: A, text: "Let it surface. Watch how they respond with an audience in the room." ), + ], + knowledge_payload: Some("A senior diplomat held an unscheduled bilateral meeting kept off the official diary. Another delegation is attempting to surface the contact through procedural means during the formal session."), + ), + + ( + id: "ovh_dip_003", + zone_types: ["diplomatic_elite"], + role_pair: (a: "security_detail", b: "security_detail"), + register: Work, + relationship_context: Colleague, + topic: "principal_unescorted_contact", + lines: [ + ( speaker: A, text: "Principal left the building last night at one forty-five. Unescorted." ), + ( speaker: B, text: "Not in either of our logs." ), + ( speaker: A, text: "Twenty-minute absence. Contact outside the schedule." ), + ( speaker: B, text: "File it or hold it?" ), + ( speaker: A, text: "File it. A gap in our log is worse than what's in it." ), + ], + knowledge_payload: Some("A diplomat left the building alone at night for an undocumented contact, bypassing their security detail. Security personnel are debating whether to formally record the incident."), + ), + + // ===================================================================== + // INDUSTRIAL MANUFACTURING + // ===================================================================== + + ( + id: "ovh_mfg_001", + zone_types: ["industrial_manufacturing"], + role_pair: (a: "assembler", b: "assembler"), + register: Work, + relationship_context: Colleague, + topic: "quota_and_reject_rate", + lines: [ + ( speaker: A, text: "Quota went up twelve percent this cycle. Shift stayed the same length." ), + ( speaker: B, text: "Twelve percent more units means more rejects. Less time to do it right." ), + ( speaker: A, text: "Reject rate went up. Nobody flagged it." ), + ( speaker: B, text: "Flagging means writing something down. Writing takes time." ), + ], + knowledge_payload: Some("A production quota increase has elevated the reject rate but prompted no official concern. Workers note that the documentation process itself is time-constrained by the same quota pressure."), + ), + + ( + id: "ovh_mfg_002", + zone_types: ["industrial_manufacturing"], + role_pair: (a: "quality_inspector", b: "line_supervisor"), + register: Work, + relationship_context: Colleague, + topic: "disappearing_rejects", + lines: [ + ( speaker: A, text: "Reject tray from bay four was empty this morning. Forty-eight units were in it yesterday." ), + ( speaker: B, text: "Maintenance must have cleared it." ), + ( speaker: A, text: "Maintenance doesn't clear reject trays. That's not their task." ), + ( speaker: B, text: "Someone moved them. I'll look into it." ), + ( speaker: A, text: "Looking into it after they're back on the line is a different kind of looking." ), + ], + knowledge_payload: Some("Rejected units are disappearing from quality control trays overnight, presumably returning to the production line. The line supervisor is deflecting rather than escalating."), + ), + + ( + id: "ovh_mfg_003", + zone_types: ["industrial_manufacturing"], + role_pair: (a: "maintenance_tech", b: "assembler"), + register: Social, + relationship_context: Friend, + topic: "spec_change_discrepancy", + lines: [ + ( speaker: A, text: "Tolerance spec on the junction housing changed last week. Wider band now." ), + ( speaker: B, text: "Wider band means more variation passes inspection." ), + ( speaker: A, text: "More passes means more gets shipped." ), + ( speaker: B, text: "Changed in the system or on paper?" ), + ( speaker: A, text: "System only. Station placard still shows the old number." ), + ], + knowledge_payload: Some("Product tolerance specs have been widened in the system without updating physical documentation at workstations. Workers know this results in units shipping that would previously have been rejected."), + ), + + // ===================================================================== + // INDUSTRIAL PROCESSING + // ===================================================================== + + ( + id: "ovh_ipr_001", + zone_types: ["industrial_processing"], + role_pair: (a: "safety_officer", b: "process_operator"), + register: Work, + relationship_context: Superior, + topic: "near_miss_reclassified", + lines: [ + ( speaker: A, text: "Last night's pressure spike in line three was logged as within-tolerance variance." ), + ( speaker: B, text: "Called it in myself. Category was changed after I submitted." ), + ( speaker: A, text: "Changed from near-miss to variance. Who signed the change?" ), + ( speaker: B, text: "Shift lead signed it. Change wasn't authorized by me." ), + ( speaker: A, text: "Original call is in my notes. That's a second record now." ), + ], + knowledge_payload: Some("A near-miss event was reclassified as within-tolerance variance by the shift lead after the operator reported it. The safety officer is creating an independent record to preserve the original classification."), + ), + + ( + id: "ovh_ipr_002", + zone_types: ["industrial_processing"], + role_pair: (a: "shift_lead", b: "plant_technician"), + register: Work, + relationship_context: Colleague, + topic: "inspection_cancellation_pattern", + lines: [ + ( speaker: A, text: "External inspection scheduled for the fourteenth. Cancelled the night before." ), + ( speaker: B, text: "Rescheduled or cancelled outright?" ), + ( speaker: A, text: "Cancelled. No new date filed." ), + ( speaker: B, text: "Third cancellation this year." ), + ( speaker: A, text: "Same inspector named on each request. Someone keeps putting her name on it and pulling it." ), + ], + knowledge_payload: Some("Multiple external safety inspections have been cancelled before arrival. The same inspector is named on each cancelled request, suggesting deliberate targeting to prevent a specific inspector from accessing the facility."), + ), + + ( + id: "ovh_ipr_003", + zone_types: ["industrial_processing"], + role_pair: (a: "process_operator", b: "process_operator"), + register: Social, + relationship_context: Friend, + topic: "feedstock_substitution", + lines: [ + ( speaker: A, text: "Incoming feedstock this batch smells different. Not bad. Just different." ), + ( speaker: B, text: "Different supplier?" ), + ( speaker: A, text: "Manifest says same supplier, same grade certification." ), + ( speaker: B, text: "Grade certification is a piece of paper. The smell is what the material actually is." ), + ( speaker: A, text: "Logged it. Supervisor said write it as batch variation, within spec." ), + ], + knowledge_payload: Some("Processing workers have detected a feedstock change inconsistent with official supply documentation. A direct sensory observation was suppressed through official re-categorization."), + ), + + // ===================================================================== + // EXTRACTION SURFACE + // ===================================================================== + + ( + id: "ovh_exs_001", + zone_types: ["extraction_surface"], + role_pair: (a: "surface_miner", b: "surface_miner"), + register: Social, + relationship_context: Friend, + topic: "active_work_in_closed_section", + lines: [ + ( speaker: A, text: "Section F has been closed since month two. Surveyor said exhausted." ), + ( speaker: B, text: "Walked past it yesterday. Face looks fresh. Someone's been working it." ), + ( speaker: A, text: "Fresh face in a closed section means a different crew." ), + ( speaker: B, text: "No second crew on the roster." ), + ( speaker: A, text: "None on our roster." ), + ], + knowledge_payload: Some("A mine section officially classified as exhausted shows signs of recent active excavation. No second crew appears on accessible staffing records, suggesting an undisclosed operation."), + ), + + ( + id: "ovh_exs_002", + zone_types: ["extraction_surface"], + role_pair: (a: "site_surveyor", b: "camp_supervisor"), + register: Work, + relationship_context: Colleague, + topic: "grade_data_interception", + lines: [ + ( speaker: A, text: "Grade data from sections B and D shows the seam running significantly higher than the company estimate." ), + ( speaker: B, text: "Send the raw data to me before it goes to the company rep." ), + ( speaker: A, text: "That's a change from standard procedure." ), + ( speaker: B, text: "Send it to me first." ), + ], + knowledge_payload: Some("Site mineral grade is significantly higher than the company estimate. The supervisor is intercepting survey data before it reaches company representatives, deviating from standard reporting procedure."), + ), + + ( + id: "ovh_exs_003", + zone_types: ["extraction_surface"], + role_pair: (a: "equipment_operator", b: "surface_miner"), + register: Gossip, + relationship_context: Acquaintance, + topic: "question_then_transfer", + lines: [ + ( speaker: A, text: "Darra asked about section F in last week's debrief. Transferred two days later." ), + ( speaker: B, text: "Transfer or just gone?" ), + ( speaker: A, text: "Transfer. Different site, different district." ), + ( speaker: B, text: "Quick, for a miner halfway through a rotation." ), + ( speaker: A, text: "Quick and quiet. No goodbye shift." ), + ], + knowledge_payload: Some("A worker who publicly questioned an operational discrepancy was transferred to a different site within 48 hours. The speed and secrecy of the transfer are noted as unusual by remaining workers."), + ), + + // ===================================================================== + // EXTRACTION SPACE + // ===================================================================== + + ( + id: "ovh_esp_001", + zone_types: ["extraction_space"], + role_pair: (a: "miner", b: "miner"), + register: Social, + relationship_context: Friend, + topic: "rotation_extension", + lines: [ + ( speaker: A, text: "Third rotation extension this contract. Forty days instead of thirty." ), + ( speaker: B, text: "Extension pays the same daily rate." ), + ( speaker: A, text: "Same rate, ten extra days, no option to refuse." ), + ( speaker: B, text: "Operational necessity clause covers it. It's in the contract somewhere." ), + ( speaker: A, text: "Somewhere. Nobody finds it until after they need it." ), + ], + knowledge_payload: Some("Crew rotations are being extended unilaterally under a contract clause for operational necessity. Workers have identified the mechanism but have no practical recourse."), + ), + + ( + id: "ovh_esp_002", + zone_types: ["extraction_space"], + role_pair: (a: "drill_operator", b: "ore_processor"), + register: Work, + relationship_context: Colleague, + topic: "grade_reporting_discrepancy", + lines: [ + ( speaker: A, text: "Batch seven reported to the buyer at 4.2 percent grade." ), + ( speaker: B, text: "Batch seven processed at 6.1 percent. That's what I logged." ), + ( speaker: A, text: "Company transmits to the buyer. Internal logs stay internal." ), + ( speaker: B, text: "Different numbers in two different places." ), + ( speaker: A, text: "One of them goes to someone who pays based on the number." ), + ], + knowledge_payload: Some("The station is reporting lower ore grades to the buyer than actual processed grades. Workers have internal logs showing the discrepancy but no control over what is transmitted externally."), + ), + + ( + id: "ovh_esp_003", + zone_types: ["extraction_space"], + role_pair: (a: "miner", b: "station_chief"), + register: Work, + relationship_context: Subordinate, + topic: "restricted_sector", + lines: [ + ( speaker: A, text: "Bore pattern shows a significant seam running through sector seven. Worth extending the drill window." ), + ( speaker: B, text: "Sector seven is restricted." ), + ( speaker: A, text: "Restricted under what operational category?" ), + ( speaker: B, text: "Above the drilling schedule. Work the assigned sectors." ), + ( speaker: A, text: "Logged the data. Just flagging it." ), + ], + knowledge_payload: Some("A valuable mineral seam extends into a restricted sector. The station chief refuses to explain the restriction's basis. The miner formally logs the discovery, creating a record that the seam was identified."), + ), + + // ===================================================================== + // EXTRACTION PLATFORM + // ===================================================================== + + ( + id: "ovh_epl_001", + zone_types: ["extraction_platform"], + role_pair: (a: "rig_hand", b: "rig_hand"), + register: Work, + relationship_context: Colleague, + topic: "pressure_event_not_logged", + lines: [ + ( speaker: A, text: "Pressure in well three hit the upper caution threshold for eighteen minutes yesterday." ), + ( speaker: B, text: "Incident report?" ), + ( speaker: A, text: "Daily log shows pressure within range. Eighteen minutes isn't in there." ), + ( speaker: B, text: "Driller called it out loud. That's a verbal record." ), + ( speaker: A, text: "Verbal isn't filed." ), + ], + knowledge_payload: Some("A well pressure event that reached a caution threshold was not recorded in the daily log despite verbal acknowledgment by the driller. No written record of the event exists."), + ), + + ( + id: "ovh_epl_002", + zone_types: ["extraction_platform"], + role_pair: (a: "platform_tech", b: "medic"), + register: Work, + relationship_context: Colleague, + topic: "injury_classification_downgrade", + lines: [ + ( speaker: A, text: "Rig hand Kovacs had a serious hand injury Tuesday. Saw it at the equipment bay." ), + ( speaker: B, text: "Intake record says minor contusion, right hand." ), + ( speaker: A, text: "Kovacs could barely close his fingers. That's not minor." ), + ( speaker: B, text: "Intake note said minor. Filed version says minor." ), + ( speaker: A, text: "Severity classification affects the platform incident rate." ), + ], + knowledge_payload: Some("An injury was classified as minor despite witness evidence and the medic's own assessment indicating greater severity. The downgraded classification improves the platform's safety incident rate metrics."), + ), + + ( + id: "ovh_epl_003", + zone_types: ["extraction_platform"], + role_pair: (a: "rig_hand", b: "platform_manager"), + register: Social, + relationship_context: Acquaintance, + topic: "ownership_change", + lines: [ + ( speaker: A, text: "Platform's parent company changed hands. Heard it from the supply tender crew." ), + ( speaker: B, text: "Operational contract runs through Kessler-Dunn. Same as before." ), + ( speaker: A, text: "Kessler-Dunn was the acquisition." ), + ( speaker: B, text: "Acquired companies keep their contracts. Nothing changes operationally." ), + ( speaker: A, text: "Nothing changes operationally." ), + ], + knowledge_payload: Some("The platform's parent company has changed hands. The manager's response is deliberately reassuring but non-committal. The rig hand's flat repetition of the reassurance signals disbelief."), + ), + + // ===================================================================== + // WILDERNESS FRONTIER + // ===================================================================== + + ( + id: "ovh_wfr_001", + zone_types: ["wilderness_frontier"], + role_pair: (a: "ranger", b: "prospector"), + register: Work, + relationship_context: Acquaintance, + topic: "unauthorized_survey_work", + lines: [ + ( speaker: A, text: "Northwest sector had active survey work last week. No licensed party on my patrol list." ), + ( speaker: B, text: "Northwest is in the claim buffer zone." ), + ( speaker: A, text: "Buffer zones have access restrictions." ), + ( speaker: B, text: "Someone with access, or someone who didn't know about the restrictions." ), + ( speaker: A, text: "Equipment I saw was professional grade. Not someone who didn't know." ), + ], + knowledge_payload: Some("Unauthorized professional survey work is occurring in a claim buffer zone. Equipment quality rules out accidental trespass. The identity of the party is unknown."), + ), + + ( + id: "ovh_wfr_002", + zone_types: ["wilderness_frontier"], + role_pair: (a: "ranger", b: "ranger"), + register: Gossip, + relationship_context: Colleague, + topic: "boundary_marker_moved", + lines: [ + ( speaker: A, text: "Western boundary marker was moved again. Three meters closer to the fence line." ), + ( speaker: B, text: "Moved or corrected?" ), + ( speaker: A, text: "Moved. Original survey pins are still in the ground. Checked." ), + ( speaker: B, text: "Original pins inside the fence, new markers outside. That's not a correction." ), + ( speaker: A, text: "That's an expansion of what's on the protected side." ), + ], + knowledge_payload: Some("Boundary markers near a restricted zone have been moved to increase the area on the protected side of the fence. Original survey pins prove the change was unauthorized rather than a legitimate correction."), + ), + + ( + id: "ovh_wfr_003", + zone_types: ["wilderness_frontier"], + role_pair: (a: "guide", b: "medic"), + register: Social, + relationship_context: Friend, + topic: "unexplained_operator", + lines: [ + ( speaker: A, text: "Client in sector four claimed to be mapping personal claim data. No claim registration in the registry." ), + ( speaker: B, text: "Mapping a place without registering a claim." ), + ( speaker: A, text: "Or documenting something other than ore." ), + ( speaker: B, text: "People come out here for different reasons." ), + ( speaker: A, text: "Most people who want to disappear pick somewhere with fewer patrols." ), + ], + knowledge_payload: Some("An individual in a wilderness sector provided a cover explanation that does not match verifiable records. Both speakers speculate the person may be involved in surveillance or documentation of something sensitive."), + ), + + // ===================================================================== + // ARCHAEOLOGICAL SITE + // ===================================================================== + + ( + id: "ovh_arc_001", + zone_types: ["archaeological_site"], + role_pair: (a: "archaeologist", b: "field_technician"), + register: Work, + relationship_context: Colleague, + topic: "catalog_discrepancy", + lines: [ + ( speaker: A, text: "Grid seven finds went into the central catalog this morning. Six items. Logged nine in the trench." ), + ( speaker: B, text: "Three items between the trench and the catalog." ), + ( speaker: A, text: "That's where they'd be, yes." ), + ( speaker: B, text: "Do we report the discrepancy or check the catalog first?" ), + ( speaker: A, text: "Check the catalog. Then report the discrepancy." ), + ], + knowledge_payload: Some("Artifacts are being lost between field logging and the central catalog. Three items are missing from a single grid section. The archaeologist's measured response suggests this may not be the first occurrence."), + ), + + ( + id: "ovh_arc_002", + zone_types: ["archaeological_site"], + role_pair: (a: "site_security", b: "logistics_coordinator"), + register: Gossip, + relationship_context: Colleague, + topic: "external_access_inquiries", + lines: [ + ( speaker: A, text: "Second group this month requesting access to the eastern trench section. Neither one from the institution." ), + ( speaker: B, text: "External researchers sometimes contact us directly." ), + ( speaker: A, text: "No academic affiliation listed. One vehicle had a portable assay kit." ), + ( speaker: B, text: "Assay kit is mining equipment." ), + ( speaker: A, text: "Someone wants to know what's down there and it isn't for the published record." ), + ], + knowledge_payload: Some("Unknown parties with mining equipment have been making unauthorized access inquiries to the site. Non-academic interest suggests valuable or unusual material may be present."), + ), + + ( + id: "ovh_arc_003", + zone_types: ["archaeological_site"], + role_pair: (a: "archaeologist", b: "site_security"), + register: Social, + relationship_context: Acquaintance, + topic: "significant_find_window", + lines: [ + ( speaker: A, text: "Gatebuilder structure in section C is fully intact. First recovered one at this depth." ), + ( speaker: B, text: "First one means the site's value just changed significantly." ), + ( speaker: A, text: "Publication will bring attention." ), + ( speaker: B, text: "Publication or the period before publication." ), + ( speaker: A, text: "The period before publication is the dangerous part. Yes." ), + ], + knowledge_payload: Some("A significant archaeological discovery has substantially increased the site's value. Both speakers recognize that the period before official publication — when the discovery is known but not public — is the window of highest risk."), + ), + ], )