content(wiki): purge v0.1 Sova/Van Maanen residue (#865)
Spring-cleaning accumulated v0.1 vertical-slice residue across the wiki. Scope per Jeroen's pre-decisions on 2026-04-21: - Delete outright: wiki/star-systems/GJ-35/sova/ subtree (5 files + 2 dirs) — v0.1 Station Sova / Transit District content. - Strip example blocks in authoring guides and _templates/ that cited dropped v0.1 NPCs (Kael Davan, Sera Venn, Nils Davan, Devra, Torek, Renn, Pell, Tav, Lera Sessik, Sabel). Replaced with short "v0.1 examples removed — D-122" notes pointing authors to the active NPC roster. - Rewrite canonical-lore references file-by-file: faction pages, technology pages, contraband pages, concepts pages, corp pages that cited v0.1 names/places. Preserve institutional/structural content, drop specific-name citations. - Commission name drift: replace "Concord Commission" and "Assembly Commission" with "the Lattice Commission" (D-193) throughout. - Van Maanen's Star cultural references: the canonical in-game name is Vuurkloof. "Van Maanen's Star" is retained only as an astronomical designation (glossary + GJ-35 Calibration Note). All cultural/system references converted to Vuurkloof across culture-authoring-guide, cultural-generation-guide, founder-gates, and star-system adjacent-system descriptions. - Strip `v0.1` from faction/triangle frontmatter tags (8 files). - wiki/triangles/hub-power.md and wiki/factions/the-ring.md: rewritten using role-name exemplars (Ring Coordinator / Shift Supervisor / THE FRIEND) instead of named v0.1 NPCs. Triangle pattern preserved as a structural reference. Also applies drive-by Commission drift fixes and minor cross-ref updates to canonical corps (gate-corporation, mastroianni-vehicle-group, stalownia-kowalski, prometheus-labs, ferreira-monteiro, vins-de-grand-vide, and 13 others). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -38,11 +38,11 @@ The knowledge graph uses these attributes to determine:
|
||||
**Value format**: Full name as known to the observer.
|
||||
|
||||
**Examples**:
|
||||
- `"Kael Davan"` — observer knows full name
|
||||
- `"Kael"` — observer knows first name only
|
||||
- `"{NPC Full Name}"` — observer knows full name
|
||||
- `"{First Name}"` — observer knows first name only
|
||||
- `"the dock worker"` — observer doesn't know name, only role
|
||||
|
||||
**Usage**: Monologue and dialogue rendering. If `name` is absent or generic, monologue says "the dock worker" instead of "Kael."
|
||||
**Usage**: Monologue and dialogue rendering. If `name` is absent or generic, monologue uses role description.
|
||||
|
||||
---
|
||||
|
||||
@@ -66,7 +66,7 @@ The knowledge graph uses these attributes to determine:
|
||||
**Value format**: Institutional or organizational allegiance.
|
||||
|
||||
**Examples**:
|
||||
- `"Commission"` — Sera, Torek, Detective
|
||||
- `"Commission"` — institutional contacts, inspectors, detective
|
||||
- `"civilian"` — most NPCs
|
||||
- `"ring member"` — if discovered
|
||||
- `"unknown"` — not yet determined
|
||||
@@ -77,13 +77,13 @@ The knowledge graph uses these attributes to determine:
|
||||
|
||||
### `species`
|
||||
|
||||
**Value format**: Species identifier (future-proofing — v0.1 is all human).
|
||||
**Value format**: Species identifier.
|
||||
|
||||
**Examples**:
|
||||
- `"human"` (default)
|
||||
- (Future: other species as defined)
|
||||
|
||||
**Usage**: Not load-bearing in v0.1. Placeholder for future non-human NPCs.
|
||||
**Usage**: Future-proofing for non-human NPCs.
|
||||
|
||||
---
|
||||
|
||||
@@ -94,11 +94,11 @@ The knowledge graph uses these attributes to determine:
|
||||
**Value format**: Relationship category from observer's perspective.
|
||||
|
||||
**Examples**:
|
||||
- `"colleague"` — Kael to smuggler
|
||||
- `"friend"` — Sera to detective
|
||||
- `"authority figure"` — Voss to subordinates
|
||||
- `"suspect"` — Kael to detective (post-discovery)
|
||||
- `"partner"` — Naia to Kael
|
||||
- `"colleague"` — ring member to fellow ring member
|
||||
- `"friend"` — institutional contact to detective
|
||||
- `"authority figure"` — shift supervisor to subordinates
|
||||
- `"suspect"` — ring member to detective (post-discovery)
|
||||
- `"partner"` — non-ring partner to ring member
|
||||
- `"stranger"` — new NPCs
|
||||
|
||||
**Usage**: Drives `RelationshipState` calculation (Unknown/Known/Friendly/PersonOfInterest/Hostile). Determines emotional tone of monologue.
|
||||
@@ -142,9 +142,9 @@ The knowledge graph uses these attributes to determine:
|
||||
**Value format**: Comma-separated behavioral observations.
|
||||
|
||||
**Examples**:
|
||||
- `"nervous,lattice_checking"` — Kael during contradiction arc
|
||||
- `"avoidance_pattern,evasive"` — Sera avoiding Torek
|
||||
- `"spending_beyond_means"` — Torek buying rounds
|
||||
- `"nervous,lattice_checking"` — ring member showing stress during contradiction arc
|
||||
- `"avoidance_pattern,evasive"` — contact avoiding a suspect
|
||||
- `"spending_beyond_means"` — inspector buying rounds on a dock worker's income
|
||||
- `"reliable,punctual"` — baseline normal behavior
|
||||
|
||||
**Usage**: Tell system. Multiple flags accumulate as evidence. Detective's analytical lattice auto-flags some behaviors.
|
||||
@@ -158,11 +158,11 @@ The knowledge graph uses these attributes to determine:
|
||||
**Value format**: What the observer believes gives them (or could give them) power over this entity. This covers secrets, debts, promises, obligations, and compromising positions — not just secrets. Any information or relationship that creates asymmetric power over the target qualifies as leverage.
|
||||
|
||||
**Examples**:
|
||||
- `"ring membership"` — detective's suspicion about Kael (secret)
|
||||
- `"unreported evidence"` — smuggler's read on Sera (concealed information)
|
||||
- `"gambling debt"` — if Drin's vulnerability is discovered (financial obligation)
|
||||
- `"exit attempt"` — if Kael's unauthorized contact is discovered (betrayal)
|
||||
- `"owes favor to Voss"` — social obligation
|
||||
- `"ring membership"` — detective's suspicion about a cargo handler (secret)
|
||||
- `"unreported evidence"` — smuggler's read on an institutional contact (concealed information)
|
||||
- `"gambling debt"` — if a peripheral member's vulnerability is discovered (financial obligation)
|
||||
- `"exit attempt"` — if a ring member's unauthorized contact is discovered (betrayal)
|
||||
- `"owes favor to supervisor"` — social obligation
|
||||
- `"witnessed the handoff"` — compromising position
|
||||
|
||||
**Usage**: Drives PersonOfInterest state. Gates confrontation dialogue. Smuggler and detective track different leverage about the same NPCs. The broader scope (beyond secrets) allows content authors to capture debts, promises, and obligations that create power dynamics without requiring additional keys.
|
||||
@@ -189,8 +189,8 @@ The knowledge graph uses these attributes to determine:
|
||||
**Value format**: Specific tell noted by the observer.
|
||||
|
||||
**Examples**:
|
||||
- `"looks left when lying"` — Kael's tell
|
||||
- `"leaves when Torek arrives"` — Sera's avoidance
|
||||
- `"looks left when lying"` — ring member's tell
|
||||
- `"leaves when inspector arrives"` — contact's avoidance
|
||||
- `"checks lattice before answering"` — nervous behavior
|
||||
- `"forced casualness after shift supervisor passes"` — hypervigilance
|
||||
|
||||
@@ -205,9 +205,9 @@ The knowledge graph uses these attributes to determine:
|
||||
**Value format**: Boolean-ish flag (presence of key = true).
|
||||
|
||||
**Examples**:
|
||||
- `"meeting_unknown_contact"` — Kael contradiction
|
||||
- `"avoidance_inconsistency"` — Sera contradiction
|
||||
- `"manifest_access_mismatch"` — Maret handling cargo she shouldn't process
|
||||
- `"meeting_unknown_contact"` — {THE FRIEND} smuggler path contradiction
|
||||
- `"avoidance_inconsistency"` — {THE FRIEND} detective path contradiction
|
||||
- `"manifest_access_mismatch"` — manifest clerk handling cargo they shouldn't process
|
||||
|
||||
**Usage**: THE FRIEND arc trigger. When this attribute is set, monologue tone shifts. Dialogue options change. RelationshipState moves toward PersonOfInterest.
|
||||
|
||||
@@ -226,9 +226,9 @@ These four keys capture the observer's subjective assessment of the target throu
|
||||
**Values**: `none`, `low`, `moderate`, `high`, `critical`.
|
||||
|
||||
**Examples**:
|
||||
- Smuggler's assessment of Pell (wavering member) = `"high"` (unpredictable, could expose the ring)
|
||||
- Detective's assessment of Voss = `"moderate"` (obstructive but not directly dangerous)
|
||||
- Smuggler's assessment of Naia = `"low"` (uninvolved, unlikely to cause exposure)
|
||||
- Smuggler's assessment of a wavering ring member = `"high"` (unpredictable, could expose the ring)
|
||||
- Detective's assessment of the shift supervisor = `"moderate"` (obstructive but not directly dangerous)
|
||||
- Smuggler's assessment of an uninvolved partner = `"low"` (unlikely to cause exposure)
|
||||
|
||||
**Usage**: Gates operational monologue. High-risk targets trigger cautionary internal dialogue. Critical-risk targets may trigger evasion or preemptive action. The nature of "risk" depends on the archetype (see interpretation note).
|
||||
|
||||
@@ -241,9 +241,9 @@ These four keys capture the observer's subjective assessment of the target throu
|
||||
**Values**: `solid`, `dependable`, `uncertain`, `wavering`, `hostile`.
|
||||
|
||||
**Examples**:
|
||||
- Smuggler's assessment of Renn (courier) = `"dependable"` (reliable, follows instructions)
|
||||
- Smuggler's assessment of Kael (mid-game) = `"wavering"` (showing signs of doubt)
|
||||
- Detective's assessment of Sera = `"solid"` (committed to the investigation)
|
||||
- Smuggler's assessment of the courier = `"dependable"` (reliable, follows instructions)
|
||||
- Smuggler's assessment of {THE FRIEND} mid-game = `"wavering"` (showing signs of doubt)
|
||||
- Detective's assessment of their institutional contact = `"solid"` (committed to the investigation)
|
||||
|
||||
**Usage**: Determines how much the observer relies on or confides in the target. Wavering loyalty triggers monitoring behavior. Hostile loyalty triggers defensive or adversarial posture.
|
||||
|
||||
@@ -256,7 +256,7 @@ These four keys capture the observer's subjective assessment of the target throu
|
||||
**Values**: `solid`, `thin`, `cracking`, `blown`, `N/A`.
|
||||
|
||||
**Examples**:
|
||||
- Ring member's assessment of Kael = `"thin"` (behavior changes are visible to anyone watching)
|
||||
- Ring member's assessment of a compromised colleague = `"thin"` (behavior changes are visible to anyone watching)
|
||||
- Smuggler's self-assessment near the detective = `"cracking"` (too many close calls)
|
||||
- Detective's assessment of a civilian witness = `"N/A"` (no cover to assess)
|
||||
|
||||
@@ -271,13 +271,13 @@ These four keys capture the observer's subjective assessment of the target throu
|
||||
**Values**: `innocent`, `peripheral`, `complicit`, `compromised`, `willing`.
|
||||
|
||||
**Examples**:
|
||||
- Detective's assessment of Naia = `"innocent"` (uninvolved partner caught in the fallout)
|
||||
- Smuggler's assessment of Drin = `"compromised"` (dragged in by debt, not by choice)
|
||||
- Smuggler's assessment of Torek = `"willing"` (fully aware, actively participating)
|
||||
- Detective's assessment of an uninvolved partner = `"innocent"` (caught in the fallout)
|
||||
- Smuggler's assessment of a debt-dragged peripheral = `"compromised"` (dragged in by debt, not by choice)
|
||||
- Smuggler's assessment of the compromised inspector = `"willing"` (fully aware, actively participating)
|
||||
|
||||
**Usage**: Shapes the observer's moral arc and internal conflict. Monologue tone shifts when the observer assigns moral weight — guilt, justification, and rationalization are driven by this key. The Comfort-Doubt-Reckoning-Compromise arc references `moral_weight` to determine which phase the observer occupies relative to specific NPCs.
|
||||
|
||||
**Archetype note**: Both smuggler and detective use `moral_weight` with the same enum values but different criteria. The smuggler assesses complicity in the ring's operations ("how dirty are their hands?") — see [Smuggler Moral Arc](../../design/smuggler-moral-arc.md). The detective assesses culpability in the crime ("how responsible are they for the harm?"). Same scale, different lens. A smuggler might mark Drin as `"compromised"` (dragged in, not choosing) while the detective marks Drin as `"complicit"` (he knew and did nothing). The detective's moral arc spec is unwritten in v0.1 but follows the same key.
|
||||
**Archetype note**: Both smuggler and detective use `moral_weight` with the same enum values but different criteria. The smuggler assesses complicity in the ring's operations ("how dirty are their hands?") — see [Smuggler Moral Arc](../../design/smuggler-moral-arc.md). The detective assesses culpability in the crime ("how responsible are they for the harm?"). Same scale, different lens. A smuggler might mark a debt-driven peripheral as `"compromised"` (dragged in, not choosing) while the detective marks the same NPC as `"complicit"` (they knew and did nothing).
|
||||
|
||||
---
|
||||
|
||||
@@ -298,7 +298,7 @@ This pattern scales to all 8 planned archetypes without schema modification. An
|
||||
|
||||
## Examples: Full EntityKnowledge Entries
|
||||
|
||||
### Smuggler's knowledge of Kael (early game, pre-contradiction)
|
||||
### Smuggler's knowledge of {THE FRIEND} (early game, pre-contradiction)
|
||||
|
||||
```rust
|
||||
EntityKnowledge {
|
||||
@@ -310,7 +310,7 @@ EntityKnowledge {
|
||||
state: KnowledgeState::Active,
|
||||
relationship: RelationshipState::Friendly,
|
||||
known_attributes: BTreeMap::from([
|
||||
("name".to_string(), "Kael Davan".to_string()),
|
||||
("name".to_string(), "{NPC Full Name}".to_string()),
|
||||
("role".to_string(), "dock worker".to_string()),
|
||||
("faction".to_string(), "ring member".to_string()), // smuggler knows
|
||||
("species".to_string(), "human".to_string()),
|
||||
@@ -318,7 +318,7 @@ EntityKnowledge {
|
||||
("trust_level".to_string(), "trusted".to_string()),
|
||||
("routine_pattern".to_string(), "morning shift 06:00-14:00, bar after shift".to_string()),
|
||||
("behavior_flags".to_string(), "reliable,punctual".to_string()),
|
||||
("risk_assessment".to_string(), "low".to_string()), // Kael is reliable, no exposure concern
|
||||
("risk_assessment".to_string(), "low".to_string()), // reliable, no exposure concern
|
||||
("loyalty_assessment".to_string(), "solid".to_string()), // loyal to the ring
|
||||
("position_integrity".to_string(), "solid".to_string()), // cover is intact
|
||||
("moral_weight".to_string(), "willing".to_string()), // fully aware, active participant
|
||||
@@ -326,7 +326,7 @@ EntityKnowledge {
|
||||
}
|
||||
```
|
||||
|
||||
### Detective's knowledge of Kael (mid-game, post-contradiction discovery)
|
||||
### Detective's knowledge of a suspect (mid-game, post-contradiction discovery)
|
||||
|
||||
```rust
|
||||
EntityKnowledge {
|
||||
@@ -343,7 +343,7 @@ EntityKnowledge {
|
||||
state: KnowledgeState::Active,
|
||||
relationship: RelationshipState::PersonOfInterest, // flagged
|
||||
known_attributes: BTreeMap::from([
|
||||
("name".to_string(), "Kael Davan".to_string()),
|
||||
("name".to_string(), "{NPC Full Name}".to_string()),
|
||||
("role".to_string(), "dock worker".to_string()),
|
||||
("faction".to_string(), "civilian".to_string()), // detective doesn't know ring membership yet
|
||||
("species".to_string(), "human".to_string()),
|
||||
@@ -357,13 +357,13 @@ EntityKnowledge {
|
||||
("contradiction_flagged".to_string(), "meeting_unknown_contact".to_string()),
|
||||
("risk_assessment".to_string(), "high".to_string()), // obstructing investigation, potential flight risk
|
||||
("loyalty_assessment".to_string(), "hostile".to_string()), // uncooperative, evasive
|
||||
("position_integrity".to_string(), "cracking".to_string()), // his story is falling apart
|
||||
("position_integrity".to_string(), "cracking".to_string()), // their story is falling apart
|
||||
("moral_weight".to_string(), "complicit".to_string()), // involved, degree of responsibility unclear
|
||||
]),
|
||||
}
|
||||
```
|
||||
|
||||
### Smuggler's knowledge of Sera (if observant, mid-game)
|
||||
### Smuggler's knowledge of the institutional contact (if observant, mid-game)
|
||||
|
||||
```rust
|
||||
EntityKnowledge {
|
||||
@@ -373,9 +373,9 @@ EntityKnowledge {
|
||||
confidence: KnowledgeConfidence::KnowsOf,
|
||||
source: KnowledgeSource::DirectObservation { tick: 1800 },
|
||||
state: KnowledgeState::Active,
|
||||
relationship: RelationshipState::Known, // not Friendly -- smuggler doesn't know Sera well
|
||||
relationship: RelationshipState::Known, // not Friendly -- smuggler doesn't know them well
|
||||
known_attributes: BTreeMap::from([
|
||||
("name".to_string(), "Sera Venn".to_string()),
|
||||
("name".to_string(), "{Institutional Contact Name}".to_string()),
|
||||
("role".to_string(), "Commission field tech".to_string()),
|
||||
("faction".to_string(), "Commission".to_string()),
|
||||
("species".to_string(), "human".to_string()),
|
||||
@@ -383,11 +383,11 @@ EntityKnowledge {
|
||||
("trust_level".to_string(), "uncertain".to_string()),
|
||||
("routine_pattern".to_string(), "bar regular, off-duty evenings".to_string()),
|
||||
("behavior_flags".to_string(), "observant,avoidance_pattern".to_string()),
|
||||
("leverage_held".to_string(), "knows something about Torek or Naia".to_string()),
|
||||
("leverage_held".to_string(), "knows something about the inspector or someone close to the ring".to_string()),
|
||||
("leverage_confidence".to_string(), "suspected".to_string()),
|
||||
("risk_assessment".to_string(), "moderate".to_string()), // Commission presence is inherently risky
|
||||
("loyalty_assessment".to_string(), "uncertain".to_string()), // unknown allegiance
|
||||
("position_integrity".to_string(), "N/A".to_string()), // Sera isn't maintaining a cover
|
||||
("position_integrity".to_string(), "N/A".to_string()), // not maintaining a cover
|
||||
("moral_weight".to_string(), "peripheral".to_string()), // not involved in ring, but near it
|
||||
]),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user