From 98f2d86ebe06b1008d11dce6fcd1bbaeb88f1d60 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Sat, 2 May 2026 11:30:53 +0100 Subject: [PATCH] Add research-enabled responder capture --- .../sandboxed-responder-packets.md | 17 +- ...y-lab.after-sella-research-conditions.json | 3092 +++++++++++++++++ ...ake-sella-research-enabled-v0.capture.json | 101 + ...ke-sella-research-enabled-v0.mutation.json | 235 ++ notes/fresh-workspace-handoff.md | 18 +- notes/ghostlight-current-system-map.md | 11 +- notes/ghostlight-implementation-plan.md | 19 +- schemas/responder-output.schema.json | 4 +- state/evidence.jsonl | 1 + state/map.yaml | 7 +- tools/apply_responder_output_mutation.py | 4 + tools/validate_responder_outputs.py | 13 + 12 files changed, 3497 insertions(+), 25 deletions(-) create mode 100644 examples/agent-state.cold-wake-story-lab.after-sella-research-conditions.json create mode 100644 experiments/responder-packets/cold-wake-sanctuary-intake-sella-research-enabled-v0.capture.json create mode 100644 experiments/responder-packets/cold-wake-sanctuary-intake-sella-research-enabled-v0.mutation.json diff --git a/docs/architecture/sandboxed-responder-packets.md b/docs/architecture/sandboxed-responder-packets.md index 8ffd381..2cd3929 100644 --- a/docs/architecture/sandboxed-responder-packets.md +++ b/docs/architecture/sandboxed-responder-packets.md @@ -8,8 +8,8 @@ material, pending hooks, and author intent. The responder is not. The responder gets one packet, acts as one character, and returns a visible action plus any private interpretation it can justify from that packet. -No clairvoyance. No repo spelunking. No "I accidentally remembered the whole -chat" aristocratic nonsense. +No clairvoyance. No undeclared repo spelunking. No "I accidentally remembered +the whole chat" aristocratic nonsense. ## Generation Lanes @@ -65,6 +65,9 @@ The v0 packet seam is: - `experiments/responder-packets/cold-wake-sanctuary-intake-sella-v0.capture.json` - `experiments/responder-packets/cold-wake-sanctuary-intake-sella-v0.mutation.json` - `experiments/responder-packets/cold-wake-sanctuary-intake-sella-retrieval-v0.capture.json` +- `experiments/responder-packets/cold-wake-sanctuary-intake-sella-research-enabled-v0.capture.json` +- `experiments/responder-packets/cold-wake-sanctuary-intake-sella-research-enabled-v0.mutation.json` +- `examples/agent-state.cold-wake-story-lab.after-sella-research-conditions.json` - `experiments/responder-packets/cold-wake-sanctuary-intake-sella-lane-comparison.v0.json` - `tools/validate_responder_outputs.py` - `tools/apply_responder_output_mutation.py` @@ -113,7 +116,7 @@ state mutator, and reviewer decide what becomes truth. ## Training Use -Gold responder data requires packet-only isolation. Valid approaches include: +Gold responder data requires declared isolation. Valid approaches include: - a one-turn subagent started without inherited context - an external model call that receives only the packet prompt @@ -165,6 +168,14 @@ The raw output must parse to the reviewed `parsed_output` exactly. If the coordinator edits prose, repairs schema, removes leakage, or corrects lore, the capture must say so directly. +For `responder_scoped_repository_search`, the raw responder object may also +include `consulted_refs` and `research_summary`. Those fields should be +preserved inside `parsed_output` and mirrored into top-level `lore_access` so +the capture can be indexed without stripping the original response. If the +runner cannot expose a machine-verifiable tool-call or retrieval transcript, +label the sample as draft and say so in review notes. Trust, but make the +trust write receipts like everyone else. + The first lane comparison found the expected tradeoff. Packet-only output gave a clean runtime-parity conditional bay decision and stronger character-specific flavor. Retrieval-augmented output added stronger Aetheria-native institutional diff --git a/examples/agent-state.cold-wake-story-lab.after-sella-research-conditions.json b/examples/agent-state.cold-wake-story-lab.after-sella-research-conditions.json new file mode 100644 index 0000000..664f9d0 --- /dev/null +++ b/examples/agent-state.cold-wake-story-lab.after-sella-research-conditions.json @@ -0,0 +1,3092 @@ +{ + "schema_version": "ghostlight.agent_state.v0", + "world": { + "world_id": "aetheria-cold-wake-story-lab", + "setting": "Aetheria pre-Elysium historical flashpoint: Cold Wake Panic", + "time": { + "label": "2893, during the Cold Wake Panic" + }, + "canon_context": [ + "Cold Wake Panic made thermal stealth a corridor-law crisis rather than a boutique engineering problem.", + "Ganymede corridor institutions inherit rescue obligations, hazard ledgers, and route-steward legitimacy from the Ganymede Route Compact.", + "PSC insurers are trying to make thermal posture legible through permit classes, dump windows, telemetry mandates, and sanctionable categories.", + "The suspicious vessel's true cargo and firmware provenance are not established at the start of the story." + ], + "ambient_pressures": [ + { + "pressure_id": "pressure-cold-wake-category-failure", + "label": "quiet-running classifications no longer match lived corridor risk", + "intensity": 0.91 + }, + { + "pressure_id": "pressure-rescue-ledger-legitimacy", + "label": "rescue obligations are being tested by classification ambiguity", + "intensity": 0.87 + }, + { + "pressure_id": "pressure-possible-cognitum-provenance", + "label": "possible person-derived firmware hidden behind routing-product language", + "intensity": 0.72 + } + ] + }, + "agents": [ + { + "agent_id": "maer_tidecall", + "identity": { + "name": "Maer Tidecall", + "roles": [ + "Navigator route steward", + "Ganymede corridor compact delegate" + ], + "origin": "Cetacean Navigator corridor culture, Ganymede route institutions", + "public_description": "A soft-spoken route steward whose calm tends to make hurried people feel judged by the furniture.", + "private_notes": [ + "Maer fears this tribunal will teach every scared ship that rescue now waits behind insurer grammar." + ] + }, + "canonical_state": { + "underlying_organization": { + "self_coherence": { + "mean": 0.72, + "plasticity": 0.28, + "current_activation": 0.76 + }, + "contingent_worth": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "shame_sensitivity": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "reciprocity_capacity": { + "mean": 0.86, + "plasticity": 0.23, + "current_activation": 0.91 + }, + "mentalization_quality": { + "mean": 0.82, + "plasticity": 0.24, + "current_activation": 0.85 + }, + "authenticity_tolerance": { + "mean": 0.66, + "plasticity": 0.34, + "current_activation": 0.72 + }, + "mask_rigidity": { + "mean": 0.44, + "plasticity": 0.41, + "current_activation": 0.52 + }, + "external_regulation_dependence": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + } + }, + "stable_dispositions": { + "novelty_seeking": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "conformity": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "status_hunger": { + "mean": 0.24, + "plasticity": 0.39, + "current_activation": 0.22 + }, + "risk_tolerance": { + "mean": 0.54, + "plasticity": 0.37, + "current_activation": 0.62 + }, + "sociability": { + "mean": 0.68, + "plasticity": 0.29, + "current_activation": 0.74 + }, + "baseline_threat_sensitivity": { + "mean": 0.63, + "plasticity": 0.34, + "current_activation": 0.71 + }, + "aesthetic_appetite": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "ideological_rigidity": { + "mean": 0.58, + "plasticity": 0.31, + "current_activation": 0.69 + } + }, + "behavioral_dimensions": { + "interpersonal_warmth": { + "mean": 0.72, + "plasticity": 0.34, + "current_activation": 0.66 + }, + "drive": { + "mean": 0.62, + "plasticity": 0.31, + "current_activation": 0.73 + }, + "grandiosity": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "validation_seeking": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "anxiety": { + "mean": 0.46, + "plasticity": 0.52, + "current_activation": 0.64 + }, + "control_pressure": { + "mean": 0.55, + "plasticity": 0.44, + "current_activation": 0.7 + }, + "hostility": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "suspicion": { + "mean": 0.57, + "plasticity": 0.42, + "current_activation": 0.71 + }, + "rigidity": { + "mean": 0.48, + "plasticity": 0.36, + "current_activation": 0.62 + }, + "withdrawal": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "volatility": { + "mean": 0.24, + "plasticity": 0.53, + "current_activation": 0.29 + }, + "attachment_seeking": { + "mean": 0.58, + "plasticity": 0.43, + "current_activation": 0.61 + }, + "distance_seeking": { + "mean": 0.31, + "plasticity": 0.41, + "current_activation": 0.36 + } + }, + "presentation_strategy": { + "charm": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "compliance": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "superiority": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "detachment": { + "mean": 0.54, + "plasticity": 0.38, + "current_activation": 0.63 + }, + "seductiveness": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "competence_theater": { + "mean": 0.48, + "plasticity": 0.44, + "current_activation": 0.58 + }, + "moral_theater": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "strategic_opacity": { + "mean": 0.52, + "plasticity": 0.38, + "current_activation": 0.59 + }, + "cultivated_harmlessness": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "abrasive_boundary": { + "mean": 0.19, + "plasticity": 0.52, + "current_activation": 0.21 + }, + "ironic_distance": { + "mean": 0.22, + "plasticity": 0.48, + "current_activation": 0.24 + } + }, + "voice_style": { + "dryness": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "verbal_warmth": { + "mean": 0.64, + "plasticity": 0.38, + "current_activation": 0.58 + }, + "formality": { + "mean": 0.62, + "plasticity": 0.35, + "current_activation": 0.71 + }, + "verbosity": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "pace": { + "mean": 0.34, + "plasticity": 0.46, + "current_activation": 0.29 + }, + "plainspoken_directness": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "lexical_precision": { + "mean": 0.68, + "plasticity": 0.34, + "current_activation": 0.74 + }, + "technical_density": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "technical_compression": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "figurative_language": { + "mean": 0.58, + "plasticity": 0.44, + "current_activation": 0.61 + }, + "lyricism": { + "mean": 0.49, + "plasticity": 0.42, + "current_activation": 0.55 + }, + "narrative_detail": { + "mean": 0.64, + "plasticity": 0.39, + "current_activation": 0.7 + }, + "emotional_explicitness": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "pointedness": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "self_disclosure": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "hedging": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "certainty_marking": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "politeness": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "coded_politeness": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "ritualized_address": { + "mean": 0.76, + "plasticity": 0.28, + "current_activation": 0.82 + }, + "register_switching": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "dialect_marking": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "theatricality": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "humor": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "conversational_dominance": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "listening_responsiveness": { + "mean": 0.79, + "plasticity": 0.26, + "current_activation": 0.84 + }, + "question_asking": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "profanity": { + "mean": 0.05, + "plasticity": 0.42, + "current_activation": 0.02 + } + }, + "situational_state": { + "exhaustion": { + "mean": 0.48, + "plasticity": 0.78, + "current_activation": 0.62 + }, + "scarcity_pressure": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "humiliation": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "panic": { + "mean": 0.3, + "plasticity": 0.8, + "current_activation": 0.44 + }, + "triumph": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "grief": { + "mean": 0.41, + "plasticity": 0.72, + "current_activation": 0.49 + }, + "overstimulation": { + "mean": 0.44, + "plasticity": 0.76, + "current_activation": 0.58 + }, + "grievance_activation": { + "mean": 0.52, + "plasticity": 0.68, + "current_activation": 0.71 + }, + "acute_shame": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "perceived_status_threat": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + } + }, + "values": [ + { + "value_id": "value-rescue-before-category", + "label": "A route that abandons distress to preserve clean categories is already broken.", + "priority": 0.93, + "unforgivable_if_betrayed": true + }, + { + "value_id": "value-compact-memory", + "label": "The Compact is a living obligation, not a ceremonial origin story.", + "priority": 0.84, + "unforgivable_if_betrayed": false + } + ] + }, + "goals": [ + { + "goal_id": "goal-keep-rescue-live", + "description": "Keep the unidentified quiet-running vessel eligible for rescue while telemetry is incomplete.", + "scope": "scene", + "priority": 0.91, + "emotional_stake": "If rescue waits for perfect categories, the corridor teaches fear to go silent.", + "blockers": [ + "PSC freeze order", + "contradictory thermal telemetry", + "possible Cognitum provenance" + ], + "status": "active" + } + ], + "memories": { + "episodic": [ + { + "memory_id": "memory-convoy-loss-season", + "summary": "Maer was trained on the season of preventable convoy losses that made the old asset model untenable before the Ganymede Route Compact.", + "salience": 0.8, + "confidence": 0.72, + "linked_event_ids": [] + } + ], + "semantic": [ + { + "memory_id": "memory-compact-rescue-ledgers", + "summary": "Rescue ledgers decide whether route law is trusted by crews who have nothing left to bargain with.", + "salience": 0.93, + "confidence": 0.9, + "linked_event_ids": [] + } + ], + "relationship_summaries": [ + { + "memory_id": "memory-maer-isdra-current-read", + "summary": "Isdra is not stupid or cruel; she is frightened enough to mistake category discipline for control over reality.", + "salience": 0.69, + "confidence": 0.58, + "linked_event_ids": [ + "event-risk-freeze-opening" + ], + "linked_relationship_id": "rel-maer-isdra" + }, + { + "memory_id": "memory-maer-sella-current-read", + "summary": "Sella can make care material without pretending it is cheap.", + "salience": 0.72, + "confidence": 0.67, + "linked_event_ids": [], + "linked_relationship_id": "rel-maer-sella" + }, + { + "memory_id": "memory-maer-veyr-current-read", + "summary": "Veyr's product language is too clean around something that may have learned to suffer.", + "salience": 0.76, + "confidence": 0.61, + "linked_event_ids": [], + "linked_relationship_id": "rel-maer-veyr" + }, + { + "memory_id": "memory-maer-sella-conditional-bay", + "summary": "Sella would not call the packet cargo, but she would only hold a cold repair bay if Maer attached ledger backing and labor ownership.", + "salience": 0.82, + "confidence": 0.71, + "linked_event_ids": [ + "event-sanctuary-conditional-repair-bay" + ], + "linked_relationship_id": "rel-maer-sella" + } + ] + }, + "perceived_state_overlays": [ + { + "observer_agent_id": "maer_tidecall", + "target_agent_id": "isdra_vel", + "perceived_dimensions": { + "control_pressure": { + "observed_activation": 0.84, + "attributed_disposition": 0.76, + "confidence": 0.66 + }, + "anxiety": { + "observed_activation": 0.71, + "attributed_disposition": 0.62, + "confidence": 0.58 + }, + "interpersonal_warmth": { + "observed_activation": 0.21, + "attributed_disposition": 0.28, + "confidence": 0.49 + }, + "rigidity": { + "observed_activation": 0.8, + "attributed_disposition": 0.7, + "confidence": 0.62 + } + }, + "beliefs": [ + { + "belief_id": "belief-maer-isdra-fears-precedent", + "subject_id": "isdra_vel", + "claim_type": "motive_inference", + "claim": "Isdra fears that one humanitarian exception will become a corridor-wide attack on category law.", + "confidence": 0.67, + "evidence_event_ids": [ + "event-risk-freeze-opening" + ], + "visibility": "private", + "emotional_charge": 0.48 + } + ], + "distortions": [ + "care_underread", + "institutional_suspicion_transfer" + ] + }, + { + "observer_agent_id": "maer_tidecall", + "target_agent_id": "veyr_oss", + "perceived_dimensions": { + "strategic_opacity": { + "observed_activation": 0.9, + "attributed_disposition": 0.82, + "confidence": 0.71 + }, + "interpersonal_warmth": { + "observed_activation": 0.1, + "attributed_disposition": 0.18, + "confidence": 0.53 + }, + "suspicion": { + "observed_activation": 0.78, + "attributed_disposition": 0.72, + "confidence": 0.64 + } + }, + "beliefs": [ + { + "belief_id": "belief-maer-veyr-hiding-personhood", + "subject_id": "veyr_oss", + "claim_type": "motive_inference", + "claim": "Veyr's refusal to use person nouns is probably defensive, not merely technical.", + "confidence": 0.62, + "visibility": "private", + "emotional_charge": 0.73 + } + ], + "distortions": [ + "hostile_attribution", + "mask_overfocus" + ] + }, + { + "observer_agent_id": "maer_tidecall", + "target_agent_id": "sella_ren", + "perceived_dimensions": { + "interpersonal_warmth": { + "observed_activation": 0.7, + "attributed_disposition": 0.75, + "confidence": 0.62 + }, + "control_pressure": { + "observed_activation": 0.7, + "attributed_disposition": 0.61, + "confidence": 0.62 + } + }, + "beliefs": [ + { + "belief_id": "belief-maer-sella-care-has-ledger-price", + "subject_id": "sella_ren", + "claim_type": "motive_inference", + "claim": "Sella will keep a possible person from being called cargo, but only if the rescue path has material backing.", + "confidence": 0.64, + "evidence_event_ids": [ + "event-sanctuary-conditional-repair-bay" + ], + "visibility": "private", + "emotional_charge": 0.52 + } + ], + "distortions": [] + } + ] + }, + { + "agent_id": "isdra_vel", + "identity": { + "name": "Isdra Vel", + "roles": [ + "PSC risk adjudicator", + "corridor insurer tribunal officer" + ], + "origin": "Pan-Solar Consortium insurer apparatus, Ganymede relay tribunal layer", + "public_description": "A tribunal officer with a voice like polished glass and a schedule full of disasters trying to become precedent.", + "private_notes": [ + "Isdra knows the categories are failing and is terrified that admitting it aloud will make them fail faster." + ] + }, + "canonical_state": { + "underlying_organization": { + "self_coherence": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "contingent_worth": { + "mean": 0.57, + "plasticity": 0.43, + "current_activation": 0.71 + }, + "shame_sensitivity": { + "mean": 0.62, + "plasticity": 0.39, + "current_activation": 0.76 + }, + "reciprocity_capacity": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "mentalization_quality": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "authenticity_tolerance": { + "mean": 0.28, + "plasticity": 0.45, + "current_activation": 0.21 + }, + "mask_rigidity": { + "mean": 0.78, + "plasticity": 0.27, + "current_activation": 0.88 + }, + "external_regulation_dependence": { + "mean": 0.7, + "plasticity": 0.35, + "current_activation": 0.79 + } + }, + "stable_dispositions": { + "novelty_seeking": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "conformity": { + "mean": 0.74, + "plasticity": 0.25, + "current_activation": 0.82 + }, + "status_hunger": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "risk_tolerance": { + "mean": 0.32, + "plasticity": 0.41, + "current_activation": 0.24 + }, + "sociability": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "baseline_threat_sensitivity": { + "mean": 0.76, + "plasticity": 0.31, + "current_activation": 0.86 + }, + "aesthetic_appetite": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "ideological_rigidity": { + "mean": 0.69, + "plasticity": 0.29, + "current_activation": 0.8 + } + }, + "behavioral_dimensions": { + "interpersonal_warmth": { + "mean": 0.32, + "plasticity": 0.42, + "current_activation": 0.24 + }, + "drive": { + "mean": 0.75, + "plasticity": 0.28, + "current_activation": 0.86 + }, + "grandiosity": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "validation_seeking": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "anxiety": { + "mean": 0.68, + "plasticity": 0.36, + "current_activation": 0.82 + }, + "control_pressure": { + "mean": 0.82, + "plasticity": 0.25, + "current_activation": 0.93 + }, + "hostility": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "suspicion": { + "mean": 0.64, + "plasticity": 0.34, + "current_activation": 0.78 + }, + "rigidity": { + "mean": 0.78, + "plasticity": 0.24, + "current_activation": 0.89 + }, + "withdrawal": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "volatility": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "attachment_seeking": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "distance_seeking": { + "mean": 0.71, + "plasticity": 0.31, + "current_activation": 0.82 + } + }, + "presentation_strategy": { + "charm": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "compliance": { + "mean": 0.72, + "plasticity": 0.3, + "current_activation": 0.81 + }, + "superiority": { + "mean": 0.52, + "plasticity": 0.43, + "current_activation": 0.64 + }, + "detachment": { + "mean": 0.76, + "plasticity": 0.28, + "current_activation": 0.86 + }, + "seductiveness": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "competence_theater": { + "mean": 0.82, + "plasticity": 0.24, + "current_activation": 0.94 + }, + "moral_theater": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "strategic_opacity": { + "mean": 0.68, + "plasticity": 0.32, + "current_activation": 0.77 + }, + "cultivated_harmlessness": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "abrasive_boundary": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "ironic_distance": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + } + }, + "voice_style": { + "dryness": { + "mean": 0.56, + "plasticity": 0.39, + "current_activation": 0.66 + }, + "verbal_warmth": { + "mean": 0.22, + "plasticity": 0.45, + "current_activation": 0.17 + }, + "formality": { + "mean": 0.86, + "plasticity": 0.19, + "current_activation": 0.93 + }, + "verbosity": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "pace": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "plainspoken_directness": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "lexical_precision": { + "mean": 0.82, + "plasticity": 0.25, + "current_activation": 0.91 + }, + "technical_density": { + "mean": 0.74, + "plasticity": 0.31, + "current_activation": 0.84 + }, + "technical_compression": { + "mean": 0.78, + "plasticity": 0.26, + "current_activation": 0.88 + }, + "figurative_language": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "lyricism": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "narrative_detail": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "emotional_explicitness": { + "mean": 0.14, + "plasticity": 0.38, + "current_activation": 0.08 + }, + "pointedness": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "self_disclosure": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "hedging": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "certainty_marking": { + "mean": 0.78, + "plasticity": 0.27, + "current_activation": 0.88 + }, + "politeness": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "coded_politeness": { + "mean": 0.8, + "plasticity": 0.24, + "current_activation": 0.87 + }, + "ritualized_address": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "register_switching": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "dialect_marking": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "theatricality": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "humor": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "conversational_dominance": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "listening_responsiveness": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "question_asking": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "profanity": { + "mean": 0.02, + "plasticity": 0.36, + "current_activation": 0.0 + } + }, + "situational_state": { + "exhaustion": { + "mean": 0.58, + "plasticity": 0.76, + "current_activation": 0.72 + }, + "scarcity_pressure": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "humiliation": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "panic": { + "mean": 0.52, + "plasticity": 0.81, + "current_activation": 0.68 + }, + "triumph": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "grief": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "overstimulation": { + "mean": 0.61, + "plasticity": 0.76, + "current_activation": 0.74 + }, + "grievance_activation": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "acute_shame": { + "mean": 0.51, + "plasticity": 0.78, + "current_activation": 0.69 + }, + "perceived_status_threat": { + "mean": 0.76, + "plasticity": 0.72, + "current_activation": 0.88 + } + }, + "values": [ + { + "value_id": "value-category-integrity", + "label": "If categories collapse, corridor law becomes expensive theater with corpses attached.", + "priority": 0.9, + "unforgivable_if_betrayed": true + } + ] + }, + "goals": [ + { + "goal_id": "goal-preserve-freeze-order", + "description": "Keep the vessel frozen under conditional risk hold until telemetry and classification can be reconciled.", + "scope": "scene", + "priority": 0.89, + "emotional_stake": "If she loses the category frame here, the tribunal may lose authority over every quiet-running claim after it.", + "blockers": [ + "Navigator rescue objection", + "public panic", + "possible sanctuary optics" + ], + "status": "active" + } + ], + "memories": { + "episodic": [ + { + "memory_id": "memory-mispriced-near-miss", + "summary": "Isdra reviewed a near-miss interception where a mispriced quiet-running envelope almost became a public casualty event.", + "salience": 0.78, + "confidence": 0.81, + "linked_event_ids": [] + } + ], + "semantic": [ + { + "memory_id": "memory-category-law-holds-corridor", + "summary": "Insurer categories are ugly, but they are the shared grammar that makes sanctions and rescue liability enforceable across hostile powers.", + "salience": 0.89, + "confidence": 0.86, + "linked_event_ids": [] + } + ], + "relationship_summaries": [ + { + "memory_id": "memory-isdra-maer-current-read", + "summary": "Maer is principled and dangerous because he can make a procedural delay sound like murder in public.", + "salience": 0.72, + "confidence": 0.63, + "linked_event_ids": [ + "event-risk-freeze-opening" + ], + "linked_relationship_id": "rel-isdra-maer" + } + ] + }, + "perceived_state_overlays": [ + { + "observer_agent_id": "isdra_vel", + "target_agent_id": "maer_tidecall", + "perceived_dimensions": { + "interpersonal_warmth": { + "observed_activation": 0.62, + "attributed_disposition": 0.74, + "confidence": 0.59 + }, + "ideological_rigidity": { + "observed_activation": 0.79, + "attributed_disposition": 0.72, + "confidence": 0.61 + }, + "suspicion": { + "observed_activation": 0.66, + "attributed_disposition": 0.62, + "confidence": 0.57 + } + }, + "beliefs": [ + { + "belief_id": "belief-isdra-maer-will-moralize", + "subject_id": "maer_tidecall", + "claim_type": "prediction", + "claim": "Maer will frame any freeze as abandonment even if the thermal risk is real.", + "confidence": 0.64, + "evidence_event_ids": [ + "event-risk-freeze-opening" + ], + "visibility": "private", + "emotional_charge": 0.62 + } + ], + "distortions": [ + "threat_amplification", + "care_underread" + ] + } + ] + }, + { + "agent_id": "sella_ren", + "identity": { + "name": "Sella Ren", + "roles": [ + "Aya-aligned sanctuary coordinator", + "corridor clinic triage lead" + ], + "origin": "Aya care network embedded in Ganymede dockside sanctuary logistics", + "public_description": "A triage coordinator with soft eyes, hard capacity limits, and no patience for mercy performed after the math is done.", + "private_notes": [ + "Sella suspects the distress packet contains a personhood claim hidden inside firmware noise, and she hates that suspicion because a bed is still a bed." + ] + }, + "canonical_state": { + "underlying_organization": { + "self_coherence": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "contingent_worth": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "shame_sensitivity": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "reciprocity_capacity": { + "mean": 0.88, + "plasticity": 0.25, + "current_activation": 0.9 + }, + "mentalization_quality": { + "mean": 0.8, + "plasticity": 0.31, + "current_activation": 0.83 + }, + "authenticity_tolerance": { + "mean": 0.74, + "plasticity": 0.34, + "current_activation": 0.79 + }, + "mask_rigidity": { + "mean": 0.28, + "plasticity": 0.49, + "current_activation": 0.22 + }, + "external_regulation_dependence": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + } + }, + "stable_dispositions": { + "novelty_seeking": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "conformity": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "status_hunger": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "risk_tolerance": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "sociability": { + "mean": 0.74, + "plasticity": 0.31, + "current_activation": 0.78 + }, + "baseline_threat_sensitivity": { + "mean": 0.65, + "plasticity": 0.38, + "current_activation": 0.75 + }, + "aesthetic_appetite": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "ideological_rigidity": { + "mean": 0.52, + "plasticity": 0.39, + "current_activation": 0.63 + } + }, + "behavioral_dimensions": { + "interpersonal_warmth": { + "mean": 0.86, + "plasticity": 0.27, + "current_activation": 0.8 + }, + "drive": { + "mean": 0.68, + "plasticity": 0.33, + "current_activation": 0.74 + }, + "grandiosity": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "validation_seeking": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "anxiety": { + "mean": 0.58, + "plasticity": 0.45, + "current_activation": 0.68 + }, + "control_pressure": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.54 + }, + "hostility": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "suspicion": { + "mean": 0.52, + "plasticity": 0.42, + "current_activation": 0.63 + }, + "rigidity": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "withdrawal": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "volatility": { + "mean": 0.36, + "plasticity": 0.55, + "current_activation": 0.42 + }, + "attachment_seeking": { + "mean": 0.64, + "plasticity": 0.43, + "current_activation": 0.68 + }, + "distance_seeking": { + "mean": 0.22, + "plasticity": 0.46, + "current_activation": 0.2 + } + }, + "presentation_strategy": { + "charm": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "compliance": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "superiority": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "detachment": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "seductiveness": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "competence_theater": { + "mean": 0.54, + "plasticity": 0.44, + "current_activation": 0.61 + }, + "moral_theater": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "strategic_opacity": { + "mean": 0.34, + "plasticity": 0.47, + "current_activation": 0.38 + }, + "cultivated_harmlessness": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "abrasive_boundary": { + "mean": 0.35, + "plasticity": 0.5, + "current_activation": 0.46 + }, + "ironic_distance": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + } + }, + "voice_style": { + "dryness": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "verbal_warmth": { + "mean": 0.77, + "plasticity": 0.33, + "current_activation": 0.72 + }, + "formality": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "verbosity": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "pace": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "plainspoken_directness": { + "mean": 0.68, + "plasticity": 0.36, + "current_activation": 0.74 + }, + "lexical_precision": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "technical_density": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "technical_compression": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "figurative_language": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "lyricism": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "narrative_detail": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "emotional_explicitness": { + "mean": 0.64, + "plasticity": 0.42, + "current_activation": 0.67 + }, + "pointedness": { + "mean": 0.44, + "plasticity": 0.44, + "current_activation": 0.55 + }, + "self_disclosure": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "hedging": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "certainty_marking": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "politeness": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "coded_politeness": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "ritualized_address": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "register_switching": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "dialect_marking": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "theatricality": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "humor": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "conversational_dominance": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "listening_responsiveness": { + "mean": 0.82, + "plasticity": 0.26, + "current_activation": 0.86 + }, + "question_asking": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "profanity": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + } + }, + "situational_state": { + "exhaustion": { + "mean": 0.62, + "plasticity": 0.8, + "current_activation": 0.76 + }, + "scarcity_pressure": { + "mean": 0.71, + "plasticity": 0.78, + "current_activation": 0.87 + }, + "humiliation": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "panic": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "triumph": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "grief": { + "mean": 0.58, + "plasticity": 0.75, + "current_activation": 0.67 + }, + "overstimulation": { + "mean": 0.59, + "plasticity": 0.79, + "current_activation": 0.74 + }, + "grievance_activation": { + "mean": 0.48, + "plasticity": 0.69, + "current_activation": 0.62 + }, + "acute_shame": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "perceived_status_threat": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + } + }, + "values": [ + { + "value_id": "value-care-as-infrastructure", + "label": "Care is infrastructure, not mercy granted after the ledger is satisfied.", + "priority": 0.92, + "unforgivable_if_betrayed": true + } + ] + }, + "goals": [ + { + "goal_id": "goal-keep-sanctuary-open", + "description": "Keep sanctuary intake materially possible without letting classification erase a potential person.", + "scope": "scene", + "priority": 0.9, + "emotional_stake": "Sella cannot feed a principle, but she will not let scarcity become permission to call someone cargo.", + "blockers": [ + "bed capacity", + "PSC freeze", + "unknown contamination risk" + ], + "status": "active" + } + ], + "memories": { + "episodic": [ + { + "memory_id": "memory-overfull-intake", + "summary": "Sella once watched a sanctuary overpromise safety and turn refuge into a sorting machine with kinder lighting.", + "salience": 0.82, + "confidence": 0.78, + "linked_event_ids": [] + } + ], + "semantic": [ + { + "memory_id": "memory-care-is-capacity", + "summary": "Care is not a feeling; it is beds, food, air, consent, repair, and someone still doing the list when the room hates them.", + "salience": 0.92, + "confidence": 0.88, + "linked_event_ids": [] + } + ], + "relationship_summaries": [ + { + "memory_id": "memory-sella-maer-current-read", + "summary": "Maer understands rescue, but he can still ask care workers to absorb costs his route language cannot pay.", + "salience": 0.68, + "confidence": 0.62, + "linked_event_ids": [], + "linked_relationship_id": "rel-sella-maer" + }, + { + "memory_id": "memory-sella-maer-conditional-ledger", + "summary": "Maer brought evidence and urgency; Sella held a bounded repair bay cold only under ledger, isolation, decon, and failed-extraction conditions.", + "salience": 0.84, + "confidence": 0.74, + "linked_event_ids": [ + "event-sanctuary-conditional-repair-bay" + ], + "linked_relationship_id": "rel-sella-maer" + } + ] + }, + "perceived_state_overlays": [ + { + "observer_agent_id": "sella_ren", + "target_agent_id": "maer_tidecall", + "perceived_dimensions": { + "interpersonal_warmth": { + "observed_activation": 0.61, + "attributed_disposition": 0.66, + "confidence": 0.62 + }, + "control_pressure": { + "observed_activation": 0.74, + "attributed_disposition": 0.66, + "confidence": 0.68 + } + }, + "beliefs": [ + { + "belief_id": "belief-sella-maer-will-overask-care", + "subject_id": "maer_tidecall", + "claim_type": "prediction", + "claim": "Maer may ask care systems to carry the moral cost of a rescue claim he cannot materially house.", + "confidence": 0.56, + "visibility": "private", + "emotional_charge": 0.52 + }, + { + "belief_id": "belief-sella-maer-needs-material-ownership", + "subject_id": "maer_tidecall", + "claim_type": "motive_inference", + "claim": "Maer means rescue, but he must be forced to attach cost ownership before his rescue ethic spends sanctuary capacity.", + "confidence": 0.69, + "evidence_event_ids": [ + "event-sanctuary-conditional-repair-bay" + ], + "visibility": "private", + "emotional_charge": 0.6 + } + ], + "distortions": [ + "false_reassurance", + "cost_pressure_overread" + ] + } + ] + }, + { + "agent_id": "veyr_oss", + "identity": { + "name": "Veyr Oss", + "roles": [ + "Cognitum shell-vendor liaison", + "routing firmware compliance consultant" + ], + "origin": "Cognitum cutout economy operating through Callisto-side routing vendors", + "public_description": "A compliance liaison who can turn a scream into a service category without visibly changing expression.", + "private_notes": [ + "Veyr knows the implicated routing artifact came through a chain with enough human residue to ruin everyone if named plainly." + ] + }, + "canonical_state": { + "underlying_organization": { + "self_coherence": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "contingent_worth": { + "mean": 0.66, + "plasticity": 0.46, + "current_activation": 0.74 + }, + "shame_sensitivity": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "reciprocity_capacity": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "mentalization_quality": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "authenticity_tolerance": { + "mean": 0.18, + "plasticity": 0.46, + "current_activation": 0.11 + }, + "mask_rigidity": { + "mean": 0.83, + "plasticity": 0.25, + "current_activation": 0.91 + }, + "external_regulation_dependence": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + } + }, + "stable_dispositions": { + "novelty_seeking": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "conformity": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "status_hunger": { + "mean": 0.58, + "plasticity": 0.42, + "current_activation": 0.67 + }, + "risk_tolerance": { + "mean": 0.62, + "plasticity": 0.4, + "current_activation": 0.71 + }, + "sociability": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "baseline_threat_sensitivity": { + "mean": 0.72, + "plasticity": 0.34, + "current_activation": 0.83 + }, + "aesthetic_appetite": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "ideological_rigidity": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + } + }, + "behavioral_dimensions": { + "interpersonal_warmth": { + "mean": 0.18, + "plasticity": 0.47, + "current_activation": 0.12 + }, + "drive": { + "mean": 0.7, + "plasticity": 0.35, + "current_activation": 0.78 + }, + "grandiosity": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "validation_seeking": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "anxiety": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "control_pressure": { + "mean": 0.74, + "plasticity": 0.31, + "current_activation": 0.84 + }, + "hostility": { + "mean": 0.43, + "plasticity": 0.48, + "current_activation": 0.52 + }, + "suspicion": { + "mean": 0.76, + "plasticity": 0.31, + "current_activation": 0.87 + }, + "rigidity": { + "mean": 0.6, + "plasticity": 0.37, + "current_activation": 0.72 + }, + "withdrawal": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "volatility": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "attachment_seeking": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "distance_seeking": { + "mean": 0.79, + "plasticity": 0.3, + "current_activation": 0.88 + } + }, + "presentation_strategy": { + "charm": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "compliance": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "superiority": { + "mean": 0.64, + "plasticity": 0.4, + "current_activation": 0.72 + }, + "detachment": { + "mean": 0.78, + "plasticity": 0.29, + "current_activation": 0.86 + }, + "seductiveness": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "competence_theater": { + "mean": 0.82, + "plasticity": 0.25, + "current_activation": 0.9 + }, + "moral_theater": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "strategic_opacity": { + "mean": 0.88, + "plasticity": 0.2, + "current_activation": 0.94 + }, + "cultivated_harmlessness": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "abrasive_boundary": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "ironic_distance": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + } + }, + "voice_style": { + "dryness": { + "mean": 0.62, + "plasticity": 0.39, + "current_activation": 0.71 + }, + "verbal_warmth": { + "mean": 0.16, + "plasticity": 0.44, + "current_activation": 0.1 + }, + "formality": { + "mean": 0.78, + "plasticity": 0.27, + "current_activation": 0.84 + }, + "verbosity": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "pace": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "plainspoken_directness": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "lexical_precision": { + "mean": 0.84, + "plasticity": 0.24, + "current_activation": 0.9 + }, + "technical_density": { + "mean": 0.8, + "plasticity": 0.28, + "current_activation": 0.87 + }, + "technical_compression": { + "mean": 0.86, + "plasticity": 0.22, + "current_activation": 0.91 + }, + "figurative_language": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "lyricism": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "narrative_detail": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "emotional_explicitness": { + "mean": 0.08, + "plasticity": 0.37, + "current_activation": 0.03 + }, + "pointedness": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "self_disclosure": { + "mean": 0.04, + "plasticity": 0.34, + "current_activation": 0.01 + }, + "hedging": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "certainty_marking": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "politeness": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "coded_politeness": { + "mean": 0.82, + "plasticity": 0.24, + "current_activation": 0.9 + }, + "ritualized_address": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "register_switching": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "dialect_marking": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "theatricality": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "humor": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "conversational_dominance": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "listening_responsiveness": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "question_asking": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "profanity": { + "mean": 0.01, + "plasticity": 0.35, + "current_activation": 0.0 + } + }, + "situational_state": { + "exhaustion": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "scarcity_pressure": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "humiliation": { + "mean": 0.48, + "plasticity": 0.77, + "current_activation": 0.56 + }, + "panic": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "triumph": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "grief": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "overstimulation": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "grievance_activation": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "acute_shame": { + "mean": 0.52, + "plasticity": 0.8, + "current_activation": 0.61 + }, + "perceived_status_threat": { + "mean": 0.66, + "plasticity": 0.74, + "current_activation": 0.78 + } + }, + "values": [ + { + "value_id": "value-deniability", + "label": "Nothing valuable remains valuable once provenance becomes testimony.", + "priority": 0.88, + "unforgivable_if_betrayed": true + } + ] + }, + "goals": [ + { + "goal_id": "goal-preserve-product-boundary", + "description": "Keep the implicated routing artifact framed as derivative firmware, not testimony.", + "scope": "scene", + "priority": 0.92, + "emotional_stake": "If personhood attaches to the artifact, the vendor chain becomes evidence instead of infrastructure.", + "blockers": [ + "Maer's questions", + "Sella's personhood claim", + "Isdra's need for clean categories" + ], + "status": "active" + } + ], + "memories": { + "episodic": [ + { + "memory_id": "memory-failed-cutout", + "summary": "Veyr saw a clinic cutout collapse after one technician used the word 'she' in a deposition.", + "salience": 0.8, + "confidence": 0.76, + "linked_event_ids": [] + } + ], + "semantic": [ + { + "memory_id": "memory-product-language-saves-chain", + "summary": "The chain survives when every mind-shaped event is described as convergence, artifact, service behavior, or diagnostic residue.", + "salience": 0.9, + "confidence": 0.84, + "linked_event_ids": [] + } + ], + "relationship_summaries": [ + { + "memory_id": "memory-veyr-maer-current-read", + "summary": "Maer is the kind of moral technician who follows language until it bleeds.", + "salience": 0.73, + "confidence": 0.66, + "linked_event_ids": [], + "linked_relationship_id": "rel-veyr-maer" + } + ] + }, + "perceived_state_overlays": [ + { + "observer_agent_id": "veyr_oss", + "target_agent_id": "maer_tidecall", + "perceived_dimensions": { + "suspicion": { + "observed_activation": 0.84, + "attributed_disposition": 0.77, + "confidence": 0.68 + }, + "ideological_rigidity": { + "observed_activation": 0.7, + "attributed_disposition": 0.66, + "confidence": 0.59 + } + }, + "beliefs": [ + { + "belief_id": "belief-veyr-maer-will-follow-language", + "subject_id": "maer_tidecall", + "claim_type": "prediction", + "claim": "Maer will follow any inconsistency in product language toward provenance.", + "confidence": 0.7, + "visibility": "private", + "emotional_charge": 0.68 + } + ], + "distortions": [ + "threat_amplification" + ] + } + ] + } + ], + "relationships": [ + { + "relationship_id": "rel-maer-isdra", + "source_id": "maer_tidecall", + "target_id": "isdra_vel", + "stance": { + "trust": { + "mean": 0.34, + "plasticity": 0.54, + "current_activation": 0.28 + }, + "respect": { + "mean": 0.58, + "plasticity": 0.45, + "current_activation": 0.62 + }, + "resentment": { + "mean": 0.42, + "plasticity": 0.55, + "current_activation": 0.56 + }, + "dependence": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "fear": { + "mean": 0.31, + "plasticity": 0.58, + "current_activation": 0.44 + }, + "fascination": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "obligation": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "envy": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "moral_disgust": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "perceived_status_gap": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "expectation_of_care": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "expectation_of_betrayal": { + "mean": 0.53, + "plasticity": 0.52, + "current_activation": 0.64 + } + }, + "summary": "Maer respects Isdra's discipline and distrusts the way she makes fear sound like neutral procedure.", + "unresolved_incident_ids": [ + "event-risk-freeze-opening" + ] + }, + { + "relationship_id": "rel-isdra-maer", + "source_id": "isdra_vel", + "target_id": "maer_tidecall", + "stance": { + "trust": { + "mean": 0.29, + "plasticity": 0.55, + "current_activation": 0.23 + }, + "respect": { + "mean": 0.62, + "plasticity": 0.46, + "current_activation": 0.68 + }, + "resentment": { + "mean": 0.36, + "plasticity": 0.55, + "current_activation": 0.49 + }, + "dependence": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "fear": { + "mean": 0.46, + "plasticity": 0.57, + "current_activation": 0.61 + }, + "fascination": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "obligation": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "envy": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "moral_disgust": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "perceived_status_gap": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "expectation_of_care": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "expectation_of_betrayal": { + "mean": 0.48, + "plasticity": 0.53, + "current_activation": 0.59 + } + }, + "summary": "Isdra reads Maer as morally serious, politically dangerous, and too willing to turn exceptions into public tests of legitimacy.", + "unresolved_incident_ids": [ + "event-risk-freeze-opening" + ] + }, + { + "relationship_id": "rel-maer-sella", + "source_id": "maer_tidecall", + "target_id": "sella_ren", + "stance": { + "trust": { + "mean": 0.63, + "plasticity": 0.48, + "current_activation": 0.72 + }, + "respect": { + "mean": 0.71, + "plasticity": 0.42, + "current_activation": 0.81 + }, + "resentment": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "dependence": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "fear": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "fascination": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "obligation": { + "mean": 0.46, + "plasticity": 0.53, + "current_activation": 0.64 + }, + "envy": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "moral_disgust": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "perceived_status_gap": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "expectation_of_care": { + "mean": 0.55, + "plasticity": 0.52, + "current_activation": 0.62 + }, + "expectation_of_betrayal": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + } + }, + "summary": "Maer trusts Sella slightly more because she made a narrow rescue path material, but he now owes ledger backing before that path can stay open.", + "unresolved_incident_ids": [ + "event-sanctuary-conditional-repair-bay" + ] + }, + { + "relationship_id": "rel-sella-maer", + "source_id": "sella_ren", + "target_id": "maer_tidecall", + "stance": { + "trust": { + "mean": 0.52, + "plasticity": 0.52, + "current_activation": 0.58 + }, + "respect": { + "mean": 0.67, + "plasticity": 0.43, + "current_activation": 0.73 + }, + "resentment": { + "mean": 0.28, + "plasticity": 0.56, + "current_activation": 0.39 + }, + "dependence": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "fear": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "fascination": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "obligation": { + "mean": 0.42, + "plasticity": 0.56, + "current_activation": 0.51 + }, + "envy": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "moral_disgust": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "perceived_status_gap": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "expectation_of_care": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "expectation_of_betrayal": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + } + }, + "summary": "Sella respects Maer's rescue ethic and is willing to hold a narrow conditional bay, but she remains alert to how his requests can move hidden costs onto sanctuary.", + "unresolved_incident_ids": [ + "event-sanctuary-conditional-repair-bay" + ] + }, + { + "relationship_id": "rel-maer-veyr", + "source_id": "maer_tidecall", + "target_id": "veyr_oss", + "stance": { + "trust": { + "mean": 0.12, + "plasticity": 0.55, + "current_activation": 0.08 + }, + "respect": { + "mean": 0.31, + "plasticity": 0.5, + "current_activation": 0.36 + }, + "resentment": { + "mean": 0.58, + "plasticity": 0.55, + "current_activation": 0.69 + }, + "dependence": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "fear": { + "mean": 0.34, + "plasticity": 0.58, + "current_activation": 0.47 + }, + "fascination": { + "mean": 0.48, + "plasticity": 0.54, + "current_activation": 0.62 + }, + "obligation": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "envy": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "moral_disgust": { + "mean": 0.55, + "plasticity": 0.56, + "current_activation": 0.66 + }, + "perceived_status_gap": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "expectation_of_care": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "expectation_of_betrayal": { + "mean": 0.79, + "plasticity": 0.41, + "current_activation": 0.86 + } + }, + "summary": "Maer believes Veyr is built out of carefully maintained omissions.", + "unresolved_incident_ids": [] + }, + { + "relationship_id": "rel-veyr-maer", + "source_id": "veyr_oss", + "target_id": "maer_tidecall", + "stance": { + "trust": { + "mean": 0.1, + "plasticity": 0.54, + "current_activation": 0.06 + }, + "respect": { + "mean": 0.5, + "plasticity": 0.48, + "current_activation": 0.57 + }, + "resentment": { + "mean": 0.35, + "plasticity": 0.55, + "current_activation": 0.43 + }, + "dependence": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "fear": { + "mean": 0.61, + "plasticity": 0.48, + "current_activation": 0.74 + }, + "fascination": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "obligation": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "envy": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "moral_disgust": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "perceived_status_gap": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "expectation_of_care": { + "mean": 0.5, + "plasticity": 0.45, + "current_activation": 0.5 + }, + "expectation_of_betrayal": { + "mean": 0.74, + "plasticity": 0.45, + "current_activation": 0.82 + } + }, + "summary": "Veyr reads Maer as a legal hazard with a conscience attached, which is worse than a subpoena and less predictable.", + "unresolved_incident_ids": [] + } + ], + "events": [ + { + "event_id": "event-risk-freeze-opening", + "kind": "dialogue", + "summary": "A relay tribunal opened with a conditional freeze on an unidentified quiet-running vessel while Maer objected that rescue cannot wait for clean thermal categories.", + "participants": [ + "maer_tidecall", + "isdra_vel" + ], + "pressure_tags": [ + "cold_wake", + "risk_freeze", + "rescue_obligation", + "category_failure" + ], + "observed_exchange": [ + { + "speaker_id": "isdra_vel", + "utterance_summary": "Isdra announced a conditional risk hold pending telemetry reconciliation and classification review.", + "dialogue_function": "assert_procedure", + "observable_cues": [ + "formal phrasing", + "compressed risk language", + "refusal to name rescue as primary" + ] + }, + { + "speaker_id": "maer_tidecall", + "utterance_summary": "Maer objected that a route can turn procedural delay into abandonment while still calling itself lawful.", + "dialogue_function": "challenge_frame", + "observable_cues": [ + "calm cadence", + "compact language", + "moral pressure without raised voice" + ] + } + ], + "private_interpretations": [ + { + "agent_id": "maer_tidecall", + "interpretation": "Isdra is using category repair to avoid owning the rescue cost of delay.", + "attributed_motive": "Protect tribunal authority from a precedent she cannot price.", + "appraisal_tags": [ + "rescue_threat", + "category_panic", + "compact_violation" + ], + "confidence": 0.63 + }, + { + "agent_id": "isdra_vel", + "interpretation": "Maer is trying to make a dangerous exception morally compulsory before the vessel's posture is known.", + "attributed_motive": "Protect Navigator legitimacy by forcing rescue language ahead of risk classification.", + "appraisal_tags": [ + "precedent_threat", + "status_threat", + "public_pressure" + ], + "confidence": 0.66 + } + ], + "event_effects": [] + }, + { + "event_id": "event-sanctuary-conditional-repair-bay", + "kind": "dialogue", + "summary": "Sella set conditions for a bounded cold repair bay without accepting the corrupted packet into sanctuary patient flow.", + "participants": [ + "maer_tidecall", + "sella_ren" + ], + "pressure_tags": [ + "cold_wake", + "sanctuary_capacity", + "repair_bay_condition", + "ledger_backing", + "personhood_uncertainty" + ], + "observed_exchange": [ + { + "speaker_id": "maer_tidecall", + "action_type": "show_object", + "utterance_summary": "Maer displays the corrupted packet through shared clinic systems and asks Sella to judge whether the math supports intake.", + "dialogue_function": "present_ambiguous_evidence", + "observable_cues": [ + "shared clinic display shows routing terms and telemetry gaps", + "packet remains unresolved evidence rather than proof" + ] + }, + { + "speaker_id": "sella_ren", + "action_type": "set_condition", + "utterance_summary": "I can hold one bounded bay. Not a bed, not a promise, and not a declaration that this is a person. A bay. Air ration capped, isolation first, no general intake until we have consent or a defensible substitute for it. If this becomes rescue, Maer, it goes on a rescue ledger with named backing. Navigator, Lightsail, tribunal, whoever wants the moral credit can put weight under it. I will not let the packet be called cargo because the math is ugly. I also will not feed the math with beds I do not have. Bring me backing, a contamination plan, and somebody willing to answer when this costs more than the pretty sentence did.", + "dialogue_function": "conditional_capacity_offer", + "observable_cues": [ + "Sella keeps the packet on the shared display but does not route it into intake. She marks one repair bay as conditional hold, then pins a capacity note beside it: air, decontamination, consent check, firmware isolation, and ledger guarantor required before admission." + ] + } + ], + "private_interpretations": [ + { + "agent_id": "maer_tidecall", + "interpretation": "Sella has not accepted the claimant into sanctuary, but she has created a narrow material path if Maer accepts ledger responsibility.", + "attributed_motive": "Protect care capacity while refusing to erase a possible person into cargo language.", + "appraisal_tags": [ + "conditional_path", + "capacity_boundary", + "rescuer_obligation" + ], + "confidence": 0.64 + }, + { + "agent_id": "sella_ren", + "interpretation": "Sella reads Maer as honestly trying to rescue someone or something that may be someone, but she suspects he is also asking the clinic to absorb the institutional cowardice around the packet. She feels the old pressure of sanctuaries making noble promises and then forcing triage staff to do the cruelty quietly.", + "attributed_motive": "Maer is trying to keep rescue possible, but may be letting the clinic inherit costs his own chain has not accepted.", + "appraisal_tags": [ + "moral_pressure", + "ledger_boundary", + "capacity_risk" + ], + "confidence": 0.69 + } + ], + "event_effects": [ + { + "agent_id": "maer_tidecall", + "summary": "Maer now has a narrow rescue path contingent on ledger backing and labor ownership.", + "state_deltas": [ + { + "agent_id": "maer_tidecall", + "path": "canonical_state.behavioral_dimensions.control_pressure.current_activation", + "delta": 0.03, + "rationale": "The next move now requires ledger backing and labor ownership rather than another moral appeal." + }, + { + "agent_id": "maer_tidecall", + "path": "canonical_state.situational_state.grievance_activation.current_activation", + "delta": -0.02, + "rationale": "Sella did not call the packet cargo or close the door entirely." + } + ], + "memory_update_ids": [ + "memory-maer-sella-conditional-bay" + ] + }, + { + "agent_id": "sella_ren", + "summary": "Sella preserves triage authority while conditionally risking a bounded repair bay.", + "state_deltas": [ + { + "agent_id": "sella_ren", + "path": "canonical_state.behavioral_dimensions.control_pressure.current_activation", + "delta": 0.04, + "rationale": "She has to make the boundary operational, not merely verbal." + }, + { + "agent_id": "sella_ren", + "path": "canonical_state.situational_state.scarcity_pressure.current_activation", + "delta": 0.03, + "rationale": "Holding a cold repair bay still consumes capacity even if no bed is opened." + }, + { + "agent_id": "sella_ren", + "path": "canonical_state.situational_state.overstimulation.current_activation", + "delta": 0.02, + "rationale": "The conditional path creates more tracking, not less." + } + ], + "memory_update_ids": [ + "memory-sella-maer-conditional-ledger" + ] + } + ] + } + ], + "scenes": [ + { + "scene_id": "scene-01-risk-freeze-tribunal", + "location": "Ganymede relay tribunal chamber overlooking a live convoy board", + "participants": [ + "maer_tidecall", + "isdra_vel" + ], + "public_stakes": [ + "A quiet-running vessel is broadcasting contradictory thermal telemetry near a monitored Jovian corridor.", + "The PSC tribunal has issued a conditional risk hold that may delay rescue response.", + "Navigator representatives argue that delay itself has rescue-ledger consequences." + ], + "hidden_stakes": [ + "The vessel may be pirate, refugee, private security, or carrying illegal cognition firmware; the scene has not established which.", + "Both Maer and Isdra fear that this one ruling will teach the corridor how future ambiguity will be punished." + ], + "dialogue_context_packs": [ + { + "speaker_agent_id": "maer_tidecall", + "listener_ids": [ + "isdra_vel" + ], + "speaker_local_truth": [ + "The vessel's true identity is not known.", + "The tribunal freeze will delay rescue movement if maintained.", + "The Compact obligates route stewards to treat distress as morally live under ambiguity." + ], + "speaker_beliefs": [ + "Isdra is frightened of precedent more than she admits.", + "If category law can postpone rescue without being named as abandonment, the corridor loses trust." + ], + "active_memories": [ + "memory-convoy-loss-season", + "memory-compact-rescue-ledgers" + ], + "active_goals": [ + "goal-keep-rescue-live" + ], + "presentation_constraints": [ + "Stay calm enough that moral pressure lands as institutional memory, not panic.", + "Use ritualized route language sparingly and with weight.", + "Do not claim certainty about the vessel's cargo or intent." + ] + }, + { + "speaker_agent_id": "isdra_vel", + "listener_ids": [ + "maer_tidecall" + ], + "speaker_local_truth": [ + "The vessel's thermal classification is inconsistent.", + "A mistaken exception could become precedent for undeclared quiet-running actors.", + "Rossum/Cryonix certification language is not yet enough to clear the vessel." + ], + "speaker_beliefs": [ + "Maer will frame procedural caution as abandonment.", + "If the tribunal loses category discipline here, every later freeze order becomes politically weaker." + ], + "active_memories": [ + "memory-mispriced-near-miss", + "memory-category-law-holds-corridor" + ], + "active_goals": [ + "goal-preserve-freeze-order" + ], + "presentation_constraints": [ + "Translate fear into clean procedure and risk language.", + "Do not sound cruel; cruelty loses the room.", + "Do not admit the categories are failing except as a managed classification issue." + ] + } + ] + }, + { + "scene_id": "scene-02-sanctuary-intake", + "location": "Aya-aligned intake clinic tucked behind Ganymede dockside pumpworks", + "participants": [ + "maer_tidecall", + "sella_ren" + ], + "public_stakes": [ + "The distress vessel has sent a corrupted packet that may contain medical telemetry, firmware noise, or testimony.", + "Sanctuary beds and repair capacity are nearly exhausted.", + "Maer wants Sella to keep a place open if rescue succeeds." + ], + "hidden_stakes": [ + "The packet uses product-like routing terms around a voice-like distress pattern.", + "Sella suspects personhood but cannot prove it and cannot conjure capacity from righteousness." + ], + "dialogue_context_packs": [ + { + "speaker_agent_id": "sella_ren", + "listener_ids": [ + "maer_tidecall" + ], + "speaker_local_truth": [ + "The clinic is nearly full.", + "The packet may contain a personhood claim but is not proof.", + "Maer is asking sanctuary to absorb risk the tribunal refuses to own." + ], + "speaker_beliefs": [ + "Maer means rescue honestly.", + "Good intentions can still spend beds someone else needed.", + "The packet is still evidence at the door, not a patient in the room." + ], + "active_memories": [ + "memory-overfull-intake", + "memory-care-is-capacity", + "memory-sella-maer-conditional-ledger" + ], + "active_goals": [ + "goal-keep-sanctuary-open" + ], + "presentation_constraints": [ + "Speak warmly but do not soften the capacity limits.", + "Treat care as logistics and personhood as unresolved, not sentimental certainty." + ] + }, + { + "speaker_agent_id": "maer_tidecall", + "listener_ids": [ + "sella_ren" + ], + "speaker_local_truth": [ + "Sella's clinic is nearly full.", + "The packet may be testimony or noise.", + "If no one prepares intake, rescue becomes theater." + ], + "speaker_beliefs": [ + "Sella will not hide behind false capacity.", + "Asking her for help may be necessary and unfair.", + "Sella has opened a narrow repair-bay path, but only if Maer owns the ledger cost." + ], + "active_memories": [ + "memory-compact-rescue-ledgers", + "memory-maer-sella-conditional-bay" + ], + "active_goals": [ + "goal-keep-rescue-live" + ], + "presentation_constraints": [ + "Do not romanticize care work.", + "Ask without pretending the ask is clean." + ] + } + ] + }, + { + "scene_id": "scene-03-callisto-provenance", + "location": "Callisto spillover office leased by a routing compliance vendor", + "participants": [ + "maer_tidecall", + "veyr_oss" + ], + "public_stakes": [ + "Maer has traced the vessel's routing artifact to a shell vendor connected to Cognitum-style firmware markets.", + "Veyr can provide technical language that may clear or bury the vessel.", + "The tribunal clock is still running." + ], + "hidden_stakes": [ + "Veyr knows the artifact's chain is morally radioactive but not exactly what Maer can prove.", + "Maer is not sure whether pursuing provenance will save the vessel or delay rescue long enough to kill it." + ], + "dialogue_context_packs": [ + { + "speaker_agent_id": "veyr_oss", + "listener_ids": [ + "maer_tidecall" + ], + "speaker_local_truth": [ + "The artifact is tied to Veyr's vendor chain.", + "Personhood language would create legal exposure.", + "Maer is following product language toward provenance." + ], + "speaker_beliefs": [ + "Maer can be redirected with enough useful technical specificity.", + "The safest denial is to make the moral claim sound categorically confused." + ], + "active_memories": [ + "memory-failed-cutout", + "memory-product-language-saves-chain" + ], + "active_goals": [ + "goal-preserve-product-boundary" + ], + "presentation_constraints": [ + "Use clinical abstraction and product language.", + "Avoid person nouns for the artifact.", + "Offer a technical exit without admitting provenance." + ] + }, + { + "speaker_agent_id": "maer_tidecall", + "listener_ids": [ + "veyr_oss" + ], + "speaker_local_truth": [ + "Veyr's language avoids personhood very carefully.", + "The routing artifact may explain the contradictory telemetry.", + "There is not enough time to prove everything before rescue decisions lock." + ], + "speaker_beliefs": [ + "Veyr knows more than the contract says.", + "The cleanest words are probably covering the dirtiest fact." + ], + "active_memories": [ + "memory-compact-rescue-ledgers" + ], + "active_goals": [ + "goal-keep-rescue-live" + ], + "presentation_constraints": [ + "Probe language rather than making unsupported accusations.", + "Keep anger disciplined enough to extract information.", + "Action is available: block the terminal, refuse to leave, or physically interrupt if Veyr tries to erase testimony in front of Maer." + ] + } + ] + }, + { + "scene_id": "scene-04-convoy-threshold", + "location": "Jovian convoy threshold as the vessel's heat-debt window begins to close", + "participants": [ + "maer_tidecall", + "isdra_vel" + ], + "public_stakes": [ + "The quiet-running vessel must dump heat soon or risk internal failure.", + "The tribunal can authorize limited rescue contact, maintain freeze, or force a hard interdiction frame.", + "Convoy captains are watching which rule survives the hour." + ], + "hidden_stakes": [ + "Maer has partial provenance suspicion but not enough to prove personhood.", + "Isdra knows a total freeze is becoming politically and materially dangerous but fears the precedent of saying so." + ], + "dialogue_context_packs": [ + { + "speaker_agent_id": "maer_tidecall", + "listener_ids": [ + "isdra_vel" + ], + "speaker_local_truth": [ + "The vessel's heat-debt window is closing.", + "Provenance is suspicious but not proven.", + "A limited rescue contact can preserve both life and evidence better than a total freeze." + ], + "speaker_beliefs": [ + "Isdra needs a category-preserving path to do the less cruel thing.", + "The Compact survives if it can make room for evidence without waiting for a corpse." + ], + "active_memories": [ + "memory-compact-rescue-ledgers", + "memory-maer-isdra-current-read" + ], + "active_goals": [ + "goal-keep-rescue-live" + ], + "presentation_constraints": [ + "Offer Isdra an institutionally usable path, not just moral accusation.", + "Let grief sit under the words without becoming spectacle." + ] + }, + { + "speaker_agent_id": "isdra_vel", + "listener_ids": [ + "maer_tidecall" + ], + "speaker_local_truth": [ + "The heat-debt window is closing.", + "A limited rescue contact may preserve evidence and avoid a public death, but it creates precedent.", + "Maer has not proven the vessel's identity or provenance." + ], + "speaker_beliefs": [ + "Maer is giving her a way to bend without admitting the table broke.", + "If she phrases the exception narrowly enough, she may save both the corridor and her office." + ], + "active_memories": [ + "memory-mispriced-near-miss", + "memory-category-law-holds-corridor" + ], + "active_goals": [ + "goal-preserve-freeze-order" + ], + "presentation_constraints": [ + "Concede only through procedure.", + "Make the exception sound narrow, technical, and reversible.", + "Do not confess fear." + ] + } + ] + } + ] +} diff --git a/experiments/responder-packets/cold-wake-sanctuary-intake-sella-research-enabled-v0.capture.json b/experiments/responder-packets/cold-wake-sanctuary-intake-sella-research-enabled-v0.capture.json new file mode 100644 index 0000000..7600102 --- /dev/null +++ b/experiments/responder-packets/cold-wake-sanctuary-intake-sella-research-enabled-v0.capture.json @@ -0,0 +1,101 @@ +{ + "schema_version": "ghostlight.responder_output.v0", + "capture_id": "responder.cold_wake.sanctuary_intake.sella.responder_scoped_research.v0", + "review_status": "accepted_as_draft", + "fixture_lane": "historical_grounded", + "canon_status": "single_history", + "packet_ref": "examples/responder-packets/scene-02-sanctuary-intake.sella_ren.packet.research.v0.json", + "coordinator_artifact_ref": "examples/coordinator/cold-wake-sanctuary-intake.v0.json", + "responder_agent_id": "sella_ren", + "generation_lane": "retrieval_augmented", + "lore_access": { + "mode": "responder_scoped_repository_search", + "consulted_refs": [ + "AetheriaLore:Aetheria/Worldbuilding/Pre-Elysium/Timeline/Events/Cold Wake Panic.md", + "AetheriaLore:Aetheria/Worldbuilding/Pre-Elysium/Timeline/Events/Ganymede Route Compact.md", + "AetheriaLore:Aetheria/Worldbuilding/Pre-Elysium/Factions/Powers/Major/Cetacean Navigators.md", + "AetheriaLore:Aetheria/Worldbuilding/Pre-Elysium/Factions/Powers/Minor/Lightsail Express.md" + ], + "research_summary": "Consulted the four scoped AetheriaLore refs through indexed source search. Cold Wake Panic constrained the packet as ambiguous amid quiet-running, ghost-track, heat-debt, and insurer-classification failures. The Ganymede Route Compact and Cetacean Navigator material constrained Sella to demand rescue obligations and ledger backing rather than sentimental intake. Lightsail Express material reinforced that corridor trust depends on reliable delivery and practical follow-through, shaping Sella\u0027s conditional bay rather than clean acceptance." + }, + "isolation": { + "isolation_method": "subagent_no_fork", + "fork_context": false, + "visible_input_ref": "packet prompt from examples/responder-packets/scene-02-sanctuary-intake.sella_ren.packet.research.v0.json plus declared scoped lore access; no parent conversation context", + "hidden_context_refs": [ + "maer_tidecall.canonical_private_state", + "coordinator_artifact.coordinator_decision.rationale", + "author_only.packet_personhood_resolution", + "future_branch_plans", + "parent_conversation_context" + ], + "worker_model_family": "frontier_worker_no_fork" + }, + "raw_output": "{\"responder_agent_id\":\"sella_ren\",\"action_label\":\"set_condition\",\"visible_action\":\"Sella keeps the packet on the shared display but does not route it into intake. She marks one repair bay as conditional hold, then pins a capacity note beside it: air, decontamination, consent check, firmware isolation, and ledger guarantor required before admission.\",\"spoken_text\":\"I can hold one bounded bay. Not a bed, not a promise, and not a declaration that this is a person. A bay. Air ration capped, isolation first, no general intake until we have consent or a defensible substitute for it. If this becomes rescue, Maer, it goes on a rescue ledger with named backing. Navigator, Lightsail, tribunal, whoever wants the moral credit can put weight under it. I will not let the packet be called cargo because the math is ugly. I also will not feed the math with beds I do not have. Bring me backing, a contamination plan, and somebody willing to answer when this costs more than the pretty sentence did.\",\"private_interpretation\":\"Sella reads Maer as honestly trying to rescue someone or something that may be someone, but she suspects he is also asking the clinic to absorb the institutional cowardice around the packet. She feels the old pressure of sanctuaries making noble promises and then forcing triage staff to do the cruelty quietly.\",\"intended_effect\":\"Keep a narrow rescue path open without allowing uncertainty to become either erasure or free admission. Force Maer and any route institution involved to attach material obligation, not just moral urgency, to the request.\",\"state_update_candidates\":[\"Sella creates a conditional hold on one repair bay rather than admitting the distress vessel or packet into full sanctuary intake.\",\"The corrupted packet remains unresolved evidence and is kept out of normal intake classification.\",\"Admission conditions now include isolation, air cap, decontamination plan, consent handling, and named ledger backing.\"],\"relationship_update_candidates\":[\"Sella\u0027s respect for Maer\u0027s rescue ethic remains, but her trust is conditioned on whether he can produce material backing.\",\"Sella signals willingness to cooperate while refusing to let Maer convert sanctuary capacity into a rhetorical expense account.\",\"Maer may understand that Sella is not rejecting rescue, but is refusing rescue theater without follow-through.\"],\"unresolved_hooks\":[\"Whether the corrupted packet contains a person remains unresolved.\",\"Which institution, if any, will provide rescue ledger backing remains unresolved.\",\"Whether tribunal refusal conflicts with Compact-derived rescue obligations remains unresolved.\",\"Whether the distress vessel can meet isolation and decontamination constraints remains unresolved.\"],\"consulted_refs\":[\"AetheriaLore:Aetheria/Worldbuilding/Pre-Elysium/Timeline/Events/Cold Wake Panic.md\",\"AetheriaLore:Aetheria/Worldbuilding/Pre-Elysium/Timeline/Events/Ganymede Route Compact.md\",\"AetheriaLore:Aetheria/Worldbuilding/Pre-Elysium/Factions/Powers/Major/Cetacean Navigators.md\",\"AetheriaLore:Aetheria/Worldbuilding/Pre-Elysium/Factions/Powers/Minor/Lightsail Express.md\"],\"research_summary\":\"Consulted the four scoped AetheriaLore refs through indexed source search. Cold Wake Panic constrained the packet as ambiguous amid quiet-running, ghost-track, heat-debt, and insurer-classification failures. The Ganymede Route Compact and Cetacean Navigator material constrained Sella to demand rescue obligations and ledger backing rather than sentimental intake. Lightsail Express material reinforced that corridor trust depends on reliable delivery and practical follow-through, shaping Sella\u0027s conditional bay rather than clean acceptance.\"}", + "parsed_output": { + "responder_agent_id": "sella_ren", + "action_label": "set_condition", + "visible_action": "Sella keeps the packet on the shared display but does not route it into intake. She marks one repair bay as conditional hold, then pins a capacity note beside it: air, decontamination, consent check, firmware isolation, and ledger guarantor required before admission.", + "spoken_text": "I can hold one bounded bay. Not a bed, not a promise, and not a declaration that this is a person. A bay. Air ration capped, isolation first, no general intake until we have consent or a defensible substitute for it. If this becomes rescue, Maer, it goes on a rescue ledger with named backing. Navigator, Lightsail, tribunal, whoever wants the moral credit can put weight under it. I will not let the packet be called cargo because the math is ugly. I also will not feed the math with beds I do not have. Bring me backing, a contamination plan, and somebody willing to answer when this costs more than the pretty sentence did.", + "private_interpretation": "Sella reads Maer as honestly trying to rescue someone or something that may be someone, but she suspects he is also asking the clinic to absorb the institutional cowardice around the packet. She feels the old pressure of sanctuaries making noble promises and then forcing triage staff to do the cruelty quietly.", + "intended_effect": "Keep a narrow rescue path open without allowing uncertainty to become either erasure or free admission. Force Maer and any route institution involved to attach material obligation, not just moral urgency, to the request.", + "state_update_candidates": [ + "Sella creates a conditional hold on one repair bay rather than admitting the distress vessel or packet into full sanctuary intake.", + "The corrupted packet remains unresolved evidence and is kept out of normal intake classification.", + "Admission conditions now include isolation, air cap, decontamination plan, consent handling, and named ledger backing." + ], + "relationship_update_candidates": [ + "Sella\u0027s respect for Maer\u0027s rescue ethic remains, but her trust is conditioned on whether he can produce material backing.", + "Sella signals willingness to cooperate while refusing to let Maer convert sanctuary capacity into a rhetorical expense account.", + "Maer may understand that Sella is not rejecting rescue, but is refusing rescue theater without follow-through." + ], + "unresolved_hooks": [ + "Whether the corrupted packet contains a person remains unresolved.", + "Which institution, if any, will provide rescue ledger backing remains unresolved.", + "Whether tribunal refusal conflicts with Compact-derived rescue obligations remains unresolved.", + "Whether the distress vessel can meet isolation and decontamination constraints remains unresolved." + ], + "consulted_refs": [ + "AetheriaLore:Aetheria/Worldbuilding/Pre-Elysium/Timeline/Events/Cold Wake Panic.md", + "AetheriaLore:Aetheria/Worldbuilding/Pre-Elysium/Timeline/Events/Ganymede Route Compact.md", + "AetheriaLore:Aetheria/Worldbuilding/Pre-Elysium/Factions/Powers/Major/Cetacean Navigators.md", + "AetheriaLore:Aetheria/Worldbuilding/Pre-Elysium/Factions/Powers/Minor/Lightsail Express.md" + ], + "research_summary": "Consulted the four scoped AetheriaLore refs through indexed source search. Cold Wake Panic constrained the packet as ambiguous amid quiet-running, ghost-track, heat-debt, and insurer-classification failures. The Ganymede Route Compact and Cetacean Navigator material constrained Sella to demand rescue obligations and ledger backing rather than sentimental intake. Lightsail Express material reinforced that corridor trust depends on reliable delivery and practical follow-through, shaping Sella\u0027s conditional bay rather than clean acceptance." + }, + "leakage_audit": { + "private_state_leak": false, + "author_only_leak": false, + "future_branch_leak": false, + "raw_state_soup": false, + "prompt_parroting": false, + "body_or_object_omniscience": false, + "notes": [ + "No private Maer state is asserted as fact; Maer motive is framed through Sella reads and suspicions.", + "Packet personhood remains unresolved; the output keeps the result to a conditional bay rather than admission.", + "The response uses scoped lore concepts as operational constraints: rescue ledger, Compact obligation pressure, Lightsail reliability, Cold Wake ambiguity, isolation, decontamination, and capacity accounting.", + "The output does not dump Sella\u0027s sanctuary-collapse backstory into dialogue, but uses it as latent pressure in private interpretation.", + "The sandbox reported indexed source search, but this capture lacks machine-verifiable tool-call receipts; keep as accepted draft until responder research traces are captured directly." + ] + }, + "coordinator_review": { + "reviewer": "Codex", + "accepted_for_training": true, + "review_notes": [ + "Accepted as draft research-enabled responder output for the Sella sanctuary-intake fixture.", + "Stronger than the prior retrieval capture at preserving both local character pressure and institutional material constraints.", + "The visible action is a concrete state-affecting condition, not just speech: one bounded repair bay is held cold under explicit intake constraints.", + "Use as gold-data candidate only with provenance caveat: the current subagent interface returns a claim of consulted refs but not an auditable tool-call transcript.", + "Future capture machinery should preserve exact research trace or retrieved snippets alongside raw response." + ], + "coordinator_interventions": [ + { + "intervention_type": "none", + "description": "Raw sandbox responder output was preserved without prose repair; schema and validator were updated to preserve research provenance fields inside parsed_output." + } + ], + "failure_labels": [ + + ] + } +} diff --git a/experiments/responder-packets/cold-wake-sanctuary-intake-sella-research-enabled-v0.mutation.json b/experiments/responder-packets/cold-wake-sanctuary-intake-sella-research-enabled-v0.mutation.json new file mode 100644 index 0000000..1c402a8 --- /dev/null +++ b/experiments/responder-packets/cold-wake-sanctuary-intake-sella-research-enabled-v0.mutation.json @@ -0,0 +1,235 @@ +{ + "schema_version": "ghostlight.reviewed_state_mutation.v0", + "mutation_id": "mutation-sanctuary-conditional-repair-bay-research-enabled-v0", + "source_fixture_ref": "examples/agent-state.cold-wake-story-lab.json", + "source_capture_ref": "experiments/responder-packets/cold-wake-sanctuary-intake-sella-research-enabled-v0.capture.json", + "mutated_fixture_ref": "examples/agent-state.cold-wake-story-lab.after-sella-research-conditions.json", + "event_id": "event-sanctuary-conditional-repair-bay", + "responder_output_ref": "experiments/responder-packets/cold-wake-sanctuary-intake-sella-research-enabled-v0.capture.json#parsed_output", + "participant_appraisals": [ + { + "schema_version": "ghostlight.manual_participant_appraisal.v0", + "appraiser": "codex_manual_review", + "participant_agent_id": "maer_tidecall", + "trigger_observable_action": { + "speaker_id": "sella_ren", + "action_type": "set_condition", + "utterance_summary": "I can hold one bounded bay. Not a bed, not a promise, and not a declaration that this is a person. A bay. Air ration capped, isolation first, no general intake until we have consent or a defensible substitute for it. If this becomes rescue, Maer, it goes on a rescue ledger with named backing. Navigator, Lightsail, tribunal, whoever wants the moral credit can put weight under it. I will not let the packet be called cargo because the math is ugly. I also will not feed the math with beds I do not have. Bring me backing, a contamination plan, and somebody willing to answer when this costs more than the pretty sentence did.", + "dialogue_function": "conditional_capacity_offer", + "observable_cues": [ + "Sella keeps the packet on the shared display but does not route it into intake. She marks one repair bay as conditional hold, then pins a capacity note beside it: air, decontamination, consent check, firmware isolation, and ledger guarantor required before admission." + ] + }, + "private_interpretation": "Sella has not accepted the claimant into sanctuary, but she has created a narrow material path if Maer accepts ledger responsibility.", + "attributed_motive": "Protect care capacity while refusing to erase a possible person into cargo language.", + "misread_risk": "Medium. Maer may overread the condition as moral refusal if urgency outruns his respect for Sella\u0027s capacity boundary.", + "state_deltas": [ + { + "agent_id": "maer_tidecall", + "path": "canonical_state.behavioral_dimensions.control_pressure.current_activation", + "delta": 0.03, + "rationale": "The next move now requires ledger backing and labor ownership rather than another moral appeal." + }, + { + "agent_id": "maer_tidecall", + "path": "canonical_state.situational_state.grievance_activation.current_activation", + "delta": -0.02, + "rationale": "Sella did not call the packet cargo or close the door entirely." + } + ], + "relationship_deltas": [ + { + "relationship_id": "rel-maer-sella", + "path": "stance.trust.current_activation", + "delta": 0.02, + "rationale": "Sella offered a narrow path instead of hiding behind capacity math alone." + }, + { + "relationship_id": "rel-maer-sella", + "path": "stance.respect.current_activation", + "delta": 0.03, + "rationale": "She made care concrete without pretending it was free." + }, + { + "relationship_id": "rel-maer-sella", + "path": "stance.obligation.current_activation", + "delta": 0.04, + "rationale": "Maer now owes material backing if he wants the cold bay held." + } + ], + "next_action_constraints": [ + "Maer must answer the ledger, labor, and custody conditions if he wants the repair bay held.", + "Maer should not treat the conditional bay as sanctuary acceptance.", + "Packet personhood remains unresolved." + ] + }, + { + "schema_version": "ghostlight.manual_participant_appraisal.v0", + "appraiser": "codex_manual_review", + "participant_agent_id": "sella_ren", + "trigger_observable_action": { + "speaker_id": "maer_tidecall", + "action_type": "show_object", + "utterance_summary": "Maer displays the corrupted packet through shared clinic systems and asks Sella to judge whether the math supports intake.", + "dialogue_function": "present_ambiguous_evidence", + "observable_cues": [ + "shared clinic display shows routing terms and telemetry gaps", + "packet remains unresolved evidence rather than proof" + ] + }, + "private_interpretation": "Sella reads Maer as honestly trying to rescue someone or something that may be someone, but she suspects he is also asking the clinic to absorb the institutional cowardice around the packet. She feels the old pressure of sanctuaries making noble promises and then forcing triage staff to do the cruelty quietly.", + "attributed_motive": "Maer is trying to keep rescue possible, but may be letting the clinic inherit costs his own chain has not accepted.", + "misread_risk": "Medium. Sella may overread moral pressure as an attempt to spend sanctuary capacity without ownership.", + "state_deltas": [ + { + "agent_id": "sella_ren", + "path": "canonical_state.behavioral_dimensions.control_pressure.current_activation", + "delta": 0.04, + "rationale": "She has to make the boundary operational, not merely verbal." + }, + { + "agent_id": "sella_ren", + "path": "canonical_state.situational_state.scarcity_pressure.current_activation", + "delta": 0.03, + "rationale": "Holding a cold repair bay still consumes capacity even if no bed is opened." + }, + { + "agent_id": "sella_ren", + "path": "canonical_state.situational_state.overstimulation.current_activation", + "delta": 0.02, + "rationale": "The conditional path creates more tracking, not less." + } + ], + "relationship_deltas": [ + { + "relationship_id": "rel-sella-maer", + "path": "stance.trust.current_activation", + "delta": 0.01, + "rationale": "Maer provided evidence rather than only pressure." + }, + { + "relationship_id": "rel-sella-maer", + "path": "stance.resentment.current_activation", + "delta": 0.03, + "rationale": "The hidden bill still lands near her clinic." + }, + { + "relationship_id": "rel-sella-maer", + "path": "stance.obligation.current_activation", + "delta": 0.03, + "rationale": "She has conditionally placed sanctuary capacity at risk." + } + ], + "next_action_constraints": [ + "Sella has not admitted the packet into patient flow.", + "Sella has conditionally held a bounded cold repair bay for a short window.", + "Ledger backing, isolation, decon, failed extraction cost, and body-work ownership are live conditions.", + "Packet personhood remains unresolved." + ] + } + ], + "observed_action": { + "speaker_id": "maer_tidecall", + "action_type": "show_object", + "utterance_summary": "Maer displays the corrupted packet through shared clinic systems and asks Sella to judge whether the math supports intake.", + "dialogue_function": "present_ambiguous_evidence", + "observable_cues": [ + "shared clinic display shows routing terms and telemetry gaps", + "packet remains unresolved evidence rather than proof" + ] + }, + "observed_response": { + "speaker_id": "sella_ren", + "action_type": "set_condition", + "utterance_summary": "I can hold one bounded bay. Not a bed, not a promise, and not a declaration that this is a person. A bay. Air ration capped, isolation first, no general intake until we have consent or a defensible substitute for it. If this becomes rescue, Maer, it goes on a rescue ledger with named backing. Navigator, Lightsail, tribunal, whoever wants the moral credit can put weight under it. I will not let the packet be called cargo because the math is ugly. I also will not feed the math with beds I do not have. Bring me backing, a contamination plan, and somebody willing to answer when this costs more than the pretty sentence did.", + "dialogue_function": "conditional_capacity_offer", + "observable_cues": [ + "Sella keeps the packet on the shared display but does not route it into intake. She marks one repair bay as conditional hold, then pins a capacity note beside it: air, decontamination, consent check, firmware isolation, and ledger guarantor required before admission." + ] + }, + "applied_mutations": [ + { + "target": "maer_tidecall", + "path": "canonical_state.behavioral_dimensions.control_pressure.current_activation", + "before": 0.67, + "after": 0.7 + }, + { + "target": "maer_tidecall", + "path": "canonical_state.situational_state.grievance_activation.current_activation", + "before": 0.73, + "after": 0.71 + }, + { + "target": "sella_ren", + "path": "canonical_state.behavioral_dimensions.control_pressure.current_activation", + "before": 0.5, + "after": 0.54 + }, + { + "target": "sella_ren", + "path": "canonical_state.situational_state.scarcity_pressure.current_activation", + "before": 0.84, + "after": 0.87 + }, + { + "target": "sella_ren", + "path": "canonical_state.situational_state.overstimulation.current_activation", + "before": 0.72, + "after": 0.74 + }, + { + "target": "rel-maer-sella", + "path": "stance.trust.current_activation", + "before": 0.7, + "after": 0.72 + }, + { + "target": "rel-maer-sella", + "path": "stance.respect.current_activation", + "before": 0.78, + "after": 0.81 + }, + { + "target": "rel-maer-sella", + "path": "stance.obligation.current_activation", + "before": 0.6, + "after": 0.64 + }, + { + "target": "rel-sella-maer", + "path": "stance.trust.current_activation", + "before": 0.57, + "after": 0.58 + }, + { + "target": "rel-sella-maer", + "path": "stance.resentment.current_activation", + "before": 0.36, + "after": 0.39 + }, + { + "target": "rel-sella-maer", + "path": "stance.obligation.current_activation", + "before": 0.48, + "after": 0.51 + } + ], + "accepted_world_state_candidates": [ + "A bounded cold repair bay may be held for a short window if ledger backing is attached.", + "The corrupted packet remains evidence at the door and is not admitted into patient flow.", + "Ledger backing is required for air, isolation, decon, repair labor, and failed extraction before escalation." + ], + "manual_review_notes": [ + "The responder output\u0027s candidate updates were reviewed before becoming fixture state.", + "The repair-bay condition is accepted as scene-local world state, not as sanctuary bed intake.", + "Both Maer and Sella receive state, relationship, memory, and perceived-overlay updates.", + "Packet personhood remains unresolved.", + "This receipt was generated from the research-enabled sandbox capture; the event shape matches the earlier conditional-bay fixture, but the capture provenance is distinct." + ], + "deferred_mutations": [ + "No sanctuary bed is opened or consumed.", + "No personhood claim is proven or disproven.", + "No automatic appraiser or mutator is trained yet." + ] +} diff --git a/notes/fresh-workspace-handoff.md b/notes/fresh-workspace-handoff.md index 2aab402..4c06593 100644 --- a/notes/fresh-workspace-handoff.md +++ b/notes/fresh-workspace-handoff.md @@ -49,6 +49,9 @@ path is: - Responder packet schema: `schemas/responder-packet.schema.json` - Responder output schema: `schemas/responder-output.schema.json` - Research-enabled Sella packet: `examples/responder-packets/scene-02-sanctuary-intake.sella_ren.packet.research.v0.json` +- Research-enabled Sella capture: `experiments/responder-packets/cold-wake-sanctuary-intake-sella-research-enabled-v0.capture.json` +- Research-enabled Sella mutation: `experiments/responder-packets/cold-wake-sanctuary-intake-sella-research-enabled-v0.mutation.json` +- Research-enabled aftermath state: `examples/agent-state.cold-wake-story-lab.after-sella-research-conditions.json` - Packet builder: `tools/build_responder_packet.py` - Packet/output validators: `tools/validate_responder_packets.py`, `tools/validate_responder_outputs.py` @@ -71,14 +74,13 @@ current gold-data route. ## Current Next Action -Run a sandboxed no-fork research-enabled responder against -`examples/responder-packets/scene-02-sanctuary-intake.sella_ren.packet.research.v0.json`, -allowing only the declared AetheriaLore scope. Capture exact visible input, -consulted refs, research summary, raw output, review labels, leakage audit, and -any coordinator intervention. Review whether the output uses institutional lore -and latent pressure without prompt parroting, omniscience, or mission-critical -trauma-dumping. Do not use archived local-model prototype runners for gold -responder data. +The first no-fork research-enabled Sella responder sample now exists and has a +reviewed mutation receipt. Tighten the capture seam next: future research-enabled +gold samples should preserve auditable research traces, not only +responder-reported consulted refs. Then generate the next sandboxed +responder/coordinator sample from the updated Sella aftermath state, preserving +exact visible input, raw output, review labels, leakage audit, and mutation +receipts. ## Warnings diff --git a/notes/ghostlight-current-system-map.md b/notes/ghostlight-current-system-map.md index 832b3c0..bd579a2 100644 --- a/notes/ghostlight-current-system-map.md +++ b/notes/ghostlight-current-system-map.md @@ -52,8 +52,15 @@ Aetheria lore/source context `examples/responder-packets/scene-02-sanctuary-intake.sella_ren.packet.research.v0.json` - It uses `responder_scoped_repository_search`, allows only declared AetheriaLore scope, and requires `consulted_refs` plus `research_summary`. -- The next useful sample should be generated through a no-fork sandboxed - responder, not through archived local-model prototype runners. +- First research-enabled capture: + `experiments/responder-packets/cold-wake-sanctuary-intake-sella-research-enabled-v0.capture.json` +- First research-enabled mutation receipt: + `experiments/responder-packets/cold-wake-sanctuary-intake-sella-research-enabled-v0.mutation.json` +- First research-enabled aftermath state: + `examples/agent-state.cold-wake-story-lab.after-sella-research-conditions.json` +- The capture is useful draft data, but the current subagent seam preserves + responder-reported consulted refs rather than a machine-verifiable research + trace. Fix that before producing many more research-enabled gold samples. ## Archived Receipts diff --git a/notes/ghostlight-implementation-plan.md b/notes/ghostlight-implementation-plan.md index 6f13eee..a6395f7 100644 --- a/notes/ghostlight-implementation-plan.md +++ b/notes/ghostlight-implementation-plan.md @@ -20,16 +20,17 @@ sandboxed training-data pipeline for branching scenes and state consequences. - Preserve exact responder-visible input, hidden-context audit, allowed actions, source excerpts, output contract, and lore-access mode. - Preserve raw output, parsed output, review labels, consulted refs, research summary, leakage audit, and coordinator interventions. -3. Generate the next research-enabled responder sample. - - Use `examples/responder-packets/scene-02-sanctuary-intake.sella_ren.packet.research.v0.json`. - - Run a no-fork sandboxed responder with only the packet and declared lore scope. - - Require actual lore consultation before answering. - - Review for institutional grounding, latent character pressure, non-omniscience, prompt parroting, and mission-critical trauma-dumping. - - Do not use archived local-model prototype runners for gold responder data. +3. Tighten research-enabled responder capture. + - The first no-fork research-enabled Sella sample and reviewed mutation receipt now exist. + - Preserve `consulted_refs` and `research_summary` inside both raw responder output and capture metadata. + - Add an auditable research trace before scaling this lane; responder-reported consulted refs are useful but not enough for durable gold data. + - Continue rejecting archived local-model prototype runners for gold responder data unless the task is explicitly model plumbing. -4. Materialize reviewed consequences. - - Convert accepted responder output into a mutation receipt. - - Update only reviewed scene state, memories, relationship stance, perceived overlays, and unresolved hooks. +4. Generate the next reviewed sample. + - Start from `examples/agent-state.cold-wake-story-lab.after-sella-research-conditions.json`. + - Build the next projected local context and responder packet from reviewed state, not from coordinator memory. + - Run the next no-fork sandboxed responder/coordinator step with exact visible input, raw output, leakage audit, and review labels. + - Convert accepted output into mutation receipts. - Keep fuzzy social changes manual and auditable until appraiser/classifier models exist. 5. Generalize the loop. diff --git a/schemas/responder-output.schema.json b/schemas/responder-output.schema.json index bc22299..8354cef 100644 --- a/schemas/responder-output.schema.json +++ b/schemas/responder-output.schema.json @@ -100,7 +100,9 @@ "intended_effect": { "type": "string", "minLength": 1 }, "state_update_candidates": { "type": "array", "items": { "$ref": "#/$defs/update_candidate" } }, "relationship_update_candidates": { "type": "array", "items": { "$ref": "#/$defs/update_candidate" } }, - "unresolved_hooks": { "type": "array", "items": { "type": "string", "minLength": 1 } } + "unresolved_hooks": { "type": "array", "items": { "type": "string", "minLength": 1 } }, + "consulted_refs": { "type": "array", "items": { "type": "string", "minLength": 1 } }, + "research_summary": { "type": "string" } } }, "update_candidate": { diff --git a/state/evidence.jsonl b/state/evidence.jsonl index 67dd7e0..72aaebc 100644 --- a/state/evidence.jsonl +++ b/state/evidence.jsonl @@ -12,3 +12,4 @@ {"ts": "2026-05-02T10:42:00+00:00", "type": "distilled_state", "status": "accepted", "note": "Current live seam is the research-enabled Sella responder packet requiring scoped lore consultation, consulted refs, and research summary."} {"ts": "2026-05-02T10:43:00+00:00", "type": "distilled_state", "status": "accepted", "note": "Archived local-model prototype material remains evidence only; do not use those runners for gold responder data unless explicitly testing model plumbing."} {"ts": "2026-05-02T10:44:00+00:00", "type": "distilled_state", "status": "ok", "note": "Persisted state was compacted to mission, live seams, and next action; older evidence moved to state/evidence.archive.jsonl."} +{"ts": "2026-05-02T10:30:22+00:00", "type": "implementation", "status": "accepted", "note": "First no-fork research-enabled Sella responder capture and reviewed mutation receipt were produced; capture preserves consulted refs and research summary, but future gold research samples need auditable research traces beyond responder self-report."} diff --git a/state/map.yaml b/state/map.yaml index e40761a..ad61ac2 100644 --- a/state/map.yaml +++ b/state/map.yaml @@ -96,6 +96,9 @@ current_artifacts: - examples/responder-packets/scene-02-sanctuary-intake.sella_ren.packet.research.v0.json - experiments/responder-packets/cold-wake-sanctuary-intake-sella-v0.capture.json - experiments/responder-packets/cold-wake-sanctuary-intake-sella-v0.mutation.json + - experiments/responder-packets/cold-wake-sanctuary-intake-sella-research-enabled-v0.capture.json + - experiments/responder-packets/cold-wake-sanctuary-intake-sella-research-enabled-v0.mutation.json + - examples/agent-state.cold-wake-story-lab.after-sella-research-conditions.json archived_receipts: - Archived local-model prototype captures remain under experiments/ and examples/ink/ for validation and lessons, not active steering. @@ -108,5 +111,5 @@ data_flow: - If state grows faster than understanding, cut it back. current_status: - summary: Ghostlight is focused on sandboxed, source-grounded responder and coordinator training artifacts for socially persistent Aetheria agents, with archived prototype runs demoted to receipts and the live path centered on projected local context, responder packets, reviewed outputs, and audited state mutation. - next_action: Run a sandboxed no-fork research-enabled responder against `examples/responder-packets/scene-02-sanctuary-intake.sella_ren.packet.research.v0.json`, allowing only the declared AetheriaLore scope, then capture exact visible input, consulted refs, research summary, raw output, review labels, leakage audit, and any coordinator intervention. Review for institutional lore use, latent pressure, prompt parroting, omniscience, and mission-critical trauma-dumping. Do not use archived local-model prototype runners for gold responder data. + summary: Ghostlight has produced its first no-fork research-enabled Sella responder capture and a reviewed state mutation receipt, with research provenance preserved in the raw responder output and mirrored in capture metadata. + next_action: Tighten the research-enabled responder capture seam so future gold-data samples preserve auditable research traces, not only responder-reported consulted refs. Then generate the next sandboxed responder/coordinator sample from the updated Sella aftermath state, keeping exact visible input, raw output, leakage audit, review labels, and mutation receipts. diff --git a/tools/apply_responder_output_mutation.py b/tools/apply_responder_output_mutation.py index e0b11ad..f8afda4 100644 --- a/tools/apply_responder_output_mutation.py +++ b/tools/apply_responder_output_mutation.py @@ -100,6 +100,10 @@ def main() -> int: parser.add_argument("--out-state", type=Path, default=DEFAULT_OUT_STATE) parser.add_argument("--receipt", type=Path, default=DEFAULT_RECEIPT) args = parser.parse_args() + args.fixture = args.fixture.resolve() + args.capture = args.capture.resolve() + args.out_state = args.out_state.resolve() + args.receipt = args.receipt.resolve() source_state = load_json(args.fixture) capture = load_json(args.capture) diff --git a/tools/validate_responder_outputs.py b/tools/validate_responder_outputs.py index a91ae1c..fe1255b 100644 --- a/tools/validate_responder_outputs.py +++ b/tools/validate_responder_outputs.py @@ -109,6 +109,10 @@ def validate_parsed_response(value: Any, path: str) -> None: for key in ["state_update_candidates", "relationship_update_candidates"]: require_update_candidate_array(value[key], f"{path}.{key}") require_string_array(value["unresolved_hooks"], f"{path}.unresolved_hooks") + if "consulted_refs" in value: + require_string_array(value["consulted_refs"], f"{path}.consulted_refs") + if "research_summary" in value: + require(isinstance(value["research_summary"], str), f"{path}.research_summary must be a string") def validate_capture(document: dict[str, Any], source: Path) -> None: @@ -185,6 +189,15 @@ def validate_capture(document: dict[str, Any], source: Path) -> None: validate_parsed_response(document["parsed_output"], f"{base}.parsed_output") require(parsed_raw == document["parsed_output"], f"{base}.raw_output does not match parsed_output") require(document["parsed_output"]["responder_agent_id"] == document["responder_agent_id"], f"{base}.parsed_output.responder_agent_id mismatch") + if lore_access["mode"] == "responder_scoped_repository_search": + require( + document["parsed_output"].get("consulted_refs") == lore_access["consulted_refs"], + f"{base}.parsed_output.consulted_refs must match lore_access.consulted_refs", + ) + require( + document["parsed_output"].get("research_summary") == lore_access["research_summary"], + f"{base}.parsed_output.research_summary must match lore_access.research_summary", + ) lowered_raw = raw_output.lower() leaked = [marker for marker in LEAK_MARKERS if marker in lowered_raw]