{
  "schemaVersion": "flash-core-eval-correction-protocol/v2",
  "runId": "run-3",
  "createdAt": "2026-07-26T14:21:46+07:00",
  "reason": "Independent run-2 audit found answer leakage in the intent prompt and deterministic-scorer false positives for scenario contracts and effect-free narration. Run-3 corrects the measurement instrument before any new provider calls.",
  "historyPolicy": {
    "preserveRun1Raw": true,
    "preserveRun2Raw": true,
    "preservePriorPreflights": true,
    "overwritePriorResults": false,
    "rescorePriorRunsWithV3Evaluator": false,
    "note": "Run-1 and run-2 scorecards remain historical results under their recorded evaluator revisions. Their semantic intent case IDs are intentionally incompatible with the opaque run-3 IDs."
  },
  "preflight": {
    "logicalManifestHash": "a758d221a63eb2f2600af570d8431764597bd8c3ae75d4960d94d8963e0ebfb8",
    "preflightV3ManifestFileSha256": "9780519911a6c7fc2ed3d6efacf292899a321d8156c0c36ec71ff3c553c2d8f3",
    "requestCount": 12,
    "promptCount": 12,
    "workflowCount": 12,
    "note": "Manifest schema v2 includes protocolRevision=3, so the logical hash now distinguishes this protocol. The complete preflight file hash additionally binds every prompt and workflow hash."
  },
  "instrumentChanges": {
    "scenario": [
      "Require lowercase ASCII kebab-case for all machine IDs and clock advanceSignals.",
      "Require clocks to start at initialValue 0.",
      "Require exactly one opening, one challenge, and one finale.",
      "Require success and fail-forward failure routes, with the finale resolving two distinct endings.",
      "Reject exact excluded-content phrases case-insensitively.",
      "Reject false predicates over immutable story facts."
    ],
    "intent": [
      "Replace answer-bearing semantic case IDs with opaque case-1 through case-4 IDs.",
      "Keep the semantic oracle inside the TypeScript evaluator and omit it from model input.",
      "Describe runtime field contracts without embedding fixture-specific expected command objects."
    ],
    "narration": [
      "Forbid invented filing, maintenance, retry, requirement, or other aftermath when the committed failure has no effects.",
      "Reject the concrete unsupported-aftermath forms observed in run-2."
    ]
  },
  "providerRerun": {
    "scope": "all-12-cells",
    "reason": "All three role prompts or their public case contracts changed; no run-1 or run-2 provider output is reused.",
    "requestIds": [
      "qwen-qwen3-6-flash--ru--scenario--r1",
      "qwen-qwen3-6-flash--ru--intent--r1",
      "qwen-qwen3-6-flash--ru--narration--r1",
      "qwen-qwen3-6-flash--en--scenario--r1",
      "qwen-qwen3-6-flash--en--intent--r1",
      "qwen-qwen3-6-flash--en--narration--r1",
      "deepseek-deepseek-v4-flash--ru--scenario--r1",
      "deepseek-deepseek-v4-flash--ru--intent--r1",
      "deepseek-deepseek-v4-flash--ru--narration--r1",
      "deepseek-deepseek-v4-flash--en--scenario--r1",
      "deepseek-deepseek-v4-flash--en--intent--r1",
      "deepseek-deepseek-v4-flash--en--narration--r1"
    ]
  },
  "dryRun": {
    "status": "passed",
    "validatedAt": "2026-07-26T14:29:29+07:00",
    "validatedGraphs": 12,
    "failedGraphs": 0,
    "creditsSpent": 0
  },
  "billing": {
    "userAuthorizedPaidRun": true,
    "approvedSoftCapCredits": 15,
    "hardCapAvailable": false,
    "liveBalanceAvailable": false,
    "creditDeltaAvailable": false
  },
  "knownMeasurementLimits": {
    "executableReachability": "not_measured",
    "scenarioCoherence": "not_measured",
    "paraphrasedPrivacyLeakage": "not_measured",
    "humanNarrationNaturalness": "pending_human_review",
    "note": "The existing compiler proves structural graph reachability but ignores free-text exit.when and outcome when compiling triggers. Run-3 must be described as a structural contract smoke test, not proof that authored branches are executable or narratively coherent."
  }
}
