class McxClosedModelRehearsal < BaseAgent contract "doil.operationsContract/v1" do file "mcx-closed-model-rehearsal.doil" title "MCX closed model rehearsal" exposure :public_blueprint, visibility: :public, sensitive: false, recipients: [:desk_reader, :rehearsal_runbook_operator] execution :one_shot, handler: :run_closed_rehearsal, max_cycles: 1, concurrency: 1, failure_policy: :stop_and_escalate, approval: :human_required_before_entrypoint portability :runbook, :workflow, :agentic test_clock "2026-08-12T00:07:58.068Z" objective "OBJ-MCX-CLOSED-REHEARSAL-001", criticality: :required, derived_from: ["desk://decision/apr_0ie46kdas_run-closed-model-rehearsal", "desk://block/blk_g2bcu62rp", "desk://run/run_HymZ7UHA2Fggr6M77czh_"] end intent "Run one isolated non-production rehearsal that validates the exact two published LinkSim lookups and the exact existing Product schedule, keeps the ZA Incident replay as stale demo context, writes and verifies a review-only evidence bundle, and discards the workspace on any stop condition without contacting or changing production." context do require geography: "Malaysia national public-safety question; no Malaysian field area supplied." require technology: "Modeled MCX over a shared commercial mobile network; no live technology profile supplied." require link: "Published LinkSim lookups lk_3c2b6da985e452a192e8b688 and lk_edf377ede2ce06ee74e0c00a only." require system: "Isolated review-only runbook rehearsal workspace with no production integrations." require event: "Desk round-10 action apr_0ie46kdas_run-closed-model-rehearsal." require user: "rehearsal runbook operator" require nodes: ["lk_3c2b6da985e452a192e8b688", "lk_edf377ede2ce06ee74e0c00a", "pl_iot_fleet", "inc-mroqyurc-xo0u"] require time: { starts_at: "2026-08-12T00:07:58.068527Z", ends_at: "2026-08-12T01:42:52.583080Z" } require rehearsal_scope: "Closed model rehearsal only; run run_HymZ7UHA2Fggr6M77czh_; chosen action apr_0ie46kdas_run-closed-model-rehearsal; runbook receiver; isolated review workspace; production effects false." require entry_checks: "Require exact run and action ids; LinkSim lookups lk_3c2b6da985e452a192e8b688 and lk_edf377ede2ce06ee74e0c00a; Product pl_iot_fleet launch week 20 and the four exact week-20-to-52 levers; no production endpoint, credential, adapter, order, activation, policy, campaign, assurance, priority, or pre-emption binding; Incident labeled stale immutable ZA demo; all four rehearsal roles assigned; empty isolated discardable workspace." require owner_roles: "Approval owner: Desk reader. Execution owner: rehearsal runbook operator. Evidence owner: model evidence curator. Stop/discard owner: rehearsal safety controller. Production reconsideration owners: national public-safety service owner plus commercial-operator product/BSS, core/policy, RAN, security, and assurance owners." require production_exclusion: "No production effects: no RAN, core, BSS, catalog, service, campaign, assurance, priority, pre-emption, consumer-traffic, or public-safety-traffic activation." require production_reconsideration_requirements: "Before any production pilot is reconsidered require: current Malaysian ticket-bound area with cell coverage/SINR/demand/pressure/headroom and authoritative timestamps; live coexistence test on actual carrier/bandwidth/scheduler/devices/traffic with human-approved numeric MCX and consumer limits (none supplied); real deployed crypto/security plus adversarial test (published lookup real_crypto=false); authoritative product/offering/charging/CRM/order/service/entitlement/policy IDs (none supplied; simulated stub returned no MCX matches); named Malaysian cohort/geography/devices/window/priority/pre-emption/customer safeguards (none supplied); live consumer-QoS baseline, independent probes, rollback telemetry, and human-approved degradation limits (none supplied); approvals from all named service and operator owners." require rehearsal_execution_window: "Rehearsal window not supplied by the reader; a fresh human approval must supply an isolated window before the one-shot entrypoint may run." require product_commercial_boundary: "Model-only Product analogue pl_iot_fleet in the Malaysia project; no offering, price, eligibility, or lifecycle change." require product_schedule: "pl_iot_fleet launch week 20; onboarding_fix weeks 20-52 intensity 1; seed_community weeks 20-52 intensity 1 rampWeeks 4; referral_program weeks 20-52 intensity 1; distribution_push weeks 20-52 intensity 1." require bss_catalog_charging_boundary: "No catalog, charging, CRM, account, or product-order change; no authoritative ids supplied; simulated Malaysia stub returned no MCX matches, which is not operator absence." require service_activation_boundary: "No service-specification, provisioning, activation, or resource-order change; no authoritative ids supplied; simulated Malaysia stub returned no MCX service matches, which is not operator absence." require core_policy_entitlement_boundary: "No entitlement, policy, charging-dependency, priority, or pre-emption change; no authoritative ids supplied; simulated Malaysia stub returned no MCX resource matches, which is not operator absence." require link_security_lookup: "lk_edf377ede2ce06ee74e0c00a; 41 modeled points from -10 to 30 dB; 1000 trials; X25519 + ML-KEM-768 + ML-DSA-65; real_crypto=false; research abstraction, not deployed security evidence." require mcx_contention_lookup: "lk_3c2b6da985e452a192e8b688; n72; 5 MHz; 25 PRB; 15 demand points 1.0-8.0 by 0.5; flows 12 MCPTT, 2 MC-video, 20 MC-data, 200 IoT; one trial; model only, not consumer-QoS or field evidence." require ran_capacity_boundary: "No RAN, scheduler, priority, or pre-emption change; no Malaysian field area supplied; Incident input is stale ZA public-demo context only." require incident_demo_boundary: "Immutable public-demo replay: deployment za, vodacom-za, za-vodacom-demo, runtime incident inc-mroqyurc-xo0u, fixture INC-001439, OCID-ZA-09842; captured 2026-07-17T09:40:23.420Z; stale; no active ticket; no active agent context package; not Malaysian evidence." require campaign_distribution_boundary: "Model-only Product lever replay; no onboarding, referral, community, distribution, campaign, or channel activation." require assurance_feedback_boundary: "No live assurance, monitoring, alarm, KPI, or feedback-loop activation; verify only exact replay identity, completeness, fidelity labels, blockers, and prohibition of production claims; publish only to Desk reader review." require evidence_outputs: "Review bundle contains: exact identities/configurations/point sets/limitations for both LinkSim lookups; exact Product schedule and modeled week-52/week-312 baseline-versus-levered outputs with warnings; Incident boundary stating stale ZA demo and No active agent context package; entry/owner/stop/discard receipts; production-pilot reconsideration gap register naming each absent boundary without substituting a value." require rollout_control_boundary: "One-shot isolated review workspace; promotion target Desk reader review only; production-pilot promotion false; on success retain review bundle and audit receipt then remove temporary replay state; on failure mark bundle invalid, remove it from promotion, discard temporary replay state, retain only a non-sensitive failure receipt." require evidence_time_meaning: "The core time boundary is the formal-run evidence collection interval, not execution authority; a fresh rehearsal execution window is not supplied." end tools do validate_and_replay_closed_rehearsal description: "Validate isolation and owners, then replay the two exact LinkSim lookups and the exact Product schedule while retaining Incident only as stale ZA demo context.", effect: "read", vendor_op: "receiver_owned", parameters: ["rehearsal_scope", "entry_checks", "owner_roles", "production_exclusion", "production_reconsideration_requirements", "rehearsal_execution_window", "product_commercial_boundary", "product_schedule", "bss_catalog_charging_boundary", "service_activation_boundary", "core_policy_entitlement_boundary", "link_security_lookup", "mcx_contention_lookup", "ran_capacity_boundary", "incident_demo_boundary", "campaign_distribution_boundary", "assurance_feedback_boundary", "evidence_outputs", "rollout_control_boundary"] write_rehearsal_evidence_bundle description: "Write one review-only evidence bundle in the isolated workspace.", effect: "external_change", vendor_op: "receiver_owned", parameters: ["rehearsal_scope", "evidence_outputs", "owner_roles", "production_exclusion", "rollout_control_boundary"] verify_rehearsal_evidence description: "Verify exact input identity, complete fidelity labels, and the absence of production claims.", effect: "read", vendor_op: "receiver_owned", parameters: ["assurance_feedback_boundary", "evidence_outputs", "production_reconsideration_requirements"] discard_rehearsal_workspace description: "Invalidate the review bundle and discard temporary rehearsal state when a stop condition fires.", effect: "external_change", vendor_op: "receiver_owned", parameters: ["rehearsal_scope", "rollout_control_boundary", "production_exclusion"] end guardrails do pre_execution do require :approval end during_execution do max_changes 2 end end output do stage :entry_and_exact_replay do generate :entry_and_replay_receipt present :exact_inputs_boundaries_and_exceptions require :approval end stage :evidence_review do generate :rehearsal_evidence_review_receipt present :evidence_outputs_stop_log_and_gap_register require :approval end end def run_closed_rehearsal preconditions = tools.validate_and_replay_closed_rehearsal.apply(:nodes) if preconditions.ready result = tools.write_rehearsal_evidence_bundle.apply(:nodes) verification = tools.verify_rehearsal_evidence.apply(:nodes) if verification.failed tools.discard_rehearsal_workspace.apply(:nodes, result) end end end end