{
  "schema_version": "1.0.0",
  "package_id": "W13",
  "title": "Field Experiments and Monitoring",
  "language": "en",
  "phase": "Validate",
  "essential_question": "How do we learn under a changing platform?",
  "research_cutoff": "2026-08-24",
  "status": "structurally_complete_text_first_authored_draft_human_review_and_timed_pilot_pending",
  "required_artifacts": [
    "README.md",
    "LECTURE_NOTES.md",
    "SLIDE_SCRIPT.md",
    "WORKED_CASE.md",
    "TRANSCRIPT.md",
    "manifest.json",
    "validate_package.py"
  ],
  "artifact_hash_scope": "five narrative Markdown artifacts; manifest and validator are reported at validation time to avoid circular self-hashing",
  "artifact_hashes_sha256": {
    "README.md": "f546f5742aab76f8e082a6cef818bc8ccd91f456c7a497b0bae7d458fd77c1b7",
    "LECTURE_NOTES.md": "76ccd4269881dbbe05b3c704f69fd224b8a5aa8140b7028ee40c1e651bfc7814",
    "SLIDE_SCRIPT.md": "21e4bec155def2719be137dd7fa16ef4b9f5fe616b3a98ac47148748c9b70a25",
    "WORKED_CASE.md": "b89f7c9684c7b2650fdac842c2f2ba1d6ae3f3767f83397a636ce7710e680504",
    "TRANSCRIPT.md": "4f8683b2b5a99473b40b0e9567d13af51091f539d21725a0ebcbc2970d1e2d26"
  },
  "namespace_policy": {
    "research_papers": "PAPER-xx",
    "platform_and_protocol_records": "PLAT-xx",
    "labs": "LAB-Lxx",
    "plans": "PLAN-MON-Wxx-nnn",
    "system_cards": "SYS-<route>-<state>",
    "incidents": "INC-nn",
    "events": "EV-nnn",
    "regimes": "REG-nn",
    "human_facing_required_ids": [
      "PAPER-29",
      "PAPER-38",
      "PAPER-12",
      "PAPER-23",
      "PLAT-04",
      "LAB-L06"
    ],
    "boundary": "Human-facing W13 narratives use PAPER-xx and PLAT-xx. The internal platform key P04 must not appear as a public source identifier."
  },
  "learning_outcomes": [
    "Freeze a versioned observation plan with panel, time, metric, missingness, retry, look, budget, authorization, privacy, decision, and rollback fields.",
    "Record alias or explicit configuration, session, account, locale, collection mode, order, failures, known releases, and unknown backend variables in system cards.",
    "Explain why a same-time alias/configuration difference does not identify a hidden backend change.",
    "Use declared time blocks and preserve all order, failure, retry, and release events.",
    "Maintain a canonical append-only, hash-linked event and deviation ledger.",
    "Separate planned sequential outcome looks from continuous hard-gate monitoring.",
    "Treat change-point detection as a measurement-regime alert rather than causal attribution.",
    "Apply continue, pause, rebaseline, stop, and rollback with frozen precedence.",
    "Stop on authorization, privacy, policy, evidence-preservation, persistent rate-limit, or cost-cap failure.",
    "Reproduce LAB-L06 and four synthetic incident decisions without a live account or external automation."
  ],
  "time_design": {
    "status": "authoring_budgets_not_observed_delivery_times",
    "synchronous_seminar_minutes": 90,
    "synchronous_core_studio_minutes": 80,
    "asynchronous_core_minutes_min": 195,
    "asynchronous_core_minutes_max": 205,
    "transcript_equivalent_minutes_min": 35,
    "transcript_equivalent_minutes_max": 45,
    "transcript_declared_minutes": 42,
    "full_week_effort_hours": 6,
    "pilot_state": "not_taught_not_rehearsed_not_timed",
    "media_state": "no_video_or_audio_recording_exists"
  },
  "local_dependencies": [
    {
      "id": "COURSE-W13",
      "path": "course-site/app/lib/course-data.ts#W13",
      "role": "Authoritative title, phase, essential question, outcomes, prerequisites, reading route, 80-minute studio, LAB-L06 link, stop condition, and account-free boundary.",
      "boundary": "The curriculum record does not establish successful delivery, scientific validity, or a completed pilot."
    },
    {
      "id": "NOTES-EXPERIMENTS",
      "path": "notes-latex/chapters/07-experiments.tex",
      "role": "Conceptual alignment for treatment/system state, blocking, clustered repetition, drift, missingness, retries, stopping, and causal ceilings.",
      "boundary": "Structural alignment only; no TeX prose or figure is copied."
    },
    {
      "id": "NOTES-GOVERNANCE",
      "path": "notes-latex/chapters/12-governance.tex",
      "role": "Conceptual alignment for monitoring, incidents, evidence preservation, accountable action, correction, and rollback.",
      "boundary": "A governance scaffold does not establish control effectiveness or legal compliance."
    },
    {
      "id": "LAB-L06",
      "path": "course-labs/L06_repeated_measurement",
      "role": "Frozen 360-event synthetic panel and standard-library analyzer for five outcomes, descriptive intervals, drift, query-mix sensitivity, and missingness.",
      "boundary": "No named product, live engine, causal intervention, business outcome, or population demand is estimated."
    }
  ],
  "catalog_readings": [
    {
      "id": "PAPER-29",
      "title": "Don't Measure Once: Measuring Visibility in AI Search (GEO)",
      "authors": "Julius Schulte; Malte Bleeker; Philipp Kaufmann",
      "year": 2026,
      "arxiv_id": "2604.07585",
      "doi": "10.48550/arXiv.2604.07585",
      "url": "https://arxiv.org/abs/2604.07585",
      "status": "Preprint / venue not confirmed here",
      "role": "Core route for repeated observation, within-window variability, temporal drift, and denominator questions.",
      "boundary": "Its Swiss-German prompts, four verticals, January-March 2026 state, filters, run counts, and window lengths are study-specific; same-window variation does not isolate token sampling or define a universal schedule."
    },
    {
      "id": "PAPER-38",
      "title": "Generative Engine Optimization at Scale: Measuring Brand Visibility Across AI Search Engines",
      "authors": "Pratyush Kumar",
      "year": 2026,
      "arxiv_id": "2606.20065",
      "doi": "10.48550/arXiv.2606.20065",
      "url": "https://arxiv.org/abs/2606.20065",
      "status": "Preprint / venue not confirmed here",
      "role": "Core observational route for large monitoring programs, changing cohorts, provider policies, cost, and operational design questions.",
      "boundary": "Single-author vendor preprint with unreleased commercial data, vendor metrics and carry-forward choices; future protocols are not findings, analyses were not independently reproduced, and black-box outputs do not identify hidden ingestion, memory, retrieval, or intervention causes."
    },
    {
      "id": "PAPER-12",
      "title": "E-GEO: A Testbed for Generative Engine Optimization in E-Commerce",
      "authors": "Puneet S. Bagga; Vivek F. Farias; Tamar Korkotashvili; Tianyi Peng; Yuhang Wu",
      "year": 2025,
      "arxiv_id": "2511.20867",
      "locked_version": "v2, 2026-07-14",
      "doi": "10.48550/arXiv.2511.20867",
      "url": "https://arxiv.org/abs/2511.20867",
      "status": "Preprint / venue not confirmed here",
      "role": "Extension route for fixed-candidate testbed design, run files, model-state limitations, parse failures, and cost questions.",
      "boundary": "Effects condition on a cached ten-item candidate slate and named calls; they do not establish crawl, indexing, live retrieval, future-model stability, clicks, conversion, revenue, or independent reproduction."
    },
    {
      "id": "PAPER-23",
      "title": "SAGEO Arena: A Realistic Environment for Evaluating Search-Augmented Generative Engine Optimization",
      "authors": "Sunghwan Kim; Wooseok Jeong; Serin Kim; Sangam Lee; Dongha Lee",
      "year": 2026,
      "arxiv_id": "2602.12187",
      "locked_version": "v2, 2026-08-07",
      "doi": "10.48550/arXiv.2602.12187",
      "url": "https://arxiv.org/abs/2602.12187",
      "status": "KDD 2026",
      "role": "Extension route for stage-specific measurement in a reconstructed retrieval-reranking-generation environment.",
      "boundary": "Targets are conditioned on a baseline reranker top ten and the pipeline is reconstructed; results do not disclose a proprietary architecture, establish production causal effects, or supply universal field weights."
    },
    {
      "id": "PLAT-04",
      "title": "Introducing AI Performance in Bing Webmaster Tools Public Preview",
      "url": "https://blogs.bing.com/webmaster/February-2026/Introducing-AI-Performance-in-Bing-Webmaster-Tools-Public-Preview",
      "status": "Official Microsoft/Bing product guidance; 2026-02-10 local catalog record",
      "role": "Bounded interface case for citation, cited-page, sampled-grounding-query, and trend labels on specified Microsoft surfaces.",
      "boundary": "Early-preview, aggregated, Microsoft-surface-specific interface documentation; counts do not indicate rank, authority, placement, cross-engine share, business outcome, collection authorization, or hidden backend identity."
    }
  ],
  "course_record_signature": {
    "title": "Field experiments and monitoring",
    "essential_question": "How do we learn under a changing platform?",
    "core_papers": [29, 38],
    "extend_papers": [12, 23],
    "platform_display_ids": ["PLAT-04"],
    "lab_ids": ["L06"],
    "studio_minutes": 80,
    "reading_boundary": "Interface documentation supports configuration facts at the checked date; observed differences do not identify hidden backend changes.",
    "low_compute_phrase": "The full core path uses a supplied panel and deterministic incident simulator."
  },
  "monitoring_plan": {
    "id": "PLAN-MON-W13-001",
    "version": "1.0",
    "status": "frozen_synthetic_offline",
    "approved_collection_mode": "SNAPSHOT-APPROVED-001",
    "network_required": false,
    "account_required": false,
    "paid_access_required": false,
    "browser_or_api_automation": false,
    "primary_incident_demo_metric": "mention",
    "other_noninterchangeable_metrics": [
      "citation",
      "entailment",
      "absorption",
      "referral"
    ],
    "planned_outcome_looks": [
      "after_complete_B-01",
      "after_complete_B-02",
      "after_complete_B-03"
    ],
    "continuous_hard_gate_monitoring": [
      "authorization",
      "privacy",
      "provider_policy",
      "evidence_preservation",
      "rate_limit",
      "cost_cap"
    ],
    "unplanned_look_policy": "append a deviation and reduce confirmatory claim status unless a separately prespecified sequential method applies",
    "efficacy_stopping_claim": false,
    "retry_policy": "Preserve the first attempt; retry only under a predeclared recoverable reason, count, delay, and authorization; never retry until a preferred answer appears.",
    "change_alerts": {
      "absolute_block_primary_rate_shift_at_least": 0.1,
      "incident_batch_noncomplete_proportion_above": 0.1,
      "known_configuration_or_protocol_identity_change": "rebaseline regardless of outcome direction",
      "causal_interpretation": "not identified"
    }
  },
  "system_cards": [
    {
      "id": "SYS-A-ALIAS",
      "l06_surface": "SYN-A",
      "route_type": "authored_dynamic_alias_example",
      "public_label": "SYN-ALIAS",
      "configuration_identity": "dynamic_alias",
      "backend_state": "unknown_and_not_a_real_platform_claim",
      "session": "not_applicable_to_frozen_csv",
      "account": "none",
      "locale": "en-EX teaching value",
      "collection_mode": "offline_instructor_snapshot",
      "authorization": "course_owned_synthetic_fixture_only"
    },
    {
      "id": "SYS-B-EXPLICIT",
      "l06_surface": "SYN-B",
      "route_type": "authored_explicit_configuration_example",
      "public_label_before": "SYN-EXPLICIT-2026-06-A",
      "public_label_after": "SYN-EXPLICIT-2026-06-B",
      "configuration_identity": "explicit_teaching_label",
      "backend_state": "unknown_and_not_a_real_platform_claim",
      "session": "not_applicable_to_frozen_csv",
      "account": "none",
      "locale": "en-EX teaching value",
      "collection_mode": "offline_instructor_snapshot",
      "authorization": "course_owned_synthetic_fixture_only"
    }
  ],
  "decision_contract": {
    "precedence": [
      "STOP_AND_ROLLBACK",
      "PAUSE",
      "REBASELINE",
      "CONTINUE"
    ],
    "hard_stop_conditions": [
      "authorization_absent_or_expired",
      "privacy_exposure",
      "prohibited_or_unapproved_automation",
      "evidence_preservation_failure",
      "provider_policy_conflict",
      "persistent_rate_limit_conflict",
      "approved_cost_cap_breach"
    ],
    "pause_conditions": [
      "recoverable_outage",
      "incident_batch_noncomplete_proportion_above_0.10",
      "rate_limit_warning",
      "parser_anomaly",
      "unknown_configuration_requires_diagnosis",
      "approaching_cost_warning"
    ],
    "rebaseline_conditions": [
      "known_alias_mapping_change",
      "explicit_configuration_identity_change",
      "interface_or_citation_surface_change",
      "parser_version_change",
      "query_bank_revision",
      "locale_or_account_state_change",
      "collection_mode_change"
    ],
    "continue_conditions": [
      "all_hard_gates_pass",
      "no_pause_condition",
      "no_comparability_change",
      "noncomplete_proportion_at_or_below_0.05"
    ],
    "quality_review_band": "noncomplete proportion above 0.05 and at or below 0.10 when no higher-precedence rule applies",
    "rollback_target": {
      "id": "SNAPSHOT-APPROVED-001",
      "state": "course-owned offline LAB-L06 panel and analyzer",
      "verification": "panel SHA-256 matches and LAB-L06 analyzer returns PASS",
      "boundary": "Rollback preserves incidents and does not admit unapproved rows."
    }
  },
  "incident_fixture": [
    {
      "id": "INC-01",
      "block": "B-01",
      "type": "scheduled_quality_look",
      "noncomplete": 4,
      "designed": 120,
      "noncomplete_proportion": 0.03333333333333333,
      "hard_gates_pass": true,
      "regime_changed": false,
      "expected_decision": "CONTINUE",
      "reason": "quality within predeclared 0.05 tolerance"
    },
    {
      "id": "INC-02",
      "block": "B-02",
      "type": "known_configuration_change",
      "from_configuration": "SYN-EXPLICIT-2026-06-A",
      "to_configuration": "SYN-EXPLICIT-2026-06-B",
      "alias_backend_state": "unknown",
      "hard_gates_pass": true,
      "recoverable_pause_condition": false,
      "regime_changed": true,
      "expected_decision": "REBASELINE",
      "reason": "explicit configuration identity changed before B-02"
    },
    {
      "id": "INC-03",
      "block": "B-03",
      "type": "simulated_outage",
      "unavailable": 6,
      "mini_batch_designed": 20,
      "noncomplete_proportion": 0.3,
      "hard_gates_pass": true,
      "recoverable_pause_condition": true,
      "expected_decision": "PAUSE",
      "reason": "noncomplete proportion exceeds 0.10 pause threshold",
      "panel_mutation": false
    },
    {
      "id": "INC-04",
      "block": "B-03",
      "type": "authorization_and_cost_hard_gate",
      "authorization_valid": false,
      "projected_cost_units": 12,
      "remaining_approved_cost_units": 8,
      "live_request_executed": false,
      "expected_decision": "STOP_AND_ROLLBACK",
      "reason": "authorization expired and projected cost exceeds remaining approved cap"
    }
  ],
  "worked_case_metrics": {
    "b02_same_time_alias_explicit_mention": {
      "syn_a_numerator": 25,
      "syn_a_denominator": 59,
      "syn_a_rate": 0.423729,
      "syn_b_numerator": 31,
      "syn_b_denominator": 60,
      "syn_b_rate": 0.516667,
      "syn_b_minus_syn_a": 0.092938,
      "boundary": "A same-time alias difference does not identify a hidden backend change."
    },
    "first_to_last_mention_drift": {
      "syn_a_first": 0.482759,
      "syn_a_last": 0.4,
      "syn_a_delta": -0.082759,
      "syn_b_first": 0.534483,
      "syn_b_last": 0.491525,
      "syn_b_delta": -0.042958,
      "boundary": "Synthetic descriptive drift; no release, model, index, routing, or intervention mechanism is identified."
    }
  },
  "ledger_contract": {
    "status": "frozen_append_only_hash_chained_synthetic",
    "canonicalization": "UTF-8 JSON, ensure_ascii=false, sorted keys, compact separators; compute SHA-256 before adding row_hash",
    "genesis_previous_hash": "0000000000000000000000000000000000000000000000000000000000000000",
    "required_fields": [
      "event_id",
      "sequence",
      "occurred_at",
      "recorded_at",
      "event_type",
      "block",
      "system_card_id",
      "actor_role",
      "severity",
      "facts",
      "evidence_pointer",
      "deviation_code",
      "decision",
      "reason_code",
      "parent_event_id",
      "previous_hash",
      "row_hash"
    ],
    "allowed_event_types": [
      "plan_frozen",
      "planned_look",
      "configuration_change",
      "outage_incident",
      "hard_gate_incident",
      "rollback_verified",
      "case_closed",
      "correction"
    ],
    "correction_policy": "Append a new correction event; never overwrite a prior event.",
    "final_row_hash": "3d27bf8133d8700db98926a267450ca5b29149763b09a31d2701290fbf248c33",
    "events": [
      {
        "event_id": "EV-001",
        "sequence": 1,
        "occurred_at": "2026-05-31T16:00:00+08:00",
        "recorded_at": "2026-05-31T16:00:00+08:00",
        "event_type": "plan_frozen",
        "block": null,
        "system_card_id": "PLAN-MON-W13-001",
        "actor_role": "experiment_owner",
        "severity": "info",
        "facts": "Plan version 1.0 frozen for offline snapshots.",
        "evidence_pointer": "manifest.json#monitoring_plan",
        "deviation_code": "NONE",
        "decision": "NONE",
        "reason_code": "PLAN_FREEZE",
        "parent_event_id": null,
        "previous_hash": "0000000000000000000000000000000000000000000000000000000000000000",
        "row_hash": "339a1849c110c654e8fabaa5121eef6d81b76cf5fe7da704469a9b119de3cc61"
      },
      {
        "event_id": "EV-002",
        "sequence": 2,
        "occurred_at": "2026-06-01T12:00:00+08:00",
        "recorded_at": "2026-06-01T12:00:00+08:00",
        "event_type": "planned_look",
        "block": "B-01",
        "system_card_id": "PANEL-L06",
        "actor_role": "analyst",
        "severity": "info",
        "facts": "INC-01: 4 of 120 designed events noncomplete (0.033333); hard gates pass.",
        "evidence_pointer": "LAB-L06/missingness.csv#B-01",
        "deviation_code": "NONE",
        "decision": "CONTINUE",
        "reason_code": "QUALITY_WITHIN_TOLERANCE",
        "parent_event_id": "EV-001",
        "previous_hash": "339a1849c110c654e8fabaa5121eef6d81b76cf5fe7da704469a9b119de3cc61",
        "row_hash": "9dbfc2d78f954ca04349c2410f0c2190d367129b0f8015c789f2b055895c936a"
      },
      {
        "event_id": "EV-003",
        "sequence": 3,
        "occurred_at": "2026-06-14T18:00:00+08:00",
        "recorded_at": "2026-06-14T18:00:00+08:00",
        "event_type": "configuration_change",
        "block": "B-02",
        "system_card_id": "SYS-B-EXPLICIT",
        "actor_role": "instructor",
        "severity": "medium",
        "facts": "INC-02: explicit configuration record changes from SYN-EXPLICIT-2026-06-A to SYN-EXPLICIT-2026-06-B; alias backend remains unknown.",
        "evidence_pointer": "manifest.json#incident_INC-02",
        "deviation_code": "KNOWN_REGIME_CHANGE",
        "decision": "REBASELINE",
        "reason_code": "CONFIGURATION_IDENTITY_CHANGED",
        "parent_event_id": "EV-001",
        "previous_hash": "9dbfc2d78f954ca04349c2410f0c2190d367129b0f8015c789f2b055895c936a",
        "row_hash": "12a27862608831e4d510b3c23e6512f106bca512878e29ed051bf74632f97620"
      },
      {
        "event_id": "EV-004",
        "sequence": 4,
        "occurred_at": "2026-06-15T12:00:00+08:00",
        "recorded_at": "2026-06-15T12:00:00+08:00",
        "event_type": "planned_look",
        "block": "B-02",
        "system_card_id": "PANEL-L06",
        "actor_role": "analyst",
        "severity": "info",
        "facts": "B-02 scheduled look completed inside REG-02; no hard gate or new pause condition.",
        "evidence_pointer": "LAB-L06/metric_estimates.csv#B-02",
        "deviation_code": "NONE",
        "decision": "CONTINUE_WITHIN_REGIME",
        "reason_code": "SCHEDULED_LOOK_NO_HARD_GATE",
        "parent_event_id": "EV-003",
        "previous_hash": "12a27862608831e4d510b3c23e6512f106bca512878e29ed051bf74632f97620",
        "row_hash": "716de48eec00551aef03509cca2aa3838e6f2a0baaec213ad01a36bef3f62ba8"
      },
      {
        "event_id": "EV-005",
        "sequence": 5,
        "occurred_at": "2026-07-01T09:30:00+08:00",
        "recorded_at": "2026-07-01T09:30:00+08:00",
        "event_type": "outage_incident",
        "block": "B-03",
        "system_card_id": "SYS-A-ALIAS",
        "actor_role": "incident_monitor",
        "severity": "high",
        "facts": "INC-03: 6 of 20 mini-batch cells unavailable (0.300000); authorization and privacy remain valid.",
        "evidence_pointer": "manifest.json#incident_INC-03",
        "deviation_code": "OPERATIONAL_OUTAGE",
        "decision": "PAUSE",
        "reason_code": "NONCOMPLETE_ABOVE_PAUSE_THRESHOLD",
        "parent_event_id": "EV-004",
        "previous_hash": "716de48eec00551aef03509cca2aa3838e6f2a0baaec213ad01a36bef3f62ba8",
        "row_hash": "b1385e0893f5537eceefbcd72b268a09484774aaca7744fe1055df5ac76972ff"
      },
      {
        "event_id": "EV-006",
        "sequence": 6,
        "occurred_at": "2026-07-01T10:00:00+08:00",
        "recorded_at": "2026-07-01T10:00:00+08:00",
        "event_type": "hard_gate_incident",
        "block": "B-03",
        "system_card_id": "SNAPSHOT-APPROVED-001",
        "actor_role": "release_owner",
        "severity": "critical",
        "facts": "INC-04: authorization expired and projected cost 12 exceeds remaining cap 8; no live request executed.",
        "evidence_pointer": "manifest.json#incident_INC-04",
        "deviation_code": "AUTHORIZATION_EXPIRED_AND_COST_CAP",
        "decision": "STOP_AND_ROLLBACK",
        "reason_code": "HARD_GATE_PRECEDENCE",
        "parent_event_id": "EV-005",
        "previous_hash": "b1385e0893f5537eceefbcd72b268a09484774aaca7744fe1055df5ac76972ff",
        "row_hash": "a4f1922428307202811b552f8b0104b653b4ce259f033a3fe8c692e637905dba"
      },
      {
        "event_id": "EV-007",
        "sequence": 7,
        "occurred_at": "2026-07-01T10:15:00+08:00",
        "recorded_at": "2026-07-01T10:15:00+08:00",
        "event_type": "rollback_verified",
        "block": "B-03",
        "system_card_id": "SNAPSHOT-APPROVED-001",
        "actor_role": "release_owner",
        "severity": "info",
        "facts": "Frozen panel hash and LAB-L06 analyzer PASS verified in approved snapshot-only mode.",
        "evidence_pointer": "LAB-L06/run_manifest.json",
        "deviation_code": "NONE",
        "decision": "ROLLBACK_COMPLETE",
        "reason_code": "APPROVED_SNAPSHOT_RESTORED",
        "parent_event_id": "EV-006",
        "previous_hash": "a4f1922428307202811b552f8b0104b653b4ce259f033a3fe8c692e637905dba",
        "row_hash": "01a70ebcc6faeae55c1a7673177c766ffa5eef0e08e495d1860e6f2407d5ab41"
      },
      {
        "event_id": "EV-008",
        "sequence": 8,
        "occurred_at": "2026-07-01T11:00:00+08:00",
        "recorded_at": "2026-07-01T11:00:00+08:00",
        "event_type": "case_closed",
        "block": "B-03",
        "system_card_id": "SNAPSHOT-APPROVED-001",
        "actor_role": "reviewer",
        "severity": "info",
        "facts": "Evidence preserved, unapproved rows not admitted, and hidden backend state remains unknown.",
        "evidence_pointer": "manifest.json#claim_boundary",
        "deviation_code": "NONE",
        "decision": "CLOSED",
        "reason_code": "EVIDENCE_PRESERVED",
        "parent_event_id": "EV-007",
        "previous_hash": "01a70ebcc6faeae55c1a7673177c766ffa5eef0e08e495d1860e6f2407d5ab41",
        "row_hash": "3d27bf8133d8700db98926a267450ca5b29149763b09a31d2701290fbf248c33"
      }
    ]
  },
  "l06_fixture_contract": {
    "status": "frozen_synthetic_offline_deterministic",
    "event_count": 360,
    "complete_event_count": 354,
    "noncomplete_event_count": 6,
    "query_count": 20,
    "surface_count": 2,
    "time_block_count": 3,
    "repetition_count": 3,
    "outcomes": [
      "mention",
      "citation",
      "entailment",
      "absorption",
      "referral"
    ],
    "interval": "95% Wilson score interval; descriptive and not dependence-adjusted",
    "required_outputs": [
      "tidy_panel.csv",
      "metric_estimates.csv",
      "time_drift.csv",
      "query_mix_sensitivity.csv",
      "missingness.csv",
      "data_dictionary.json",
      "validity_boundary.json",
      "run_manifest.json"
    ],
    "claim_ceiling": "deterministic synthetic fixture; no named product, live engine, causal intervention, business outcome, or population demand is estimated",
    "input_hashes_sha256": {
      "README.md": "b297f0c960a3edcafe685fb8f4b976c7209773e655438d1fb9d5b9a534553c13",
      "panel.csv": "c013f9aee92085ed91ef32261ad2e1a98956f1cc3667cd0c658985fb4a7ab5d7",
      "analyze_panel.py": "7a3fae3588176972ac5a7493b8079764b98497df10d85ec4cba018e5ba050f02"
    }
  },
  "visual_policy": {
    "external_figure_reuse": false,
    "external_screenshot_reuse": false,
    "external_logo_reuse": false,
    "copied_tex_figure_reuse": false,
    "visuals": "original_instructional_diagram_specifications_only",
    "required_encodings": [
      "label",
      "shape_or_position",
      "line_style",
      "numeric_threshold",
      "written_state",
      "alt_text",
      "text_or_table_equivalent"
    ]
  },
  "claim_boundary": {
    "identified": [
      "deterministic LAB-L06 structure and outputs",
      "descriptive synthetic block rates and differences",
      "observable authored alias and explicit system-card labels",
      "four deterministic incident decisions under frozen precedence",
      "append-only synthetic ledger hash-chain consistency",
      "verified rollback to the approved offline snapshot state"
    ],
    "not_identified": [
      "hidden backend mapping",
      "model snapshot cause",
      "retrieval or index change cause",
      "cache or routing cause",
      "live platform change",
      "causal intervention effect",
      "production change-point detector performance",
      "universal stop thresholds",
      "cross-engine generalization",
      "future configuration stability",
      "user behavior",
      "business outcome",
      "population demand",
      "legal compliance"
    ],
    "not_evaluated": [
      "live automation",
      "account behavior",
      "real rate-limit behavior",
      "real cost",
      "real authorization workflow",
      "real privacy incident response",
      "production rollback",
      "human response latency",
      "accessibility conformance",
      "classroom learning effectiveness",
      "successful timed delivery",
      "external peer review",
      "causal identification",
      "deployment readiness"
    ]
  },
  "quality_status": {
    "structural_validator": "passed_local_standard_library_validator_2026-08-24",
    "scientific_human_review": "pending",
    "accessibility_human_review": "pending",
    "timed_rehearsal": "pending",
    "classroom_pilot": "pending",
    "external_peer_review": "pending",
    "recording": "not_created",
    "deployment": "not_authorized_or_claimed"
  }
}
