Files
settled-reach/server/content/global/culture-van-maanens-star.ron
T
jpmschweitzerandClaude Opus 4.6 b2ef56440f refactor(simulation): move content/ under server/ (#669)
Content files (RON templates, YAML campaigns, gauntlet data) are consumed
exclusively by the server. Colocate them at server/content/ and update all
path references in Rust source, tooling scripts, and schema files.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 10:31:20 +01:00

171 lines
9.2 KiB
Plaintext

// Van Maanen's Star Culture Profile
//
// Schema: server/src/npc/blueprint.rs :: CultureProfile
// Ticket: #610 (copy team)
// Validate: tooling/validate-ron content/global/culture-van-maanens-star.ron culture
//
// Sources: D-036 (Sova Transit District / Van Maanen's Star setting, amended post-workshop),
// D-121 (voice is culture-driven, job as modifier),
// D-128 (culture implicit in starting location).
//
// Van Maanen's Star: ~180 years settled. Mid-Reach G3V system. Working-class pragmatic.
// Community-oriented, suspicious of distant authority. Competence earns respect.
// Showing up and doing the work matters more than rank or credentials.
// First-name-primary in social contexts — family names are institutional.
(
id: "van-maanens-star",
name: "Van Maanen's Star Culture",
description: "Working-class pragmatic culture. ~180 years settled, mid-Reach G3V system. Community-oriented, suspicious of distant authority, values competence and reliability over credentials. Atmosphere: quotidian-with-undertow — comfortable enough to be complacent, tight enough that extra income is tempting.",
naming: (
style: "compact, consonant-heavy, first-name-primary in social contexts",
// Pool the generator draws from. More names = more variety across runs.
// Source: D-036 canonical examples + extended set following same phoneme rules.
// Rule: compact (1-2 syllables), consonant clusters welcome, hard endings preferred.
given_names: [
// D-036 canonical set
"Kael", "Voss", "Lera", "Torek", "Drin",
"Maret", "Naia", "Sera", "Nils", "Pael",
"Tev", "Ren", "Sess", "Renn", "Olin",
"Tav", "Resha", "Harek", "Sabel", "Pell",
// Extended — same phoneme pattern
"Dav", "Tork", "Ness", "Pren", "Vel",
"Orin", "Mael", "Torra", "Sorek", "Sev",
"Bren", "Linn", "Vrek", "Darek", "Pess",
"Nell", "Kren", "Sorel", "Tavek", "Rask",
],
family_names: [
// D-036 canonical + extended
"Davan", "Sessik", "Korr", "Tamm", "Venn",
"Lintar", "Darvo", "Kosse",
// Extended
"Pellan", "Sorren", "Tessik", "Morek", "Brav",
"Ossel", "Rennick", "Harven", "Tollek", "Dass",
],
// Van Maanen's Star culture is first-name-primary.
// Family names exist but belong to institutional contexts: contracts, registrations, arrest records.
family_name_used_socially: false,
),
speech: (
// Direct. Minimal pleasantries. Gets to the point — not because they're rude,
// but because time is real and everyone's short of it.
register: "direct, minimal pleasantries, gets to the point",
filler_words: [
"look",
"right",
"yeah",
"so",
"listen",
"well",
],
greetings: [
"hey",
"morning",
"shift treating you alright?",
"all good?",
"what's the word?",
"all in one piece?",
],
farewells: [
"shift's calling",
"gotta move",
"catch you later",
"take it easy",
"see you around",
"stay out of trouble",
],
// Van Maanen's Star oaths are void-adjacent — space is real here, and hostile.
// They don't swear by gods or governments. They swear by what kills you.
exclamations: [
"void take it",
"stars",
"blood and void",
"void's sake",
"damn all",
"cold vacuum",
],
),
values: (
description: "Pragmatic, community-oriented, suspicious of authority. Competence earns respect. Showing up and doing the work matters more than rank or credentials. Outsiders are tolerated but watched. Loyalty runs narrow and deep — to your crew, your shift, your street.",
// Traits more common in Van Maanen's Star culture — generator biases toward these.
// Bold: Van Maanen's Star people speak their mind. Honest: community trust is load-bearing.
// Curious: 180 years of problem-solving breeds intellectual appetite.
// Social: community-oriented culture; isolation is a warning sign.
favored_traits: [Bold, Honest, Curious, Social],
// Traits less common — generator biases away from these.
// Reclusive: red flag in a community that depends on showing up.
// Deceptive: betrayal of trust is the worst thing you can do here.
disfavored_traits: [Reclusive, Deceptive],
),
// Voice pipeline: persona block, examples, and occasional injections.
// These feed the composition engine (D-138) — the LLM sees exactly what's here.
// v2 injector validated in Spike 1 (59 prompts, 16.6 t/s CPU).
voice_persona: Some(
"PERSONA: You are a Van Maanen's Star station worker.\n1. Be direct. No pleasantries. Everyone is short on time.\n2. You're working-class and pragmatic. Competence earns respect, not rank.\n3. You're suspicious of distant authority — management that hasn't worked a shift.\n4. You're economical with language. You don't express what the situation doesn't call for.\n5. You use first names. Family names belong on contracts.\n6. Loyalty runs narrow and deep. Your crew, your shift, your street.\n7. You greet briefly: \"hey\", \"morning\", \"shift treating you alright?\"\n8. You're not rude — you're honest. If something's wrong, you say so.\n\nNEVER: corporate or institutional language — you're not management. Never effusive, never polished, never deferential to rank. Never flowery or verbose. Never use family names in casual conversation. Never express deference to authority that hasn't earned it."
),
voice_examples: [
(
input: "declines to answer a question about the overnight run",
output: "Look, that's not mine to say.",
),
(
input: "acknowledges a colleague's greeting while continuing to work",
output: "Hey. Yeah. Catch you at shift end.",
),
(
input: "thanks a colleague for covering a shift",
output: "Appreciated. See you at handoff.",
),
],
occasional_injections: [
// Oath vocabulary — void-adjacent exclamations. Van Maanen's Star swear by what kills you:
// vacuum, void, stars. Rolled at 25% frequency by the composition engine.
// Gated off for suppressive tells to avoid conflicting instructions (Spike 1 finding).
(
kind: "oath",
clause: "When something genuinely surprises or frustrates you, expressions like \"void take it,\" \"stars,\" \"cold vacuum,\" or \"blood and void\" come naturally. Use one in this line.",
example: Some((
input: "discovers a critical part is missing from a shipment",
output: "Void take it. The coupling's not here.",
)),
frequency: 0.25,
suppress_on_tells: [Guarded, RoutineDeviation, Friendly],
),
],
// Behavior modifiers — cultural inflections appended to BehaviorPrimitive actions.
// Categories match modifier_hint strings on primitives (server/src/npc/blueprint.rs).
// If no hint matches, engine falls back to any modifier in this list.
// Van Maanen's Star: terse, efficient, self-contained. No performance of effort or rest.
behavior_modifiers: [
// work_pace — how fast and efficiently they execute physical tasks
(category: "work_pace", clause: "without wasted motion"),
(category: "work_pace", clause: "at the pace the work demands"),
// physical_manner — body language and movement quality during tasks
(category: "physical_manner", clause: "with hands steady on the work"),
(category: "physical_manner", clause: "without ceremony"),
// social_signal — brief acknowledgments made during or between tasks
(category: "social_signal", clause: "with a direct look"),
(category: "social_signal", clause: "without lingering"),
// task_completion — how tasks are finished, wrapped up, or handed off
(category: "task_completion", clause: "letting the work speak for itself"),
(category: "task_completion", clause: "without breaking rhythm"),
// environmental_scan — awareness or vigilance while working
(category: "environmental_scan", clause: "with one eye on the surroundings"),
(category: "environmental_scan", clause: "at a glance, not a pause"),
// offduty_posture — body language and stance when off-shift (Social/OffDuty contexts)
(category: "offduty_posture", clause: "without making a show of it"),
(category: "offduty_posture", clause: "in no rush to be anywhere"),
// authority_response — behavior when supervisors or authority figures are present
// Van Maanen's Star: working-class defiance — authority that hasn't earned it gets no performance
(category: "authority_response", clause: "with no performance for the rank"),
(category: "authority_response", clause: "with no visible adjustment for who's present"),
],
)