{"title":
 "R8: Runs and faces as named connections: equal to the reference inside a profile, refused outside it",
 "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, waits on a ruling (decisions row 28: what verified lowering means): typed lowering open: what verified lowering means (decisions row 28); the OCaml engine is outside M7 until it is ruled"}],
    [{"text":
      "Open, waits on a ruling (decisions row 108: the owner places the numbers slice): numbers open (decisions row 108): each face equal to the reference inside its bounded profile and refusing outside it, intermediates included (DI-56)"}],
    [{"text":
      "Open, not triaged: K2 holds on the readable domain; since the state plan's T5, part B, a loop's stated cursor type and an operation's type arguments read back through one checked type reader (Classes.readTyChecked, DI-91's fallback (a) in a checked form), and the domain excludes a stated type outside the readable types (Classes.ReadableTy: a collision such as int, a spelling with no reading such as a handle type) and every list fold that states its accumulator's type, which is printed and not read"}],
    [{"text":
      "Open, after other work (the fiber identity carrier of DI-81, ruled and not landed): one identity bijection across faces: the fiber identity carrier is ruled, not landed (DI-81)"}],
    [{"text":
      "Open, not triaged: the TypeScript face against rc.112: finite checks only, by the truth harness and by the keyed lane's runs of the scenarios' scripts on their printed modules (DI-49; decisions row 254); the truth harness compares each entry's exit with the same entry's, the fork run's and the sync run's apart; two Semaphore programs settle on two exits under their two entries, and the two faces give one exit on each; three Pool programs settle on two exits too, and their sync runs are pinned apart from the allocation order on the Lean face (lateSightsSync, harness/truth/Truth.lean) (Test/contracts/faces.contract.md, the amendments of 2026-10-06; decisions row 279)"}],
    [{"text":
      "Open, not triaged: the profile as data, named by each face's law (decisions row 79, R79.5)"}]],
   "kind": "items"},
  {"title": "Requirement R8: Runs and faces as named connections",
   "kind": "part",
   "key": "about:req:R8",
   "body":
   [{"line":
     [{"text":
       "This page explains requirement R8 in Effect4. It covers what the requirement asks for execution faces and profiles, why named connections matter, and how the property is checked."}],
     "kind": "para"},
    {"title": "What the requirement asks",
     "kind": "part",
     "key": "about:req:R8:what-it-asks",
     "body":
     [{"line":
       [{"text":
         "Requirement R8 demands that every face and backend operates as a named connection bounded by explicit profile data ("},
        {"code": "docs/core/system-map.md"},
        {"text": " §8, decisions row 79):"}],
       "kind": "para"},
      {"lines":
       [[{"text":
          "Profile bounds: inside its declared profile, a face's observation equals the reference observation up to an identity bijection."}],
        [{"text":
          "Located refusal: outside its profile, the face refuses execution, including intermediate values that exceed supported bounds."}],
        [{"text":
          "Profile as data: target capabilities and numerical ranges are defined as first-order profile data rather than ad-hoc heuristics."}],
        [{"text":
          "Invertible target syntax: printing and reading target code form partial isomorphisms on readable domains."}]],
       "kind": "items"},
      {"line":
       [{"text":
         "A face must never silently compute unvetted answers outside its certified profile."}],
       "kind": "para"}]},
    {"title": "Why it matters",
     "kind": "part",
     "key": "about:req:R8:why-it-matters",
     "body":
     [{"line":
       [{"text":
         "Effect4 presents multiple faces: application interfaces, printed TypeScript modules, and native OCaml engines lowered through LCNF."}],
       "kind": "para"},
      {"line":
       [{"text":
         "Different target runtimes enforce different scalar limits, memory layouts, and feature subsets."}],
       "kind": "para"},
      {"line":
       [{"text":
         "An explicit profile makes each face state the boundary it supports, so a difference between platforms is a refusal and not a silent divergence."}],
       "kind": "para"}]},
    {"title": "How it is checked",
     "kind": "part",
     "key": "about:req:R8:how-it-is-checked",
     "body":
     [{"line":
       [{"text":
         "The requirement is checked by proving face simulations and print-read isomorphisms over declared profiles:"}],
       "kind": "para"},
      {"lines":
       [[{"text": "Invertible syntax round-tripping is stated by "},
         {"code": "read_print"},
         {"text": " and "},
         {"code": "read_exact"},
         {"text": " in "},
         {"code": "src/Effect4/Laws/Codegen/ReadPrint.lean"},
         {"text": "."}],
        [{"text": "Meaning agreement on the "},
         {"code": "Straight"},
         {"text": " fragment is stated by "},
         {"code": "run_eq_meaning"},
         {"text": " ("},
         {"code": "src/Effect4/Laws/Program/Agreement/Segment.lean"},
         {"text": ")."}],
        [{"text": "Loop step agreement on the "},
         {"code": "Looped"},
         {"text": " fragment is stated by "},
         {"code": "loopAgreement_of_straight"},
         {"text": " ("},
         {"code": "src/Effect4/Laws/Program/LoopAgreement.lean"},
         {"text": ")."}],
        [{"text": "Reference simulation at the empty row table is stated by "},
         {"code": "run_eq_ref"},
         {"text": " ("},
         {"code": "src/Effect4/Laws/Program/RuntimeR.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:exact-codecs",
     "label": "Exact Codecs",
     "key": "exact-codecs",
     "detail": "12 nodes"},
    {"status": "proved",
     "ref": "concept:translation-simulation",
     "label": "Translation & Simulation",
     "key": "translation-simulation",
     "detail": "8 nodes"},
    {"status": "proved",
     "label": "No concept",
     "key": "none",
     "detail": "7 nodes"},
    {"status": "proved",
     "ref": "concept:initial-algebras-folds",
     "label": "Initial Algebras & Folds",
     "key": "initial-algebras-folds",
     "detail": "43 nodes"}],
   "kind": "graph",
   "key": "fig:concepts:R8",
   "edges":
   [["exact-codecs", "none"],
    ["translation-simulation", "initial-algebras-folds"],
    ["exact-codecs", "initial-algebras-folds"],
    ["translation-simulation", "none"],
    ["none", "translation-simulation"],
    ["initial-algebras-folds", "none"]],
   "caption":
   "R8 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": "read_print"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "readTerm_printTerm"}]],
    [[{"code": "read_exact"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "run_eq_meaning"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "at_append"}]],
    [[{"code": "loopAgreement"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "at_append"}]],
    [[{"code": "run_eq_ref"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "at_append"}]],
    [[{"code": "mask_rows_table_premises"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "read_exact"}, {"text": ", "}, {"code": "read_print"}]],
    [[{"code": "printTyped_eq_print"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "printTypedAt_none"}]],
    [[{"code": "printTypedAt_none"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "hom_eq_cata_eff"}]],
    [[{"code": "eraseJoinArgs_printTyped"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "eraseJoinArgs_printTypedSitesAt"},
      {"text": ", "},
      {"code": "eraseJoinArgs_printTypedAt"}]],
    [[{"code": "eraseJoinArgs_printTypedAt"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "readTerm_printTerm"}]],
    [[{"code": "eraseJoinArgs_printTypedSitesAt"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "envAt_append"},
      {"text": ", "},
      {"code": "annotate_eq_table"},
      {"text": ", "},
      {"code": "at_child"},
      {"text": ", "},
      {"code": "readTerm_printTerm"},
      {"text": ", "},
      {"code": "envAt_child"}]],
    [[{"code": "readTyped_exact"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "read_exact"}]],
    [[{"code": "readTyped_printTyped"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "eraseJoinArgs_printTyped"},
      {"text": ", "},
      {"code": "read_print"}]],
    [[{"code": "readTyped_printTypedAt"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "eraseJoinArgs_printTypedAt"},
      {"text": ", "},
      {"code": "read_print"}]],
    [[{"code": "readModule_printModule_defs"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "replaceAt_spec"}]],
    [[{"code": "funded_replays"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "journal_replays"}, {"text": ", "}, {"code": "tape_replays"}]],
    [[{"code": "tape_replays"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "unsuspended_runs"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "run_agrees"}]],
    [[{"code": "shown_views_opened"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "tapeFrom_position_replays"}]],
    [[{"code": "readTerm_printTerm"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "at_append"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "hom_eq_cata_eff"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "envAt_append"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "annotate_eq_table"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "check_eq"}, {"text": ", "}, {"code": "table_eq_tableAt"}]],
    [[{"code": "at_child"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "at_append"}]],
    [[{"code": "envAt_child"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "envAt_append"}]],
    [[{"code": "replaceAt_spec"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "journal_replays"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "run_agrees"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "run_eq_meaning"}]],
    [[{"code": "tapeFrom_position_replays"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "tape_replays"}]],
    [[{"code": "check_eq"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "tableAt_eq_cons"},
      {"text": ", "},
      {"code": "tableAt_none"},
      {"text": ", "},
      {"code": "checkStmt_step_binds"},
      {"text": ", "},
      {"code": "effTy_of_check"},
      {"text": ", "},
      {"code": "termTy_of_term?"}]],
    [[{"code": "table_eq_tableAt"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "tableAt_eq_cons"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "tableEntryAt_nil"},
      {"text": ", "},
      {"code": "childAddresses_map_tableEntryAt"},
      {"text": ", "},
      {"code": "addresses_eq_cons"}]],
    [[{"code": "tableAt_none"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "checkStmt_step_binds"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "effTy_of_check"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "check_sound"}, {"text": ", "}, {"code": "check_complete"}]],
    [[{"code": "termTy_of_term?"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "tableEntryAt_nil"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "childAddresses_map_tableEntryAt"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "addresses_eq_cons"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "foldMapAt_stmt_paths_cons"},
      {"text": ", "},
      {"code": "foldMapAt_layers_paths_cons"},
      {"text": ", "},
      {"code": "foldMapAt_effs_paths_cons"},
      {"text": ", "},
      {"code": "foldMapAt_layer_paths_cons"},
      {"text": ", "},
      {"code": "foldMapAt_action_paths_cons"},
      {"text": ", "},
      {"code": "foldMapAt_stmts_paths_cons"},
      {"text": ", "},
      {"code": "foldMapAt_eff_paths_cons"}]],
    [[{"code": "check_sound"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "check_complete"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "foldMapAt_stmt_paths_cons"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "foldMapAt_stmt_paths_shift"}]],
    [[{"code": "foldMapAt_layers_paths_cons"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "foldMapAt_layers_paths_shift"}]],
    [[{"code": "foldMapAt_effs_paths_cons"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "foldMapAt_effs_paths_shift"}]],
    [[{"code": "foldMapAt_layer_paths_cons"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "foldMapAt_layer_paths_shift"}]],
    [[{"code": "foldMapAt_action_paths_cons"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "foldMapAt_action_paths_shift"}]],
    [[{"code": "foldMapAt_stmts_paths_cons"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "foldMapAt_stmts_paths_shift"}]],
    [[{"code": "foldMapAt_eff_paths_cons"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "foldMapAt_eff_paths_shift"}]],
    [[{"code": "foldMapAt_stmt_paths_shift"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "foldMapAt_stmt_hom"},
      {"text": ", "},
      {"code": "foldMapAt_stmt_base"}]],
    [[{"code": "foldMapAt_layers_paths_shift"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "foldMapAt_layers_hom"},
      {"text": ", "},
      {"code": "foldMapAt_layers_base"}]],
    [[{"code": "foldMapAt_effs_paths_shift"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "foldMapAt_effs_hom"},
      {"text": ", "},
      {"code": "foldMapAt_effs_base"}]],
    [[{"code": "foldMapAt_layer_paths_shift"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "foldMapAt_layer_hom"},
      {"text": ", "},
      {"code": "foldMapAt_layer_base"}]],
    [[{"code": "foldMapAt_action_paths_shift"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "foldMapAt_action_hom"},
      {"text": ", "},
      {"code": "foldMapAt_action_base"}]],
    [[{"code": "foldMapAt_stmts_paths_shift"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "foldMapAt_stmts_hom"},
      {"text": ", "},
      {"code": "foldMapAt_stmts_base"}]],
    [[{"code": "foldMapAt_eff_paths_shift"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"code": "foldMapAt_eff_hom"},
      {"text": ", "},
      {"code": "foldMapAt_eff_base"}]],
    [[{"code": "foldMapAt_stmt_hom"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "foldMapAt_stmt_base"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "foldMapAt_layers_hom"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "foldMapAt_layers_base"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "foldMapAt_effs_hom"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "foldMapAt_effs_base"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "foldMapAt_layer_hom"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "foldMapAt_layer_base"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "foldMapAt_action_hom"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "foldMapAt_action_base"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "foldMapAt_stmts_hom"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "foldMapAt_stmts_base"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "foldMapAt_eff_hom"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]],
    [[{"code": "foldMapAt_eff_base"}],
     [{"status": "proved"}],
     [{"text": "—"}],
     [{"text": "—"}]]],
   "kind": "table",
   "headers": ["Node", "Status", "Rests on", "Nearest nodes"]}]}
