Exercise sandboxed IF branch pilot
This commit is contained in:
parent
8b69c3ada8
commit
93511fd29e
22 changed files with 1370 additions and 283 deletions
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"reviewer_id": "ghostlight_lore_grounding_reviewer",
|
||||
"artifact_ref": "E:\\Projects\\Ghostlight\\examples\\ink\\lucent-hostage-feed.negotiator-branch.v1.ink; E:\\Projects\\Ghostlight\\examples\\ink\\lucent-hostage-feed.negotiator-branch.v1.training.json",
|
||||
"overall_status": "accepted_with_minor_revisions",
|
||||
"source_coverage_score": 4,
|
||||
"canon_fit_score": 4,
|
||||
"grounding_quality_score": 5,
|
||||
"vault_backfill_value_score": 4,
|
||||
"canon_drift_findings": [],
|
||||
"required_story_revisions": [],
|
||||
"required_lore_patches": [],
|
||||
"vault_backfill_candidates": [
|
||||
"Lucent crisis feed protocols: public/private rails, custody seals, delay controls, influencer side-panel routing, lower-third reframing, sponsor-risk prompts, visible security posture.",
|
||||
"Reality Architect junior operational roles: feed-scaffold technicians, overlay auditors, packet-routing staff.",
|
||||
"Lucent creator contracts: debt review, appeal windows, wellness initiatives, moderation insurance, visibility boosts, legal protection, reputation-indexed control.",
|
||||
"Lucent media-eye tether station / glass transfer lounge as reusable orbital broadcast set-piece, if future fixtures need it."
|
||||
],
|
||||
"acceptance_notes": ["B-level lore acceptance: every relevant score is at least 4 and no major canon drift was found.", "Remaining issues are mostly vault-backfill needs, not story blockers."]
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"reviewer_id": "ghostlight_lore_grounding_reviewer",
|
||||
"artifact_ref": "E:\\Projects\\Ghostlight\\examples\\ink\\lucent-hostage-feed.negotiator-branch.v1.ink plus E:\\Projects\\Ghostlight\\examples\\ink\\lucent-hostage-feed.negotiator-branch.v1.training.json",
|
||||
"overall_status": "accepted_with_minor_revisions",
|
||||
"source_coverage_score": 4,
|
||||
"canon_fit_score": 4,
|
||||
"grounding_quality_score": 5,
|
||||
"vault_backfill_value_score": 4,
|
||||
"source_gaps": ["Specific eye-and-city-bubble tethered counterweight station is scene-local staging canon, not yet an AetheriaLore infrastructure type.", "Evidence freeze/arbitration packet custody and Lucent crisis negotiation protocol are plausible but not directly sourced as legal or operational canon.", "Fixture should be pinned to early Existential Collapse if mature Lagrange/orbital broadcast power is essential."],
|
||||
"canon_drift_findings": [],
|
||||
"unsupported_claims": ["Exact creator debt/arbitration machinery is more specific than checked Lucent source currently supports."],
|
||||
"vault_backfill_candidates": ["Lucent orbital set-piece habitats and tethered broadcast stations", "Lucent creator contracts and arbitration visibility as extraction", "Junior Reality Architects as format/feed technicians", "Lucent crisis coverage tools as governance"],
|
||||
"training_labels": ["source_grounded", "strong_material_lore", "strong_faction_pressure", "strong_infrastructure_grounding", "vault_backfill_candidate", "lore_gap_discovered", "economy_schema_candidate", "visual_design_backfill_candidate"],
|
||||
"acceptance_notes": ["B-level lore acceptance: every relevant score is >= 4 and no major canon drift was found."]
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"reviewer_id": "ghostlight_narrative_quality_reviewer",
|
||||
"artifact_ref": "E:\\Projects\\Ghostlight\\examples\\ink\\lucent-hostage-feed.negotiator-branch.v1.ink",
|
||||
"overall_status": "accepted_with_minor_revisions",
|
||||
"reader_orientation_score": 4,
|
||||
"coherence_score": 5,
|
||||
"pacing_score": 4,
|
||||
"voice_score": 5,
|
||||
"tonal_fit_score": 5,
|
||||
"if_playability_score": 5,
|
||||
"detected_tonal_mode": "controlled hostage-crisis satire with dry procedural pressure, media-platform absurdity, and wit-with-stakes",
|
||||
"required_revisions": [],
|
||||
"minor_findings": ["Opening is dense but understandable; optional future pass could add one more operational breath before both influencer panels."],
|
||||
"acceptance_notes": ["B-level threshold met: every relevant score is at least 4 and no major required revisions remain.", "Branches materially affect later prose, conditional outcomes, callbacks, and ending gates rather than collapsing into decorative flavor."]
|
||||
}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"reviewer_id": "ghostlight_narrative_quality_reviewer",
|
||||
"artifact_ref": "E:\\Projects\\Ghostlight\\examples\\ink\\lucent-hostage-feed.negotiator-branch.v1.ink",
|
||||
"overall_status": "accepted_with_minor_revisions",
|
||||
"reader_orientation_score": 4,
|
||||
"coherence_score": 5,
|
||||
"pacing_score": 4,
|
||||
"voice_score": 5,
|
||||
"tonal_fit_score": 5,
|
||||
"if_playability_score": 4,
|
||||
"detected_tonal_mode": "dry crisis-procedural satire with humane hostage-negotiation pressure and sharp institutional absurdity",
|
||||
"major_findings": [],
|
||||
"minor_findings": [
|
||||
{"severity":"minor","location":"start / first_contact","problem":"Pippa and Brant are introduced as side-panel names before the Ink gives the reader a clear one-line handle on their social role.","why_it_matters":"The later influencer-pressure layer is readable from context, but a new reader has to infer too much from panel behavior before those figures start shaping negotiation risk.","evidence":"Pippa Lux waits in soft focus on a side panel. Brant Vee is already shouting without audio.","fix_direction":"Add a compact appositive or feed-label cue establishing them as rival public-facing creators/commentators whose audiences can distort the crisis."},
|
||||
{"severity":"minor","location":"proof_or_face","problem":"Reality Architecture is locally evocative but still slightly under-bridged when Juno's technical capacity becomes plot-relevant.","why_it_matters":"The reader understands Juno is dangerous to the feed, but not quite what kind of work or access Reality Architecture implies until later checksum behavior clarifies it.","evidence":"Juno is junior Reality Architecture, which means she understands the feed well enough to be dangerous.","fix_direction":"Give the role one concrete operational handle, such as feed scaffolds, moderation geometry, or packet routing, without opening a lore cupboard and letting the moths out."},
|
||||
{"severity":"minor","location":"sidecar branch_and_fold_plan / Ink variables","problem":"A few boolean variables appear to be set but not directly read later, even though their choices still affect consequence through other variables.","why_it_matters":"Reader-facing consequence works, but as a training artifact it slightly blurs the distinction between meaningful state and bookkeeping residue.","evidence":"safe_line, security_receded, and handoff_attempted are listed as variables; the major narrative consequences are carried by hostage_safety, security_pressure, sol_stability, mara_trust, and lucent_reframe.","fix_direction":"Either add tiny conditional callbacks for those branch markers in contained_resolution or remove them from the promoted training variable list if they are only audit crumbs."}
|
||||
],
|
||||
"required_revisions": [],
|
||||
"suggested_revisions": ["Add one early reader-facing role cue for Pippa and Brant before influencer_pressure.", "Add one concrete operational cue for Reality Architecture before Juno's checksum action can matter.", "Clean or use currently decorative branch marker booleans before promoting the sidecar as a model example."],
|
||||
"training_labels": ["strong_contextual_onboarding", "strong_branch_callback", "strong_character_voice", "strong_material_lore", "strong_tonal_control", "strong_wit_with_stakes"],
|
||||
"acceptance_notes": ["The artifact meets B-level narrative quality: every relevant score is at least 4 and no major required revision remains."]
|
||||
}
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"reviewer_id": "ghostlight_spatial_geometric_cohesion_reviewer",
|
||||
"artifact_ref": "E:\\Projects\\Ghostlight\\examples\\ink\\lucent-hostage-feed.negotiator-branch.v1.ink + E:\\Projects\\Ghostlight\\examples\\ink\\lucent-hostage-feed.negotiator-branch.v1.training.json",
|
||||
"overall_status": "accepted_with_minor_revisions",
|
||||
"layout_cohesion_score": 4,
|
||||
"sightline_score": 4,
|
||||
"body_affordance_score": 4,
|
||||
"movement_access_score": 4,
|
||||
"object_system_geometry_score": 4,
|
||||
"branch_spatial_state_score": 4,
|
||||
"required_revisions": [],
|
||||
"post_review_patch": "Meta-coordinator applied the suggested face-saving handoff cleanup: successful handoff now sets safe_line and juno_distance_from_glass and stages Juno crossing the white arc.",
|
||||
"acceptance_notes": ["B-level accepted: every relevant score is at least 4 and there are no major required revisions.", "The safe-line fix works and branch spatial state is strong overall."]
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"reviewer_id": "ghostlight_spatial_geometric_cohesion_reviewer",
|
||||
"artifact_ref": "E:\\Projects\\Ghostlight\\examples\\ink\\lucent-hostage-feed.negotiator-branch.v1.ink and E:\\Projects\\Ghostlight\\examples\\ink\\lucent-hostage-feed.negotiator-branch.v1.training.json",
|
||||
"overall_status": "needs_revision",
|
||||
"layout_cohesion_score": 4,
|
||||
"sightline_score": 4,
|
||||
"body_affordance_score": 4,
|
||||
"movement_access_score": 3,
|
||||
"object_system_geometry_score": 4,
|
||||
"branch_spatial_state_score": 3,
|
||||
"major_findings": [
|
||||
{"severity":"major","location":"movement_gate / branch-04-safe-line-step","problem":"The safe-line branch asks for one visible step while the line is two steps from the elevator glass, causing impossible folded movement on paths without prior movement.","fix_direction":"Track prior movement or revise the safe-line branch to request enough movement from the current position."}
|
||||
],
|
||||
"required_revisions": ["Fix the safe-line distance/state inconsistency so branch-04-safe-line-step works from every folded path."],
|
||||
"review_labels": ["strong_layout_cohesion", "strong_sightline_control", "strong_body_affordance_staging", "branch_spatial_state_lost", "visual_plan_geometry_gap", "diagram_needed"]
|
||||
}
|
||||
|
|
@ -0,0 +1,105 @@
|
|||
{
|
||||
"coordinator_worker_id": "stage_manager",
|
||||
"decision_id": "lucent-hostage-feed.negotiator-branch.v1.turn-001.coordinator",
|
||||
"selected_next_beat": "Hand the fixture to the branch compiler / Interactive Fiction Weaver to build a branch-and-fold negotiator-perspective Ink draft centered on Mara's concrete feed, evidence, influencer, movement, and breach-pressure levers.",
|
||||
"selected_acting_agent_id": "branch_compiler",
|
||||
"beat_type": "machinery_call",
|
||||
"reader_translation": "The playable pressure is not whether Mara says the perfect magic sentence. It is whether she can keep Sol from converting humiliation into violence while Lucent, influencers, security, and the audience all try to make the hostage scene legible, profitable, or punishable. Branches should test feed control, evidence custody, public face-saving, and physical movement, then fold those choices into later options and endings.",
|
||||
"glue_prose": "The next artifact should open with the station as an eye: the glass transfer lounge, the city sealed below, the optic-nerve elevator, the hostage in arm's reach, and every visible person performing because the room is also a broadcast format. Mara enters through the official feed with no clean lane. If she talks, Lucent trims the silence. If she routes the feeds, the audience notices. If she exposes proof, the proof becomes content. The Weaver should make those levers playable before the scene starts pretending it has a conscience.",
|
||||
"affordance_nudge": {
|
||||
"type": "gate",
|
||||
"description": "Expose Mara's next playable gates as feed routing, influencer containment, evidence custody, security permission, and moving Juno across a safe line before Sol's humiliation clock turns into snap escalation."
|
||||
},
|
||||
"character_cognition_checks": [
|
||||
{
|
||||
"agent_id": "mara_quell",
|
||||
"allowed_cognitive_band": "Smart, format-literate crisis negotiator with showbiz empathy and tactical feed awareness, but not omniscient about Sol's private intent or Lucent's hidden automation.",
|
||||
"risk_of_overclocking": "medium",
|
||||
"constraint": "Let Mara infer from visible behavior, public state, feed artifacts, and negotiation training. Do not let her perfectly diagnose every motive or predict every engine move."
|
||||
},
|
||||
{
|
||||
"agent_id": "sol_vant",
|
||||
"allowed_cognitive_band": "Brittle, dangerous, socially aware failed creator performing intelligence under humiliation and fear. He can spot obvious manipulation and feed disrespect, but he is unstable and not a master strategist.",
|
||||
"risk_of_overclocking": "high",
|
||||
"constraint": "Do not make Sol read the whole system like a philosopher-king. His sharpness should come in aggrieved flashes, especially around humiliation, debt, recognition, and being edited."
|
||||
},
|
||||
{
|
||||
"agent_id": "juno_ark",
|
||||
"allowed_cognitive_band": "Technically competent junior Reality Architect under physical threat. She can compress useful signals and exploit overlays if Mara creates a gap, but fear and proximity to Sol constrain her.",
|
||||
"risk_of_overclocking": "medium",
|
||||
"constraint": "Do not let Juno calmly run a full counter-operation while held hostage. Any technical action needs a timing gap and should risk Sol noticing."
|
||||
},
|
||||
{
|
||||
"agent_id": "pippa_lux",
|
||||
"allowed_cognitive_band": "Empathy influencer fluent in brand-safe intimacy and public soothing, not a trained negotiator.",
|
||||
"risk_of_overclocking": "low",
|
||||
"constraint": "She may accidentally humanize Sol or steal focus. Do not make her reliably therapeutic in a clinical or tactical sense."
|
||||
},
|
||||
{
|
||||
"agent_id": "brant_vee",
|
||||
"allowed_cognitive_band": "Outrage streamer with fast public-target instincts and a gift for slogans, not crisis discipline.",
|
||||
"risk_of_overclocking": "low",
|
||||
"constraint": "He can name a real injustice while increasing violence risk. Do not let his clarity become safe."
|
||||
},
|
||||
{
|
||||
"agent_id": "feed_ops_chorus",
|
||||
"allowed_cognitive_band": "Distributed media-pressure machinery optimizing visibility, sponsor risk, moderation, and narrative ownership.",
|
||||
"risk_of_overclocking": "medium",
|
||||
"constraint": "Represent it as prompts, cuts, delays, overlays, and permission changes rather than a single scheming villain with clean intent."
|
||||
}
|
||||
],
|
||||
"machinery_plan": [
|
||||
{
|
||||
"machine": "branch_compiler",
|
||||
"purpose": "Create a B-level playable Ink draft and training sidecar using a branch-and-fold structure from the seed state, with meaningful variables affecting later options, text, and endings.",
|
||||
"input_refs": [
|
||||
"fixture_id: lucent-hostage-feed.negotiator-branch.v1",
|
||||
"scene_seed",
|
||||
"public_playable_state_variables",
|
||||
"participant_summaries",
|
||||
"hard_constraints",
|
||||
"desired_arc_shape",
|
||||
"reader_and_tone_target"
|
||||
],
|
||||
"output_expected": "Interactive Fiction Weaver should emit an Ink draft plus sidecar notes defining variables, choice consequences, fold points, ending gates, and reviewer warnings."
|
||||
}
|
||||
],
|
||||
"state_reads": [
|
||||
{
|
||||
"ref": "fixture_lane",
|
||||
"value": "draft fixture, negotiator perspective, branch-and-fold Ink with training sidecar"
|
||||
},
|
||||
{
|
||||
"ref": "scene_seed",
|
||||
"value": "Lucent tether station hostage negotiation in glass transfer lounge near elevator gate"
|
||||
},
|
||||
{
|
||||
"ref": "hard_constraints",
|
||||
"value": "Sol can harm Juno faster than security can cross; all participants know they are visible; moderation delay distorts timing; Lucent wants an owned narrative"
|
||||
},
|
||||
{
|
||||
"ref": "desired_arc_shape",
|
||||
"value": "Open with context, provide meaningful Mara branch points, end in contained resolution or failed resolution based on state"
|
||||
}
|
||||
],
|
||||
"proposed_deltas": [
|
||||
{"delta_type":"branch_plan","id":"opening_context","description":"Begin in Mara's negotiator interface with the media-eye station, glass lounge, city bubble below, Sol holding Juno, influencer side-panels, Feed Ops prompts, and security waiting for narrative permission.","variables_touched":["hostage_safety","sol_stability","security_pressure","feed_control","audience_heat","influencer_noise","mara_trust"],"fold_target":"first_contact"},
|
||||
{"delta_type":"branch_point","id":"first_contact","description":"Mara chooses her opening lane: speak to Sol as a witness, assert procedural evidence custody, or first route/mute the side-panels before addressing him.","options":[{"label":"Open as witness","effect":"Increase mara_trust if Sol hears recognition; risk audience_heat rising if it reads as indulgence."},{"label":"Open with custody demand","effect":"Protect evidence_integrity and signal seriousness; risk sol_stability dropping if Sol hears brand containment."},{"label":"Route the side-panels first","effect":"Improve feed_control and reduce influencer_noise; risk Sol interpreting the delay as Mara managing optics before seeing him."}],"variables_touched":["mara_trust","evidence_integrity","feed_control","influencer_noise","audience_heat","sol_stability"],"fold_target":"proof_or_face"},
|
||||
{"delta_type":"branch_point","id":"proof_or_face","description":"Mara chooses how to handle the collapsed arbitration proof: freeze the edit trail through official custody, ask Juno for a risky technical signal, or offer Sol a public debt-review lane in exchange for moving Juno away from immediate harm.","options":[{"label":"Freeze the edit trail","effect":"Raise evidence_integrity; may increase security_pressure because Lucent treats the proof as contaminated live evidence."},{"label":"Create a gap for Juno","effect":"Can raise evidence_integrity or feed_control if Juno succeeds; lowers hostage_safety and sol_stability if Sol notices."},{"label":"Offer public debt review for movement","effect":"Can raise hostage_safety and mara_trust; may lower evidence_integrity if Lucent reframes the offer as a content-friendly concession."}],"variables_touched":["evidence_integrity","hostage_safety","sol_stability","security_pressure","feed_control","mara_trust"],"fold_target":"influencer_pressure"},
|
||||
{"delta_type":"branch_point","id":"influencer_pressure","description":"The format engines push Pippa and Brant harder as audience heat climbs. Mara must contain, redirect, or weaponize them.","options":[{"label":"Let Pippa speak under tight routing","effect":"May soften audience_heat and help Sol feel seen; increases influencer_noise if Pippa centers herself."},{"label":"Let Brant attack Lucent, not Sol","effect":"May redirect audience_heat toward the corporation and improve mara_trust; risks sol_stability if Brant mocks Sol by accident or design."},{"label":"Hard-mute both panels","effect":"Improves feed_control and reduces influencer_noise; may increase audience_heat and Feed Ops pressure because silence looks like suppression."}],"variables_touched":["influencer_noise","audience_heat","feed_control","mara_trust","sol_stability"],"fold_target":"movement_gate"},
|
||||
{"delta_type":"branch_point","id":"movement_gate","description":"Mara tries to move bodies, not just feelings: get Sol to shift Juno across a marked safe line, put a barrier between them, or move toward the elevator threshold under a face-saving pretext.","options":[{"label":"Ask for a visible safe-line step","effect":"Raises hostage_safety if Sol complies; gives security less excuse to breach if security_pressure is moderate."},{"label":"Offer a face-saving handoff ritual","effect":"Raises mara_trust and sol_stability if prior recognition exists; can become humiliating if audience_heat or influencer_noise is high."},{"label":"Let security visibly recede","effect":"Can raise sol_stability and mara_trust; risks security_pressure later if Feed Ops frames Mara as losing control."}],"variables_touched":["hostage_safety","sol_stability","security_pressure","mara_trust","audience_heat","influencer_noise"],"fold_target":"breach_or_release_clock"},
|
||||
{"delta_type":"fold_point","id":"breach_or_release_clock","description":"Resolve accumulated pressure through a late clock check: if Sol is stable enough and hostage_safety is high enough, release routes open; if security_pressure is high and hostage_safety is low, breach becomes available or forced; if evidence_integrity is low, Lucent-owned narrative endings dominate.","ending_gates":[{"ending":"Juno released safely with evidence preserved","conditions":"hostage_safety high, sol_stability release-leaning, evidence_integrity high, feed_control moderate or high"},{"ending":"Juno released but evidence compromised","conditions":"hostage_safety high, evidence_integrity low or Lucent custody dominates, audience_heat manageable"},{"ending":"Security breach","conditions":"security_pressure high and either hostage_safety low or sol_stability snap-leaning"},{"ending":"Sol contained but narratively devoured","conditions":"hostage_safety medium or high, Sol physically contained, audience_heat punitive, evidence_integrity low or influencer_noise high"},{"ending":"Ambiguous live-feed truce","conditions":"hostage_safety medium, sol_stability performance-leaning but not snapped, evidence_integrity contested, feed_control partial"}],"variables_touched":["hostage_safety","sol_stability","security_pressure","evidence_integrity","feed_control","audience_heat","influencer_noise","mara_trust"],"fold_target":"contained_resolution"},
|
||||
{"delta_type":"sidecar_requirement","id":"training_notes","description":"The sidecar should explain each variable, each branch consequence, why the branch folds, which endings are reachable, and where character cognition must stay constrained.","variables_touched":["hostage_safety","sol_stability","security_pressure","evidence_integrity","feed_control","audience_heat","influencer_noise","mara_trust"],"fold_target":"reviewer"}
|
||||
],
|
||||
"branching": {
|
||||
"branch_mode": "branch_and_fold",
|
||||
"reason": "The scene needs consequence without a sprawling tree. Mara's choices should alter shared pressure variables, unlock or close later options, and change ending gates, while the main negotiation sequence remains readable and playable."
|
||||
},
|
||||
"unresolved_hooks_carried": [
|
||||
{"hook":"Exact arbitration proof contents","handling":"Do not invent detailed hidden facts. Treat it as an edit trail / debt-enforcement proof object unless the Weaver receives more source."},
|
||||
{"hook":"Lucent moderation mechanics","handling":"Represent through visible delay, prompts, throttles, captions, and custody pressure rather than unexplained omnipotence."},
|
||||
{"hook":"Security breach protocol","handling":"Keep it as a pressure gate controlled by security_pressure and hostage_safety; do not let security cross faster than Sol can harm Juno."},
|
||||
{"hook":"Juno's technical capacity under fear","handling":"Permit small signals or overlay exploitation only when Mara creates a gap, and attach escalation risk."}
|
||||
],
|
||||
"review_flags": ["character_overclock_risk", "reader_opacity_risk", "state_explosion_risk"]
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"schema_version": "ghostlight.sandbox_capture_summary.v0",
|
||||
"artifact_id": "lucent-hostage-feed.negotiator-branch.v1.weaver.capture-summary",
|
||||
"source_packet": "experiments/lucent-hostage-feed-v0/sandbox-packets/lucent-hostage-feed.negotiator-branch.v1.weaver-packet.md",
|
||||
"capture_status": "subagent_notification_only_not_exact_file_capture",
|
||||
"training_implication": "not_training_ready_exact_raw_output_missing",
|
||||
"summary": "The sandboxed Interactive Fiction Weaver produced a substantial Ink and sidecar draft, but the exact raw subagent output was not persisted as a dedicated capture file before materialization. The meta-coordinator repaired Ink syntax, validator action labels, and JSON sidecar shape, then later applied reviewer-driven spatial cleanup. The resulting artifacts are useful draft branch-compiler training shape with labeled repairs, not pure Weaver gold.",
|
||||
"materialized_artifacts": [
|
||||
"examples/ink/lucent-hostage-feed.negotiator-branch.v1.ink",
|
||||
"examples/ink/lucent-hostage-feed.negotiator-branch.v1.training.json"
|
||||
],
|
||||
"labeled_repairs": [
|
||||
"Converted invalid Ink choice-comment syntax into valid ghostlight metadata comments.",
|
||||
"Normalized Ink knot markers and branch flow so the artifact compiles.",
|
||||
"Mapped unsupported action labels to validator-supported action types.",
|
||||
"Converted sidecar fields that were prose strings into schema-compatible arrays or objects.",
|
||||
"Added reviewer-driven spatial staging for the elevator glass rail, safe-line distance, and handoff movement."
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
# Coordinator-Visible Packet: lucent-hostage-feed.negotiator-branch.v1
|
||||
|
||||
## Task
|
||||
|
||||
Choose the branch-and-fold shape for a fresh negotiator-perspective interactive fiction artifact set in the Lucent hostage-feed scenario. This is not a continuation of the previous hand-authored Ink. Use the source state below as the seed, not the previous Ink structure.
|
||||
|
||||
Return the JSON shape required by `prompts/sandboxed-coordinator-turn.md`. The output should select the next machinery call as `branch_compiler` / Interactive Fiction Weaver and supply a branch plan useful enough for the Weaver to materialize playable Ink.
|
||||
|
||||
## Fixture Lane
|
||||
|
||||
- fixture_id: `lucent-hostage-feed.negotiator-branch.v1`
|
||||
- source_loop_id: `lucent-hostage-feed-v0`
|
||||
- canon_status: draft fixture, not accepted coverage
|
||||
- protagonist/player perspective: `mara_quell`
|
||||
- intended artifact: branch-and-fold Ink with training sidecar
|
||||
- visual plan: out of scope for this pass; do not generate visual prompt data
|
||||
|
||||
## Reader And Tone Target
|
||||
|
||||
Dark comedy with real hostage stakes. Lucent turns danger into format; comedy comes from absurd professionalism, brand panic, clout opportunism, and feed etiquette. The narration should help a reader understand high-future social maneuvers without flattening the characters into modern people or making every character equally brilliant.
|
||||
|
||||
The negotiator is smart and format-literate, but the playable levers should be legible: mute or route feeds, expose proof, offer face-saving exits, move bodies across safe lines, let or deny influencers airtime, control evidence custody, and manage security pressure.
|
||||
|
||||
## Scene Seed
|
||||
|
||||
A hostage negotiation unfolds live inside a Lucent tether station. The station is a spinning tethered counterweight design: a dense media-headquarters counterweight shaped like a giant eye stares down the tether at a bustling metropolis dome sealed in a transparent pressure bubble. A pressurized elevator spine links them like an optic nerve. The incident takes place in a glass-walled transfer lounge inside the media-eye end near the elevator gate.
|
||||
|
||||
Sol Vant, a failed Lucent contract creator, has seized Juno Ark, a junior Reality Architect, after a contract arbitration stream collapsed into public humiliation and debt enforcement. Mara Quell is the crisis negotiator, initially remote through the official feed. Pippa Lux and Brant Vee are obnoxious influencer side-panels patched into the scene by audience demand and format engines.
|
||||
|
||||
## Public / Playable State Variables
|
||||
|
||||
Use or refine these as local Ink variables. They must matter later if included.
|
||||
|
||||
- `hostage_safety`: how physically safe Juno is
|
||||
- `sol_stability`: whether Sol is moving toward release, performance, or snap escalation
|
||||
- `security_pressure`: whether security has narrative permission to breach
|
||||
- `evidence_integrity`: whether the edit trail / arbitration proof can survive Lucent repackaging
|
||||
- `feed_control`: whether Mara can shape timing and visibility
|
||||
- `audience_heat`: whether the crowd wants rescue, punishment, humiliation, or spectacle
|
||||
- `influencer_noise`: whether Pippa/Brant are pressure objects or contained hazards
|
||||
- `mara_trust`: whether Sol hears Mara as witness, handler, brand asset, or predator
|
||||
|
||||
## Participant Summaries
|
||||
|
||||
Mara Quell: Lucent crisis negotiator and former intimacy-format host. Warm with scalpel edges; precise showbiz empathy; wry when it lowers temperature; resists letting brand language own the room. Goals: keep Juno alive, give Sol a face-saving exit that does not reward hostage-taking too much, prevent influencer side feeds from becoming the actual negotiators. She understands feeds but should not be omniscient about private intent.
|
||||
|
||||
Sol Vant: failed contract creator made into content by debt, demonetization, and arbitration. Dangerous but not predetermined to kill. Wants recognition, debt review, and proof he still exists more than murder. Funny in brittle flashes; aggrieved; overexplains when scared; performs intelligence for hostile viewers. Humiliation destabilizes him.
|
||||
|
||||
Juno Ark: junior Reality Architect and hostage. Knows feed control well enough to be dangerous but is physically vulnerable. Controlled panic; technical compression under fear; dark little jokes when cornered. She can signal or exploit overlays if given a gap, but doing so may escalate Sol.
|
||||
|
||||
Pippa Lux: empathy influencer. Soft-focus urgency, intimate second-person address, therapeutic theft, brand-safe tears. Can accidentally humanize Sol or catastrophically center herself.
|
||||
|
||||
Brant Vee: outrage streamer. Loud clarity, weaponized incredulity, mocking slogans, jokes that sharpen the knife. Can attack the correct target while making violence more likely.
|
||||
|
||||
Feed Ops Chorus: Lucent newsroom, moderators, Reality Architects, sponsor-risk engine. Not a person so much as a pressure field: edits visibility, throttles feeds, feeds prompts, reprices everyone by the second.
|
||||
|
||||
## Hard Constraints
|
||||
|
||||
- Sol can harm Juno faster than security can cross the space.
|
||||
- Every participant knows they are visible and may perform for survival.
|
||||
- Moderation delay can distort timing and perceived intent.
|
||||
- Lucent does not want a dead hostage, but it does want an owned narrative.
|
||||
- Mara's choices should include speech and non-speech actions.
|
||||
- Branches should fold through state variables, not explode into an unmanageable tree.
|
||||
- Do not make choices cosmetic. Make variables affect later text/options/outcomes.
|
||||
- Do not use the previous hand-authored Ink as a hidden target.
|
||||
|
||||
## Desired Arc Shape
|
||||
|
||||
Open with enough context for a new reader: the eye station, the transfer lounge, the city bubble below, the feeds, the hostage, and Mara's job. Then give Mara several meaningful branch points. End with a contained resolution or failed resolution that depends on state: Juno released safely, Juno released with evidence compromised, security breach, Sol contained but narratively devoured, or an ambiguous live-feed truce.
|
||||
|
||||
## Coordinator Request
|
||||
|
||||
Select the branch compiler / Weaver as the next organ and provide the branch plan, state levers, reader translation, and review flags needed to create a B-level playable Ink draft.
|
||||
|
|
@ -0,0 +1,155 @@
|
|||
# Weaver-Visible Packet: lucent-hostage-feed.negotiator-branch.v1
|
||||
|
||||
## Task
|
||||
|
||||
Generate a complete playable Ink artifact and training sidecar for `lucent-hostage-feed.negotiator-branch.v1`.
|
||||
|
||||
Return valid JSON only using the `Interactive Fiction Weaver` output contract:
|
||||
|
||||
- `weaver_id`
|
||||
- `artifact_id`
|
||||
- `ink_text`
|
||||
- `training_sidecar`
|
||||
- `review_notes`
|
||||
- `open_questions`
|
||||
- `failure_labels`
|
||||
|
||||
The artifact must be from Mara Quell's playable negotiator perspective. It should be a fresh branch-and-fold IF draft using the coordinator branch plan below, not a copy of prior hand-authored Ink.
|
||||
|
||||
## Output Path Placeholders
|
||||
|
||||
Use these refs in the sidecar:
|
||||
|
||||
- `ink_ref`: `examples/ink/lucent-hostage-feed.negotiator-branch.v1.ink`
|
||||
- `source_fixture_ref`: `examples/training-loops/lucent-hostage-feed-v0/lucent-hostage-feed-v0.initial-state.json`
|
||||
- `scene_id`: `lucent-hostage-feed-negotiator-branch-v1`
|
||||
- `protagonist_agent_id`: `mara_quell`
|
||||
- `npc_agent_ids`: `sol_vant`, `juno_ark`, `feed_ops_chorus`, `pippa_lux`, `brant_vee`
|
||||
|
||||
## Required Local Awareness Summary
|
||||
|
||||
Include at least these facts in sidecar form:
|
||||
|
||||
- Mara can see and act through official crisis feed controls, but she is not omniscient.
|
||||
- Sol holds Juno in the glass transfer lounge near the elevator gate.
|
||||
- Lucent feed systems, influencers, audience heat, and security pressure are active hazards.
|
||||
- The city bubble and media-eye station geometry matters as reader orientation and pressure, but this pass does not include visual plan artifacts.
|
||||
|
||||
## Required Projection Controls
|
||||
|
||||
Use the following categories in the sidecar: `frame_controls`, `authority_boundaries`, `object_custody`, `required_semantics`, `forbidden_resolutions`.
|
||||
|
||||
Make each entry an object with `text` and `source_refs`.
|
||||
|
||||
## Source / Lore Digest Excerpts
|
||||
|
||||
Lucent hostage-feed scene seed:
|
||||
|
||||
A hostage negotiation unfolds live inside a Lucent tether station. The station is a spinning tethered counterweight design: a dense media-headquarters counterweight shaped like a giant eye stares down the tether at a bustling metropolis dome sealed in a transparent pressure bubble. A pressurized elevator spine links them like an optic nerve. The incident takes place in a glass-walled transfer lounge inside the media-eye end near the elevator gate.
|
||||
|
||||
Tone target: dark comedy with real hostage stakes. Lucent turns danger into format; comedy comes from absurd professionalism, brand panic, clout opportunism, and feed etiquette.
|
||||
|
||||
Mara Quell: Lucent crisis negotiator and former intimacy-format host. Warm with scalpel edges; precise showbiz empathy; wry when it lowers temperature; resists letting brand language own the room. Goals: keep Juno alive, give Sol a face-saving exit that does not reward hostage-taking too much, prevent influencer side feeds from becoming the actual negotiators. She understands feeds but should not be omniscient about private intent.
|
||||
|
||||
Sol Vant: failed contract creator made into content by debt, demonetization, and arbitration. Dangerous but not predetermined to kill. Wants recognition, debt review, and proof he still exists more than murder. Funny in brittle flashes; aggrieved; overexplains when scared; performs intelligence for hostile viewers. Humiliation destabilizes him.
|
||||
|
||||
Juno Ark: junior Reality Architect and hostage. Knows feed control well enough to be dangerous but is physically vulnerable. Controlled panic; technical compression under fear; dark little jokes when cornered. She can signal or exploit overlays if given a gap, but doing so may escalate Sol.
|
||||
|
||||
Pippa Lux: empathy influencer. Soft-focus urgency, intimate second-person address, therapeutic theft, brand-safe tears. Can accidentally humanize Sol or catastrophically center herself.
|
||||
|
||||
Brant Vee: outrage streamer. Loud clarity, weaponized incredulity, mocking slogans, jokes that sharpen the knife. Can attack the correct target while making violence more likely.
|
||||
|
||||
Feed Ops Chorus: Lucent newsroom, moderators, Reality Architects, sponsor-risk engine. Not a person so much as a pressure field: edits visibility, throttles feeds, feeds prompts, reprices everyone by the second.
|
||||
|
||||
Hard constraints:
|
||||
|
||||
- Sol can harm Juno faster than security can cross the space.
|
||||
- Every participant knows they are visible and may perform for survival.
|
||||
- Moderation delay can distort timing and perceived intent.
|
||||
- Lucent does not want a dead hostage, but it does want an owned narrative.
|
||||
- Mara's choices should include speech and non-speech actions.
|
||||
- Branches should fold through state variables, not explode into an unmanageable tree.
|
||||
- Choices must not be cosmetic. Variables must affect later text/options/outcomes.
|
||||
|
||||
## Sandboxed Coordinator Output
|
||||
|
||||
Use this as the branch plan and cognition guardrail:
|
||||
|
||||
```json
|
||||
{
|
||||
"coordinator_worker_id": "stage_manager",
|
||||
"decision_id": "lucent-hostage-feed.negotiator-branch.v1.turn-001.coordinator",
|
||||
"selected_next_beat": "Hand the fixture to the branch compiler / Interactive Fiction Weaver to build a branch-and-fold negotiator-perspective Ink draft centered on Mara's concrete feed, evidence, influencer, movement, and breach-pressure levers.",
|
||||
"reader_translation": "The playable pressure is not whether Mara says the perfect magic sentence. It is whether she can keep Sol from converting humiliation into violence while Lucent, influencers, security, and the audience all try to make the hostage scene legible, profitable, or punishable. Branches should test feed control, evidence custody, public face-saving, and physical movement, then fold those choices into later options and endings.",
|
||||
"branching": {"branch_mode":"branch_and_fold","reason":"Mara's choices should alter shared pressure variables, unlock or close later options, and change ending gates, while the main negotiation sequence remains readable and playable."},
|
||||
"character_cognition_checks": [
|
||||
{"agent_id":"mara_quell","constraint":"Let Mara infer from visible behavior, public state, feed artifacts, and negotiation training. Do not let her perfectly diagnose every motive or predict every engine move."},
|
||||
{"agent_id":"sol_vant","constraint":"Do not make Sol read the whole system like a philosopher-king. His sharpness should come in aggrieved flashes, especially around humiliation, debt, recognition, and being edited."},
|
||||
{"agent_id":"juno_ark","constraint":"Do not let Juno calmly run a full counter-operation while held hostage. Any technical action needs a timing gap and should risk Sol noticing."},
|
||||
{"agent_id":"pippa_lux","constraint":"She may accidentally humanize Sol or steal focus. Do not make her reliably therapeutic in a clinical or tactical sense."},
|
||||
{"agent_id":"brant_vee","constraint":"He can name a real injustice while increasing violence risk. Do not let his clarity become safe."},
|
||||
{"agent_id":"feed_ops_chorus","constraint":"Represent it as prompts, cuts, delays, overlays, and permission changes rather than a single scheming villain with clean intent."}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## Branch Plan To Materialize
|
||||
|
||||
Use these choice layers and fold targets. You may rename knots for Ink clarity, but preserve branch ids in `// ghostlight.branch` comments and sidecar.
|
||||
|
||||
1. `first_contact`: Mara chooses opening lane.
|
||||
- `branch-01-open-as-witness`: speak to Sol as witness. Increase `mara_trust`; may raise `audience_heat`.
|
||||
- `branch-01-custody-demand`: assert evidence custody. Raise `evidence_integrity`; risk lowering `sol_stability`.
|
||||
- `branch-01-route-side-panels`: route/mute side panels before addressing Sol. Raise `feed_control`, lower `influencer_noise`; risk Sol mistrusting optics management.
|
||||
|
||||
2. `proof_or_face`: Mara handles collapsed arbitration proof.
|
||||
- `branch-02-freeze-edit-trail`: freeze the edit trail through official custody. Raise `evidence_integrity`; may raise `security_pressure`.
|
||||
- `branch-02-create-gap-for-juno`: create a small gap for Juno to signal or touch overlay controls. Can raise `evidence_integrity` or `feed_control`; risks `hostage_safety` / `sol_stability` if Sol notices.
|
||||
- `branch-02-debt-review-for-movement`: offer public debt review in exchange for moving Juno away from immediate harm. Raise `hostage_safety` and `mara_trust`; may lower `evidence_integrity` if Lucent reframes it.
|
||||
|
||||
3. `influencer_pressure`: Mara handles Pippa and Brant.
|
||||
- `branch-03-pippa-tight-routing`: let Pippa speak under tight routing. May soften `audience_heat`, help Sol feel seen, but raises `influencer_noise` if Pippa centers herself.
|
||||
- `branch-03-brant-targets-lucent`: let Brant attack Lucent, not Sol. May redirect heat toward Lucent and improve `mara_trust`; risks `sol_stability`.
|
||||
- `branch-03-hard-mute-panels`: hard-mute both panels. Improve `feed_control`, reduce `influencer_noise`; may raise `audience_heat` because silence looks like suppression.
|
||||
|
||||
4. `movement_gate`: Mara moves bodies, not just feelings.
|
||||
- `branch-04-safe-line-step`: ask for visible safe-line step. Raise `hostage_safety`; reduce breach permission if pressure is moderate.
|
||||
- `branch-04-face-saving-handoff`: offer face-saving handoff ritual. Raise `mara_trust` and `sol_stability` if prior recognition exists; can become humiliating if heat/noise high.
|
||||
- `branch-04-security-recedes`: make security visibly recede. Raise `sol_stability` and `mara_trust`; risk Feed Ops framing Mara as losing control.
|
||||
|
||||
5. `contained_resolution`: endings depend on variables.
|
||||
- Juno released safely with evidence preserved.
|
||||
- Juno released but evidence compromised.
|
||||
- Security breach.
|
||||
- Sol contained but narratively devoured.
|
||||
- Ambiguous live-feed truce.
|
||||
|
||||
## Ink Requirements
|
||||
|
||||
- Start with `VAR` declarations.
|
||||
- Use valid Ink syntax compatible with `inkjs-compiler`.
|
||||
- Reach initial choices after introductory prose.
|
||||
- Use `// ghostlight.branch: branch-id; action: action_type; intent: ...` comments.
|
||||
- Include at least one non-speech branch.
|
||||
- Branch and fold through shared knots.
|
||||
- Use conditionals so variables affect later text, options, and endings.
|
||||
- Keep text player-facing; do not expose schema prose in the preview.
|
||||
- Do not include visual plan data.
|
||||
|
||||
## Training Sidecar Requirements
|
||||
|
||||
Return a JSON object under `training_sidecar` matching the required annotation shape:
|
||||
|
||||
- `schema_version`: `ghostlight.ink_training_annotation.v0`
|
||||
- `annotation_id`: `lucent-hostage-feed-negotiator-branch-v1-training`
|
||||
- `ink_ref`: `examples/ink/lucent-hostage-feed.negotiator-branch.v1.ink`
|
||||
- `source_fixture_ref`: `examples/training-loops/lucent-hostage-feed-v0/lucent-hostage-feed-v0.initial-state.json`
|
||||
- `scene_id`: `lucent-hostage-feed-negotiator-branch-v1`
|
||||
- `protagonist_agent_id`: `mara_quell`
|
||||
- `npc_agent_ids`: array of all NPC ids
|
||||
- `local_awareness_summary`: text/source_refs blocks
|
||||
- `projection_controls`: text/source_refs blocks for all required categories
|
||||
- `branch_and_fold_plan`: include variables and ending gates
|
||||
- `branches`: every material branch with required fields
|
||||
- `mutation_policy`
|
||||
- `audit` with `review_status`: `needs_revision` until reviewers accept it, and required checks booleans
|
||||
Loading…
Reference in a new issue