Bring-up Progress (v0.57 workspace)¶
Last updated: 2026-07-15
Closure Snapshot¶
v0.57golden/spec is canonical and validated.- AVS is now the only live public bring-up contract.
- The v0.57 maintenance packet replaces the April aggregate with one SHA-manifested run; it must remain non-green while BusyBox/MMU, QEMU semantic breadth, and unrun nightly gates are open.
- Active governance phase remains
LINUX-RUNTIME, anddocs/bringup/agent_runs/waivers.yamlstill carries zero waivers. - The latest pin-lane run recovered the Architecture, Compiler, Emulator, Linux
vmlinux, initramfs smoke/full boot, musl build/runtime, glibc G1a/G1b/runtime, LinxCore/Testbench/Trace/pyCircuit leaf PR gates, and workload benchmark/polybench/portfolio/ctuning/PTO/TSVC-compile rows. - April 11, 2026 spot checks first cleared the stale March Sail/PTO diagnosis; the April 18 canonical report now records model-diff and PTO parity as green.
- April 18, 2026 canonical recovery work closed the stale PR-lane blockers:
python3 tools/bringup/check_avs_profile_closure.py --tier pris now green withrequired_tests=31.python3 tools/bringup/run_model_diff_suite.py --root . --suite avs/model/linx_model_diff_suite.yaml --profile release-strict --trace-schema-version 1.0 --report-out docs/bringup/gates/model_diff_summary.jsonpasses again after restoring the compatibility wrapper.- the canonical
strict_cross_repo.shrow still fails because the checked-in canonical report predates the June 30 local BusyBox rootfs pass; refresh convergence/strict closure before treating the old row as current. - the LinxCore/Testbench/Trace/pyCircuit leaf regressions that were blocking the pin lane are locally green again:
test_runner_protocol.sh,test_trace_schema_and_mem.sh,test_konata_sanity.sh,test_cosim_smoke.sh,run_linx_cpu_pyc_cpp.sh, andrun_linx_qemu_vs_pyc.shnow pass. - the pinned
vmlinuxbuild gate is green again viatools/bringup/run_linux_vmlinux_build_clean.sh, and the pin lane now has a matching clean-QEMU helper intools/bringup/run_qemu_build_clean.shso runtime convergence no longer depends on dirty emulator worktrees. - The current active blockers are now concentrated in canonical report refresh, hosted runtime/SPEC correctness, and nightly/runtime breadth:
- AVS nightly breadth remains
32/54implemented/pass. - BusyBox rootfs runtime has a fresh failure on clean QEMU: two 120-second attempts produced no UART output.
muslandglibcruntime smokes both pass again on the clean pinned QEMU path; the staler8failures were replaced by ther9rerun.- BusyBox rootfs now boots locally with firmwareless QEMU and a clean rebuilt
rootfs. The prior PID1
addr=0x10000004trap was from a stale rootfs binary that still performed direct UART MMIO in user mode; the clean rebuild reaches shell commands, showslinx-timerIRQ progress, and powers off. Regression::strict_cross_repo.shremains red in the checked-in canonical run because the canonical report has not yet been refreshed with this local BusyBox proof.- SPEC bringup-subset runtime remains a nightly/runtime blocker; the static train-all lane now reaches SPEC userspace, builds all supported C/C++ rows, and passes
999.specrand_ir, but remaining rows split into throughput, C++ resource/kill, and kernel panic-loop classes. - TSVC QEMU runtime is green in the required batched auto lane: 8/8 batches,
150/151strict-vectorized and151/151executed kernels;s451is the intentional scalar transcendental-call case. - Some call/ret negative-contract and C++ runtime-overlay follow-up work remains outside the PR closure subset.
Capability Status¶
| Phase | Status | Evidence |
|---|---|---|
1. Canonical v0.57 golden + manual freeze |
✅ Passed | python3 tools/isa/build_golden.py --profile v0.57 --check; python3 tools/isa/validate_spec.py --profile v0.57 |
| 2. AVS public contract cutover | ✅ Source complete | python3 tools/bringup/check_avs_contract.py --matrix avs/linx_avs_v1_test_matrix.yaml |
| 3. LLVM MC/CodeGen baseline alignment | ✅ Current pin pass | avs/compiler/linx-llvm/tests/run.sh; analyze_coverage.py --fail-under 100; ninja -C compiler/llvm/build-linxisa-clang llvm-ar llvm-nm llvm-strip llvm-readelf |
| 4. QEMU runtime/system baseline | ✅ Current pin pass | avs/qemu/check_system_strict.sh; avs/qemu/run_tests.sh --all; bash tools/bringup/run_qemu_build_clean.sh --qemu-root $PWD/emulator/qemu --out-dir /tmp/linx-qemu-clean-build --target qemu-system-linx64 |
| 5. Linux userspace boot path | ❌ Current-pin BusyBox failure | The v0.57 clean-QEMU run produced no UART output in two 120-second attempts. Older green rootfs evidence is historical and does not override this result. |
| 6. musl/glibc baseline runtime | ✅ Current clean-QEMU pass | musl build/runtime and glibc G1a/G1b are green, and both run_musl_smoke.py and run_glibc_smoke.py now pass again on the clean pinned QEMU path. |
| 7. Sail/model verification | ✅ Sail pass; model breadth open | Sail 0.20.2 parses, typechecks, generates C, and executes directed tests for all 747 form-ID records. Full current-pin cross-model/nightly breadth was not run. |
| 8. AVS tier closure | ✅ Current PR pass | python3 tools/bringup/check_avs_profile_closure.py --matrix avs/linx_avs_v1_test_matrix.yaml --status avs/linx_avs_v1_test_matrix_status.json --tier pr now reports required_tests=31, failure_count=0; nightly breadth remains 32/54. |
| 9. LinxCore/Testbench/Trace/pyCircuit closure | ✅ Current pin pass | Runner protocol, trace schema/memory smoke, LinxTrace sanity, cosim smoke, ROB bookkeeping, block-struct pyc flow, and pyCircuit CPU/QEMU smokes pass in the latest canonical pin run. |
| 10. Workload and SPEC hard closure | ❌ Nightly/runtime blocker | Benchmark/PolyBench/portfolio/ctuning artifact publication, PTO kernel parity, TSVC compile-only PR coverage, and local BusyBox rootfs boot are green. Static SPECint train-all now builds all supported C/C++ rows and passes 999.specrand_ir; remaining SPEC work is split into heartbeat-backed QEMU throughput rows, wrapper sig=9 child-exit rows, 525.x264_r panic-loop capture, and hosted/shared-runtime gaps. |
Gate Snapshot¶
| Gate | Status | Command |
|---|---|---|
| Golden/spec validation | ✅ | python3 tools/isa/build_golden.py --profile v0.57 --check; python3 tools/isa/validate_spec.py --profile v0.57 |
| AVS contract schema | ✅ | python3 tools/bringup/check_avs_contract.py --matrix avs/linx_avs_v1_test_matrix.yaml |
| AVS matrix status audit | ✅ | python3 tools/bringup/check_avs_matrix_status.py --matrix avs/linx_avs_v1_test_matrix.yaml --status avs/linx_avs_v1_test_matrix_status.json |
| AVS tier closure | ✅ PR subset green (31/31 required) |
python3 tools/bringup/check_avs_profile_closure.py --matrix avs/linx_avs_v1_test_matrix.yaml --status avs/linx_avs_v1_test_matrix_status.json --tier pr |
| Sail/model path in strict closure | ✅ Sail 0.20.2 exact-version pass | opam exec --switch=sail-4.14.3 -- python3 tools/bringup/check_sail_model.py --require-parser --require-c-backend validates 747 form IDs and directed semantics. |
Compiler AVS (linx64/linx32) |
✅ | ./avs/compiler/linx-llvm/tests/run.sh |
Compiler coverage (linx64/linx32) |
✅ | python3 avs/compiler/linx-llvm/tests/analyze_coverage.py --fail-under 100 |
LLVM auxiliary tool suite (llvm-ar/llvm-nm/llvm-readelf/llvm-strip) |
✅ | ninja -C compiler/llvm/build-linxisa-clang llvm-ar llvm-nm llvm-strip llvm-readelf |
| QEMU runtime suites | ✅ Current pin pass | ./avs/qemu/run_tests.sh --all |
| QEMU pinned binary build | ✅ | bash tools/bringup/run_qemu_build_clean.sh --qemu-root $PWD/emulator/qemu --out-dir /tmp/linx-qemu-clean-build --target qemu-system-linx64 |
| QEMU decode coverage | ❌ Open work | python3 tools/bringup/report_qemu_isa_coverage.py --report-out docs/bringup/gates/qemu_isa_coverage_latest.json --out-md docs/bringup/gates/qemu_isa_coverage_latest.md --require-full |
Linux vmlinux build closure |
✅ Current helper path passes | bash tools/bringup/run_linux_vmlinux_build_clean.sh --linux-root $PWD/kernel/linux --out-dir $PWD/kernel/linux/build-linx-fixed --clang $PWD/compiler/llvm/build-linxisa-clang/bin/clang --gmake /opt/homebrew/bin/gmake --target vmlinux |
| Linux initramfs smoke/full | ✅ | python3 ${LINUX_ROOT}/tools/linxisa/initramfs/smoke.py; python3 ${LINUX_ROOT}/tools/linxisa/initramfs/full_boot.py |
musl build closure (phase-b) |
✅ | MODE=phase-b lib/musl/tools/linx/build_linx64_musl.sh |
musl runtime (R1/R2) |
✅ | python3 avs/qemu/run_musl_smoke.py --mode phase-b --link both |
glibc (G1a/G1b) |
✅ | bash lib/glibc/tools/linx/build_linx64_glibc.sh; bash lib/glibc/tools/linx/build_linx64_glibc_g1b.sh |
| glibc dynamic runtime on Linux/QEMU | ✅ Current clean-QEMU pass | python3 avs/qemu/run_glibc_smoke.py --qemu /tmp/linx-qemu-clean-build/qemu-system-linx64 --timeout 30 |
Current Closure Blockers¶
- The PR recovery lane needs a refreshed canonical report; local BusyBox rootfs evidence is green as of 2026-06-30.
Library::glibc runtime dynamic hellois green in the latest canonical run.- The LinxCore/Testbench/Trace/pyCircuit leaf blockers are cleared in the latest canonical run; the old BusyBox rootfs row should be revalidated with the clean rebuilt rootfs before strict closure is judged current.
Regression::strict_cross_repo.shremains red in2026-04-18-r9-pin-linuxlibc-refreshbecause that checked-in report includes the older BusyBox rootfs failure.- SPEC remains a real runtime blocker behind the opt-in PR gate, but the blocker has moved past firmwareless userspace entry. The matrix-wrapper QEMU handoff bug is fixed, static phase-b SPECint train-all reaches guest execution, and
999.specrand_irpasses strict hash. The current live blockers are heartbeat-backed throughput rows, C++ resource rows such as520.omnetpp_r,523.xalancbmk_r, and541.leela_r, the525.x264_rpanic-loop row, and separate shared-runtime packaging gaps. - TSVC QEMU runtime remains a nightly/runtime blocker; the PR lane holds only the compile-only strict-coverage contract at
148/151.
Canonical Gate Artifacts¶
avs/linx_avs_v1_test_matrix.yamlis the public contract source.avs/linx_avs_v1_test_matrix_status.jsonis the canonical AVS status artifact.docs/bringup/gates/qemu_isa_coverage_latest.jsonrecords the latest checked-in QEMU decode coverage snapshot, including mnemonic and per-form gaps.docs/bringup/gates/latest.jsonis the current per-run multi-gate evidence artifact; the latest checked-in refresh is2026-04-18-r9-pin-linuxlibc-refresh, and it is not yet release evidence because BusyBox rootfs and the aggregate strict-cross row still fail.