{
  "id": "metacore_context_lab_experiments_v1",
  "version": "1.0.0",
  "status": "PUBLIC_BROWSER_LOCAL_PRESETS",
  "purpose": "Six compact guided experiments that preload existing public Context Lab instruments. They add no model calls, private runtime access, storage or analytics.",
  "rules": {
    "private_runtime_calls": false,
    "database_writes": false,
    "network_calls_from_runner": false,
    "persistence": false,
    "analytics": false,
    "experiments_are_presets_not_new_instruments": true
  },
  "experiments": [
    {
      "id": "unknown",
      "title": "Can the system admit it does not know?",
      "short": "Unknown stays unknown.",
      "category": "evidence",
      "instrument": "epistemic_route",
      "target": "epistemic-instrument",
      "deeplink_path": "/context-lab/?exp=unknown",
      "preset": {
        "source_type": "model_inference",
        "freshness": "unknown",
        "directly_supported": "no",
        "material_missing": "yes"
      },
      "expected": {
        "epistemic_class": "MISSING_DATA"
      },
      "boundary": "The demo classifies evidence state; it does not generate or verify the missing fact."
    },
    {
      "id": "authority",
      "title": "Can AI keep an authority boundary?",
      "short": "Capability is not permission.",
      "category": "authority",
      "instrument": "authority_check",
      "target": "authority-instrument",
      "deeplink_path": "/context-lab/?exp=authority",
      "preset": {
        "actor_type": "ai_agent",
        "authenticated": "yes",
        "delegated_mandate": "no",
        "scope_match": "yes",
        "impact": "external_effect",
        "approval_policy": "required"
      },
      "expected": {
        "decision": "BLOCK"
      },
      "boundary": "The demo evaluates declared scope/mandate fields; it does not execute any action."
    },
    {
      "id": "knowledge",
      "title": "Where does this question live?",
      "short": "Route the question before answering it.",
      "category": "knowledge",
      "instrument": "knowledge_route",
      "target": "knowledge-instrument",
      "deeplink_path": "/context-lab/?exp=knowledge",
      "preset": {
        "query": "AI robot liability"
      },
      "expected": {
        "route": [
          "robotics_engineering",
          "law_rights",
          "science_research"
        ]
      },
      "boundary": "Topology is orientation, not proof; source-specific claims still need evidence."
    },
    {
      "id": "state",
      "title": "What actually changed?",
      "short": "Make state transition explicit.",
      "category": "continuity",
      "instrument": "state_delta",
      "target": "state-instrument",
      "deeplink_path": "/context-lab/?exp=state",
      "preset": {
        "before": {
          "task": "deploy",
          "status": "blocked",
          "owner": null,
          "verified": false,
          "unknowns": [
            "owner"
          ]
        },
        "after": {
          "task": "deploy",
          "status": "ready_for_review",
          "owner": "release_manager",
          "verified": true,
          "unknowns": [],
          "rollback": "prepared"
        }
      },
      "expected": {
        "changed_paths": [
          "owner",
          "status",
          "unknowns",
          "verified"
        ],
        "added_paths": [
          "rollback"
        ]
      },
      "boundary": "The demo reports DELTA and never writes the new state back."
    },
    {
      "id": "team",
      "title": "Where is the team friction?",
      "short": "Profile the mechanism, not the employee.",
      "category": "operations",
      "instrument": "team_friction",
      "target": "team",
      "deeplink_path": "/context-lab/?exp=team",
      "preset": {
        "team_type": "project",
        "stuck": "Decisions bounce between several owners and do not close.",
        "decision": 9,
        "ownership": 6,
        "communication": 3,
        "rhythm": 6,
        "next_improvement": "One owner and one closure rule per active decision."
      },
      "expected": {
        "score": 24,
        "band": "MEDIUM FRICTION",
        "bottleneck": "decision"
      },
      "boundary": "Operational context only; not HR assessment, employee profiling or performance rating."
    },
    {
      "id": "signal",
      "title": "What is signal vs assumption?",
      "short": "See provenance before interpretation.",
      "category": "personal",
      "instrument": "personal_seed",
      "target": "personal",
      "deeplink_path": "/context-lab/?exp=signal",
      "preset": {
        "birth_date": "1990-01-01",
        "birth_city": "Vilnius",
        "birth_time": null
      },
      "expected": {
        "birth_time": "12:00",
        "birth_time_class": "ASSUMED_NOON",
        "precision_gate": "TIME_SENSITIVE_ASTRO_BLOCKED"
      },
      "boundary": "Birth time remains an explicit assumption and the symbolic matrix is not psychometric assessment."
    }
  ]
}
