Hardware-in-the-loop development platform for the Commodore 64.
README.md

First result: simulated observations and immutable evidence #

This example uses verified prebuilt inputs, not a compiler rebuild. The fake target produces deterministic observations and does not execute the PRG. It demonstrates the development core's orchestration, failure classification, source resolution and evidence recording without hardware, Docker or VICE.

Requirements: the ultimate-tool host binary and Python 3. To build the host binary from source, use Rust 1.93 and cargo build --locked -p ultimate-tool.

From this example directory:

ultimate-tool validate --manifest c64dev.toml
ultimate-tool doctor --manifest c64dev.toml --target fake
ultimate-tool test smoke --manifest c64dev.toml --target fake
ultimate-tool test sdk-crash --manifest c64dev.toml --target fake
# The crash command deliberately exits 4: inspect its immutable run.
ultimate-tool runs list --manifest c64dev.toml
ultimate-tool runs crash-report RUN_ID --manifest c64dev.toml
ultimate-tool test sdk-panic --manifest c64dev.toml --target fake
# Ordinary panic deliberately lacks an instrumented source origin.
ultimate-tool test smoke --manifest c64dev.toml --target fake
ultimate-tool serve --manifest c64dev.toml

The instrumented simulated site corresponds to the shipped smoke artifact's crash_here! invocation. The source is shipped under sources/, preserving fixture and SDK relationships. A simulated diagnostic's mapped location does not prove the program executed that instruction. VICE/hardware execution are separate observations and permissions.

tools/materialize_demo.py checks snapshot hashes and copies only approved inputs to build/. Identical existing outputs are verified and reused; unsafe or conflicting outputs fail rather than being overwritten. Every test still creates a distinct immutable run beneath .ultimate-tool/runs/.

The snapshot producer and source-rebuild details are recorded in snapshot.json. A source rebuild additionally needs the pinned Rust-MOS image and Docker; those are not prerequisites for this first-result path. Generated maps/ELFs have their own hashes and are verified against the PRG bytes and source snapshot, not borrowed from a different build.

The supplied snapshot was generated after fresh pinned builds with and without line tables produced byte-identical PRGs. The producer verifies resident ELF bytes against the PRG; the relocated example test resolves the instrumented site to the shipped source. Those checks do not prove execution on a fake target. Missing or altered snapshot inputs remain explicit errors, never an invitation to silently rebuild or download.

The upcoming release runtime test will additionally run this example without checkout access or compiler tools. The current relocation test alone does not establish that isolated release gate.