{"title":
 "R13: A run's inputs are data: equal recorded inputs give equal replay observations",
 "producer":
 ["GENERATED by tools/Drivers/Semantics.lean (make gen-semantics); do not edit",
  "format: effect4-semantics-report v8",
  "command: make gen-semantics",
  "inputs: tools/ProofGraph/Registry.lean, tools/Tools/Semantics.lean, tools/Drivers/Semantics.lean, tools/Tools/SemanticsDisplay.lean, tools/Tools/SemanticsDocument.lean, tools/Tools/Document.lean, tools/Tools/Document/Json.lean, src/Effect4/Laws/Auto/Semantics.lean, Test/Counterexamples/REGISTER.md, docs/core/decisions.md, lean-toolchain"],
 "format": "effect4-document/1",
 "body":
 [{"lines":
   [[{"text":
      "Open, after other work (Config, route B: designed and not implemented (decisions rows 51 and 83)): load inputs, the environment snapshot and the seed: designed (the 2026-09-10 Config route B), not implemented (decisions rows 51, 83)"}],
    [{"text":
      "Open, after other work (Config, route B: it restates the typed load when Config lands): supplied values fit the admitted load requirements: restates M5 (loadsTyped, the retired ledger's typedState_load) when Config lands"}],
    [{"text":
      "Open, not triaged: the service half of the signature as a recorded input: Built carries the row table only (decisions row 21)"}],
    [{"text":
      "Open, worded as a proposed claim: clock-unit-compatibility (proposed claim; translation-simulation): exact nanoseconds inside, with every recorded millisecond input kept in meaning by an explicit conversion; public nanosecond readings wait for the target's bigint contract (decisions rows 83, 231)"}]],
   "kind": "items"},
  {"title": "Requirement R13: A run's inputs are data",
   "kind": "part",
   "key": "about:req:R13",
   "body":
   [{"line":
     [{"text":
       "This page explains requirement R13 in Effect4. It covers what the requirement asks for execution inputs, why first-order replay matters, and how the property is checked."}],
     "kind": "para"},
    {"title": "What the requirement asks",
     "kind": "part",
     "key": "about:req:R13:what-it-asks",
     "body":
     [{"line":
       [{"text":
         "Requirement R13 demands that every input influencing an execution run is first-order data ("},
        {"code": "docs/core/system-map.md"},
        {"text": " §8, DB-01):"}],
       "kind": "para"},
      {"lines":
       [[{"text":
          "Congruence: equal recorded program syntax, typing signatures, profiles, budgets, tapes, and load values yield equal replay observations."}],
        [{"text":
          "Value admission: supplied load values fit admitted load requirements."}],
        [{"text":
          "Replay from journal: an execution replays from its recorded journal without calling external hosts ("},
         {"code": "journal_replays"},
         {"text": ")."}],
        [{"text":
          "Pure decision tapes: decision sequences contain first-order branch choices rather than host functions or promises."}]],
       "kind": "items"},
      {"line":
       [{"text":
         "Host closures, uninspected promises, and hidden runtime objects never enter program state."}],
       "kind": "para"}]},
    {"title": "Why it matters",
     "kind": "part",
     "key": "about:req:R13:why-it-matters",
     "body":
     [{"line":
       [{"text":
         "Distributed and concurrent programs often fail in ways that are difficult to reproduce when inputs depend on ambient system state."}],
       "kind": "para"},
      {"line":
       [{"text":
         "If a runtime allows unrecorded closures or implicit clocks to steer execution, recorded traces cannot reproduce defects reliably."}],
       "kind": "para"},
      {"line":
       [{"text":
         "With every input held as first-order data, a recorded run replays exactly, and a counterexample is a value that can be stored and shared."}],
       "kind": "para"}]},
    {"title": "How it is checked",
     "kind": "part",
     "key": "about:req:R13:how-it-is-checked",
     "body":
     [{"line":
       [{"text":
         "The requirement is checked by proving replay theorems and congruence over journals and tapes:"}],
       "kind": "para"},
      {"lines":
       [[{"text": "Journal replay is stated by "},
         {"code": "journal_replays"},
         {"text": " in "},
         {"code": "src/Effect4/Laws/Run.lean"},
         {"text": "."}],
        [{"text": "Tape cut replay is stated by "},
         {"code": "tapeFrom_cut_replays"},
         {"text": " ("},
         {"code": "src/Effect4/Laws/Run/Tape.lean"},
         {"text": ")."}],
        [{"text": "Tape position replay is stated by "},
         {"code": "tapeFrom_position_replays"},
         {"text": " in the same file."}],
        [{"text": "Reached history congruence is stated by "},
         {"code": "reached_history"},
         {"text": " in "},
         {"code": "src/Effect4/Laws/Run/Frame.lean"},
         {"text": "."}]],
       "kind": "items"},
      {"line":
       [{"text":
         "The plan on this page gives each theorem's status and the goals it rests on."}],
       "kind": "para"}]}]},
  {"nodes":
   [{"status": "proved",
     "ref": "concept:host-session-protocol",
     "label": "Host Session Protocol",
     "key": "host-session-protocol",
     "detail": "5 nodes"},
    {"status": "proved",
     "label": "No concept",
     "key": "none",
     "detail": "1 nodes"},
    {"status": "proved",
     "ref": "concept:translation-simulation",
     "label": "Translation & Simulation",
     "key": "translation-simulation",
     "detail": "5 nodes"}],
   "kind": "graph",
   "key": "fig:concepts:R13",
   "edges": [["host-session-protocol", "none"]],
   "caption":
   "R13 by concept: each concept its nodes are placed at, by tag or by module. An arrow goes where a node's proof reaches a node of another concept."},
  {"rows":
   [[[{"code": "journal_replays"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "reached"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "reached_history"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "tapeFrom_append"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "tapeFrom_cut"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "tapeFrom_cut_replays"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "tape_replays"}, {"text": ", "}, {"code": "tapeFrom_cut"}]],
    [[{"code": "tapeFrom_position_replays"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "tape_replays"}]],
    [[{"code": "history"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "reached_history"}]],
    [[{"code": "keeps"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "replays"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "journal_replays"}]],
    [[{"code": "tape_replays"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]]],
   "kind": "table",
   "headers": ["Node", "Status", "Rests on", "Nearest nodes"]}]}
