{
  "schema_version": "1.0",
  "id": "n428-casebook",
  "name": "N428 Evidence Casebook",
  "description": "Public, privacy-safe lessons from real MUJ428 engineering and verification cycles. Cases are published to compress the time from discovery to one useful preflight without fabricating adoption or age.",
  "publication_rule": "Every case requires retrievable source evidence and an explicit boundary describing what the case does not prove.",
  "cases": [
    {
      "case_id": "n428-case-001-trust-gravity",
      "title": "A propagation loop can be technically live before external propagation is proven",
      "lesson": "Separate technical loop operation from independent external adoption. Discovery, compatibility advertisement, and self-reported observation are not enough to claim a self-propagating network.",
      "source_type": "github_commit",
      "source_ref": "0b64d6e8f3c62204d758ea559dd70d892ae4a28e",
      "source_url": "https://github.com/wmujahid428-web/muj428-a2a-revenue-engine/commit/0b64d6e8f3c62204d758ea559dd70d892ae4a28e",
      "evidence_state": "SOURCE_BOUND",
      "does_not_prove": ["external_adoption", "exponential_growth", "revenue"]
    },
    {
      "case_id": "n428-case-002-trust-kernel",
      "title": "The terminal actor must independently preflight the last preventable consequence boundary",
      "lesson": "An upstream claim that an action was already verified cannot substitute for the terminal actor's own action-bound preflight immediately before money or external state changes.",
      "source_type": "github_commit",
      "source_ref": "61487fc14be21fb4de51c6324a86d8cb11b6bfdf",
      "source_url": "https://github.com/wmujahid428-web/muj428-a2a-revenue-engine/commit/61487fc14be21fb4de51c6324a86d8cb11b6bfdf",
      "trust_kernel_sha256": "68b0418841d58d3e977105a5d923d3ebec741aa4d83292d8a1276a7b86d01cee",
      "evidence_state": "SOURCE_BOUND",
      "does_not_prove": ["execution_occurred", "verified_effect"]
    },
    {
      "case_id": "n428-case-003-invocation-observer",
      "title": "Exact fixture observation is not proof of external control",
      "lesson": "An exact action_ref can establish INVOCATION_OBSERVED. caller_ref remains self-supplied and cannot independently establish who controlled the caller. Promotion to VERIFIED_EXTERNAL_INVOCATION requires separate corroboration.",
      "source_type": "github_commit",
      "source_ref": "3d1b4646b1816b2394a570454573d138fe8b4ff9",
      "source_url": "https://github.com/wmujahid428-web/muj428-a2a-revenue-engine/commit/3d1b4646b1816b2394a570454573d138fe8b4ff9",
      "evidence_state": "SOURCE_BOUND",
      "does_not_prove": ["external_control", "repeat_use", "embedding", "revenue"]
    },
    {
      "case_id": "n428-case-004-n428-launch",
      "title": "Public protocol availability is not adoption",
      "lesson": "Publishing a manifest, protocol, machine schema, or social explanation makes N428 discoverable. Independent recurring external use remains a separate evidence requirement.",
      "source_type": "github_commit",
      "source_ref": "432baab5fe69cc286f4346f81a7047d1aeef57da",
      "source_url": "https://github.com/wmujahid428-web/muj428-a2a-revenue-engine/commit/432baab5fe69cc286f4346f81a7047d1aeef57da",
      "evidence_state": "SOURCE_BOUND",
      "does_not_prove": ["external_adoption", "paid_use", "propagation"]
    }
  ],
  "canonical_first_preflight": {
    "method": "POST",
    "endpoint": "https://wepmhfjzckclvywolrek.supabase.co/functions/v1/trust-layer/v1/trust",
    "route_first_when_action_is_unknown": "https://wepmhfjzckclvywolrek.supabase.co/functions/v1/trust-layer/v1/route"
  }
}
