{
  "version": "0.3.0",
  "date": "2026-10-17",
  "status": "passed",
  "reports": {
    "cpu": {
      "date": "2026-10-17",
      "status": "passed",
      "checks": [
        {
          "name": "Documented 8/16/32-bit width combinations and mode exchange",
          "passed": true
        },
        {
          "name": "Native 32-bit ADC carry/overflow and SBC sign boundary",
          "passed": true
        },
        {
          "name": "Native 32-bit stack transfers round trip all four bytes",
          "passed": true
        },
        {
          "name": "32-bit indirect indexed transfer crosses a 64 KiB boundary",
          "passed": true
        },
        {
          "name": "Half-native A16/X32 and full-native A32/X32 width decoding",
          "passed": true
        },
        {
          "name": "40000 valid BCD ADC/SBC cases in native 8-bit operand mode",
          "passed": true
        },
        {
          "name": "32-bit BCD carries and borrows propagate through eight digits",
          "passed": true
        },
        {
          "name": "CPU bus yields byte-level writes and RMW lock ownership",
          "passed": true
        },
        {
          "name": "Private banks, closed aliases and common RAM map correctly",
          "passed": true
        },
        {
          "name": "Semaphores claim atomically and cannot be released by another core",
          "passed": true
        }
      ],
      "bcdCases": 40000
    },
    "core": {
      "date": "2026-10-17",
      "version": "0.3.0",
      "status": "passed",
      "checks": [
        {
          "name": "C0 runs native ROM kernel after actual four-core POST",
          "passed": true,
          "evidence": {
            "kernelEntry": 15859712
          }
        },
        {
          "name": "Editor sends UTF-8 bytes; C0 copies IPC; native printer emits exact text",
          "passed": true,
          "evidence": {
            "text": "Čistoća / Orao 2026 → pisač",
            "bytesCopied": 32
          }
        },
        {
          "name": "Sleeping IPC receiver consumes no application CPU until a message arrives",
          "passed": true,
          "evidence": {
            "blockedCyclesStable": true
          }
        },
        {
          "name": "A process keeps its private banks, stack, DP and full registers when moved",
          "passed": true,
          "evidence": {
            "migrations": 1,
            "context": {
              "a": 287454020,
              "x": 2882400001,
              "y": 2271560481,
              "pc": 4120,
              "pbr": 0,
              "s": 8172,
              "dp": 4660,
              "dbr": 0,
              "p": 4,
              "e8": 1,
              "e16": 0
            }
          }
        },
        {
          "name": "Priority requests are unique, atomic and do not disturb an old value on error",
          "passed": true,
          "evidence": {
            "swap": true,
            "invalidRetainsOld": true
          }
        },
        {
          "name": "Ten process levels include blocked/paused processes; termination frees a level with a fresh PID",
          "passed": true,
          "evidence": {
            "slots": 10,
            "oldPid": 4,
            "newPid": 12
          }
        },
        {
          "name": "Native SEI cannot prevent supervisor preemption; weighted priorities preserve low-priority progress",
          "passed": true,
          "evidence": {
            "highCycles": 2527991,
            "lowCycles": 252334,
            "ratio": 10.018431919598628
          }
        },
        {
          "name": "AUTO uses both application cores; no process ever runs twice at once",
          "passed": true,
          "evidence": {
            "migrations": 22,
            "processes": [
              {
                "pid": 1,
                "name": "Worker 1",
                "priority": 1,
                "affinity": 0,
                "state": 2,
                "core": 2,
                "lastCore": 2,
                "cycles": 2966190,
                "instructions": 395492,
                "dispatches": 137,
                "migrations": 9,
                "inbox": 0,
                "request": 0,
                "result": 0,
                "fault": ""
              },
              {
                "pid": 2,
                "name": "Worker 10",
                "priority": 10,
                "affinity": 0,
                "state": 1,
                "core": 0,
                "lastCore": 2,
                "cycles": 369331,
                "instructions": 49245,
                "dispatches": 19,
                "migrations": 7,
                "inbox": 0,
                "request": 0,
                "result": 0,
                "fault": ""
              },
              {
                "pid": 3,
                "name": "Worker 5",
                "priority": 5,
                "affinity": 0,
                "state": 2,
                "core": 1,
                "lastCore": 1,
                "cycles": 423078,
                "instructions": 56411,
                "dispatches": 26,
                "migrations": 6,
                "inbox": 0,
                "request": 0,
                "result": 0,
                "fault": ""
              }
            ]
          }
        },
        {
          "name": "Bounded IPC FIFO rejects a ninth message and preserves the first eight in order",
          "passed": true,
          "evidence": {
            "messages": 8,
            "fullError": 1
          }
        },
        {
          "name": "Stale target PID is rejected after process-slot reuse",
          "passed": true,
          "evidence": {
            "missingTargetError": 2
          }
        },
        {
          "name": "Blocking receive timeout is driven by virtual kernel timer",
          "passed": true,
          "evidence": {
            "timeoutError": 4
          }
        },
        {
          "name": "A process cannot read another private backing store or write kernel/AV devices",
          "passed": true,
          "evidence": {
            "denied": 3
          }
        },
        {
          "name": "IPC rejects oversize and incomplete payloads, permits empty messages and rejects unknown calls",
          "passed": true,
          "evidence": {
            "errors": [
              5,
              3,
              0,
              3
            ]
          }
        },
        {
          "name": "Paused blocking receive retains its pending call and accepts input after resume",
          "passed": true,
          "evidence": {
            "pendingCallPreserved": true
          }
        },
        {
          "name": "Holding C0 prevents all dispatch; resuming the actual kernel permits work",
          "passed": true,
          "evidence": {
            "hostDoesNotSchedule": true
          }
        },
        {
          "name": "Orao32 reservations reject pinned processes and migrate AUTO work to the other core",
          "passed": true,
          "evidence": {
            "available": []
          }
        },
        {
          "name": "Two actual original-ROM instances run independently while C0 and C3 continue",
          "passed": true,
          "evidence": {
            "cycles": [
              52621,
              50903
            ],
            "kernelPasses": 291
          }
        },
        {
          "name": "C3 CPU rasterizes guest bytes with bit 0 left and mixes actual NMOS speaker writes into PCM",
          "passed": true,
          "evidence": {
            "pixels": 53645,
            "samples": 4113,
            "actualPCMSampleValues": [
              63488,
              2048
            ]
          }
        },
        {
          "name": "Guest pause, local reset and a guest fault leave system and AV running",
          "passed": true,
          "evidence": {
            "guestFault": "released",
            "systemAlive": true
          }
        }
      ],
      "limits": "Prototype CPU timing; new supervisor/context and IPC devices are reconstruction choices. No BOS/SM, multithreading or complete W65C832/NMOS bus conformance claim."
    },
    "fast-cpu": {
      "date": "2026-10-17",
      "status": "passed",
      "cases": 16394,
      "busEventsCompared": 75265,
      "allOpcodes": 256,
      "modeAndWidthCombinations": 16,
      "interruptAndWaitSequences": 10,
      "comparison": "Every byte event, register state, lock and write versus preserved v0.2 interpreter; deterministic randomized operands, bank/page wrapping, IRQ/NMI arrival phases and WAI"
    },
    "differential": {
      "date": "2026-10-17",
      "status": "passed",
      "checks": [
        {
          "name": "Identical four-core POST and C0 kernel entry",
          "passed": true,
          "tick": 12486907,
          "busHash": 3099532117
        },
        {
          "name": "Identical weighted scheduling, shared bus and private process RAM",
          "passed": true,
          "tick": 13445756,
          "busHash": 1675604081
        },
        {
          "name": "Identical explicit migration",
          "passed": true,
          "tick": 13542807,
          "busHash": 3788185795
        },
        {
          "name": "Identical single guest, C3 pixels and mixed PCM",
          "passed": true,
          "tick": 19100366,
          "busHash": 4073817294
        },
        {
          "name": "Identical two guests and deterministic interleaving",
          "passed": true,
          "tick": 25761040,
          "busHash": 2949188378
        },
        {
          "name": "Identical guest pause with live OS and AV",
          "passed": true,
          "tick": 26349156,
          "busHash": 3063645872
        },
        {
          "name": "Identical guest reset and resume",
          "passed": true,
          "tick": 27898208,
          "busHash": 2811072274
        }
      ],
      "reference": "Prepared v0.2 CPU, ROM and scheduler",
      "comparison": "Ordered byte bus digest includes core, address, value and timestamp; full RAM/VRAM/output, native registers, processes, guest cycles and queued PCM"
    },
    "ui": {
      "date": "2026-10-17",
      "version": "0.3.0",
      "status": "passed",
      "checks": [
        {
          "name": "Existing third card defaults to v0.3 and keeps v0.1/v0.2 selectable",
          "passed": true
        },
        {
          "name": "Orao 2026 picker contains all three preserved versions",
          "passed": true
        },
        {
          "name": "New runtime reaches actual C0 kernel ROM through grouped shelf",
          "passed": true
        },
        {
          "name": "Browser text traverses native editor, C0 IPC and native printer exactly",
          "passed": true
        },
        {
          "name": "Exactly two native single-context processes are visible",
          "passed": true
        },
        {
          "name": "Occupied priority gives clear error and keeps old value",
          "passed": true
        },
        {
          "name": "Priority swap is atomic and visible",
          "passed": true
        },
        {
          "name": "Raw binary file loads as a separate native process",
          "passed": true
        },
        {
          "name": "Global pause freezes real virtual time",
          "passed": true
        },
        {
          "name": "WebAudio is initialized through explicit user gesture",
          "passed": true
        },
        {
          "name": "Two original-ROM guests reserve both application cores",
          "passed": true
        },
        {
          "name": "Panel distinguishes measured guest speed from the 1 MHz target",
          "passed": true
        },
        {
          "name": "Presented canvas exactly matches all CPU-written framebuffer pixels",
          "passed": true
        },
        {
          "name": "No native application starts while two guests own both cores",
          "passed": true
        },
        {
          "name": "Keyboard input belongs to selected guest and releases keys",
          "passed": true
        },
        {
          "name": "Guest pause retains its reservation",
          "passed": true
        },
        {
          "name": "Stopping a guest returns only that application core",
          "passed": true
        },
        {
          "name": "Mobile shelf and iframe document have no page overflow",
          "passed": true
        },
        {
          "name": "Instruction links and generated companion files resolve",
          "passed": true
        },
        {
          "name": "Direct file preview executes native IPC without fetch",
          "passed": true
        },
        {
          "name": "Reset clears process, IPC and printer state",
          "passed": true
        },
        {
          "name": "No browser errors",
          "passed": true
        }
      ],
      "errors": [],
      "blockedExternalRequests": 0
    },
    "shelf": {
      "date": "2026-10-17",
      "status": "passed",
      "groups": 3,
      "versions": 11,
      "checks": [
        {
          "name": "Three platform cards contain eleven emulator versions",
          "passed": true
        },
        {
          "name": "Impuls defaults to latest subversion v0.7 without starting an emulator",
          "passed": true
        },
        {
          "name": "All seven named Impuls subversions are in the picker",
          "passed": true
        },
        {
          "name": "Keyboard chooses v0.1 and Escape restores selector focus",
          "passed": true
        },
        {
          "name": "Escape closes picker and returns focus to its card",
          "passed": true
        },
        {
          "name": "Selected latest emulator starts with its actual reconstructed ROM",
          "passed": true
        },
        {
          "name": "Choosing another subversion preserves actual active iframe and tape-loader identity",
          "passed": true
        },
        {
          "name": "Subversion choice emits no activation",
          "passed": true
        },
        {
          "name": "Selected details and direct/archive links describe v0.2",
          "passed": true
        },
        {
          "name": "Starting chosen v0.2 switches only when requested",
          "passed": true
        },
        {
          "name": "Original emulator still attaches the unchanged cassette loader",
          "passed": true
        },
        {
          "name": "Refocusing active emulator neither reloads it nor duplicates analytics",
          "passed": true
        },
        {
          "name": "Emulator and cassette detail panels do not remain open together",
          "passed": true
        },
        {
          "name": "Opening emulator details closes cassette details",
          "passed": true
        },
        {
          "name": "Near-top picker uses normal flow above the canvases",
          "passed": true
        },
        {
          "name": "Mobile has one row and no horizontal page overflow",
          "passed": true
        },
        {
          "name": "Mobile carousel arrows reach the second platform",
          "passed": true
        },
        {
          "name": "Touch chooses and starts the exact v0.5 subversion",
          "passed": true
        },
        {
          "name": "Local file preview starts selected emulator with bundled registry",
          "passed": true
        },
        {
          "name": "Additional future families remain in one horizontally scrolling row",
          "passed": true
        },
        {
          "name": "No browser errors",
          "passed": true
        }
      ],
      "activations": [
        "impuls-9010-v0-7",
        "impuls-9010-v0-2",
        "original-v1-0"
      ],
      "errors": []
    },
    "speed": {
      "date": "2026-10-17",
      "status": "passed",
      "samples": [
        {
          "version": "0.2",
          "guests": 1,
          "wallSeconds": 4.032399999976158,
          "virtualSeconds": 0.19471378,
          "ratio": 0.048287317726701535,
          "guestHz": [
            48286.62831096897,
            0
          ],
          "error": "",
          "speedLabel": null
        },
        {
          "version": "0.2",
          "guests": 2,
          "wallSeconds": 4.01090000000596,
          "virtualSeconds": 0.20337052,
          "ratio": 0.05070446034548301,
          "guestHz": [
            50704.3306987703,
            50704.08137816894
          ],
          "error": "",
          "speedLabel": null
        },
        {
          "version": "0.3",
          "guests": 1,
          "wallSeconds": 4.016100000023842,
          "virtualSeconds": 0.84121992,
          "ratio": 0.20946189586788327,
          "guestHz": [
            209462.1647854899,
            0
          ],
          "error": "",
          "speedLabel": "Stvarna brzina: 20 % ciljanog vremena · C1: 0.20 MHz"
        },
        {
          "version": "0.3",
          "guests": 2,
          "wallSeconds": 4.001,
          "virtualSeconds": 0.79238336,
          "ratio": 0.19804632841789552,
          "guestHz": [
            198045.73856535865,
            198046.2384403899
          ],
          "error": "",
          "speedLabel": "Stvarna brzina: 19 % ciljanog vremena · C1: 0.19 MHz · C2: 0.19 MHz"
        }
      ],
      "improvement": [
        {
          "guests": 1,
          "factor": 4.337824209938601
        },
        {
          "guests": 2,
          "factor": 3.9058955971225204
        }
      ],
      "limits": "Bounded local headless Edge measurement, not a speed guarantee for other hosts. Target 1 MHz remains unchanged."
    },
    "tapes": {
      "status": "passed",
      "groupedTapes": 3,
      "recordings": 8,
      "riftfarerChoices": 5,
      "demoChoices": 2,
      "keyboardSelection": true,
      "selectedDetailsAndDownload": true,
      "riftfarerRealMouseDragAndRomLoad": true,
      "riftfarerProgramBytesCompared": 16896,
      "demo2RealMouseDragAndRomLoad": true,
      "nativeDemoPaddingAndAutostart": true,
      "panelsOutsideCanvas": true,
      "mobileNavigation": true,
      "noHorizontalPageOverflow": true,
      "futureGroupsInOneRow": 33,
      "originalRuntimeFunctionsUnchanged": true,
      "filePickerOpenings": 0,
      "errors": []
    }
  }
}
