Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,3 @@ updates:
actions:
patterns:
- "*"
- package-ecosystem: "nix"
directory: "/"
schedule:
interval: "daily"
16 changes: 15 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,7 @@ jobs:
if-no-files-found: warn

coprocessor-strategy:
name: Coprocessor strategy, resilience, and TPU/NPU/DSP strict tests
name: Coprocessor strategy, resilience, and TPU/NPU/DSP/MATH strict tests
runs-on: ubuntu-latest

steps:
Expand Down Expand Up @@ -310,6 +310,12 @@ jobs:
- name: Generate DSP strict mode evidence artifact
run: julia --project=. scripts/dsp-strict-evidence.jl

- name: Run MATH strict mode tests
run: julia --project=. test/ci/math_required_mode.jl

- name: Generate MATH strict mode evidence artifact
run: julia --project=. scripts/math-strict-evidence.jl

- name: Upload coprocessor evidence artifact
if: always()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
Expand Down Expand Up @@ -350,6 +356,14 @@ jobs:
path: build/dsp_strict_evidence.json
if-no-files-found: warn

- name: Upload MATH strict mode evidence artifact
if: always()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: math-strict-evidence
path: build/math_strict_evidence.json
if-no-files-found: warn

gpu-cuda-hardware:
name: GPU hardware smoke (CUDA)
if: ${{ vars.AXIOM_ENABLE_GPU_HARDWARE_CI == 'true' }}
Expand Down
3 changes: 2 additions & 1 deletion CHANGELOG.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Coprocessor workflow now runs TPU strict-mode checks (`test/ci/tpu_required_mode.jl`) and uploads `build/tpu_strict_evidence.json` via `scripts/tpu-strict-evidence.jl`.
- Coprocessor workflow now runs NPU strict-mode checks (`test/ci/npu_required_mode.jl`) and uploads `build/npu_strict_evidence.json` via `scripts/npu-strict-evidence.jl`.
- Coprocessor workflow now runs DSP strict-mode checks (`test/ci/dsp_required_mode.jl`) and uploads `build/dsp_strict_evidence.json` via `scripts/dsp-strict-evidence.jl`.
- Coprocessor workflow now runs MATH strict-mode checks (`test/ci/math_required_mode.jl`) and uploads `build/math_strict_evidence.json` via `scripts/math-strict-evidence.jl`.
- GPU fallback/hardware workflows now generate and upload backend-specific performance evidence artifacts via `scripts/gpu-performance-evidence.jl`.
- Proof assistant bundle workflow now runs `test/ci/proof_bundle_reconciliation.jl` and uploads `build/proof_bundle_evidence.json` generated by `scripts/proof-bundle-evidence.jl`.
- Added roadmap could-baseline CI job covering model package/registry, optimization passes, and verification telemetry (`test/ci/model_package_registry.jl`, `test/ci/optimization_passes.jl`, `test/ci/verification_telemetry.jl`) with matching evidence scripts.

==== Fixed
- Coprocessor strict-mode controls (`AXIOM_COPROCESSOR_REQUIRED`, `AXIOM_TPU_REQUIRED`, `AXIOM_NPU_REQUIRED`, `AXIOM_DSP_REQUIRED`, etc.) now block silent compile/runtime fallback and return actionable errors when hooks/hardware are missing.
- Coprocessor strict-mode controls (`AXIOM_COPROCESSOR_REQUIRED`, `AXIOM_TPU_REQUIRED`, `AXIOM_NPU_REQUIRED`, `AXIOM_DSP_REQUIRED`, `AXIOM_MATH_REQUIRED`, etc.) now block silent compile/runtime fallback and return actionable errors when hooks/hardware are missing.
- Isabelle proof skeleton exports now emit explicit unresolved placeholders (`oops`) so reconciliation/import status cannot report incomplete artifacts as complete.

=== Added
Expand Down
2 changes: 1 addition & 1 deletion Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
SHA = "ea8e919c-243c-51af-8825-aaa63cd721ce"
SMTLib = "7d3f9a2c-8b4e-5c1f-a6d0-9e8f7b2c3d4e"
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"

[weakdeps]
AMDGPU = "21141c5a-9bdb-4563-92ae-f87d6854732e"
CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
Metal = "dde4c033-4e86-420c-a63e-0dd931031962"
SMTLib = "7d3f9a2c-8b4e-5c1f-a6d0-9e8f7b2c3d4e"

[extensions]
AxiomAMDGPUExt = "AMDGPU"
Expand Down
2 changes: 1 addition & 1 deletion ROADMAP.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ These roadmap promises are still tracked explicitly (with current delivery state
* [x] `from_pytorch(...)` import API (baseline shipped: descriptor import + direct `.pt/.pth/.ckpt` bridge + CI interop smoke via `scripts/pytorch_to_axiom_descriptor.py`).
* [x] `to_onnx(...)` export API (baseline shipped: Dense/Conv/Norm/Pool + common activations for supported `Sequential`/`Pipeline` models).
* [x] Production-hardened GPU paths across CUDA/ROCm/Metal (baseline shipped: deterministic fallback CI + optional hardware smoke + extension-hook dispatch + device-range guards + runtime self-healing diagnostics + backend-specific performance evidence via `test/ci/gpu_resilience.jl` and `scripts/gpu-performance-evidence.jl`).
* [ ] Non-GPU accelerators (TPU/NPU/PPU/MATH/FPGA/DSP) backend strategy (in progress: targets, detection, compiled dispatch, fallback/strategy CI, capability/evidence reporting, runtime self-healing diagnostics, resilience CI/evidence, and TPU/NPU/DSP strict-mode gating shipped via `coprocessor_capability_report`, `coprocessor_runtime_diagnostics`, `scripts/coprocessor-evidence.jl`, `test/ci/coprocessor_resilience.jl`, `scripts/coprocessor-resilience-evidence.jl`, `test/ci/tpu_required_mode.jl`, `scripts/tpu-strict-evidence.jl`, `test/ci/npu_required_mode.jl`, `scripts/npu-strict-evidence.jl`, `test/ci/dsp_required_mode.jl`, and `scripts/dsp-strict-evidence.jl`; production kernels remain).
* [ ] Non-GPU accelerators (TPU/NPU/PPU/MATH/FPGA/DSP) backend strategy (in progress: targets, detection, compiled dispatch, fallback/strategy CI, capability/evidence reporting, runtime self-healing diagnostics, resilience CI/evidence, and TPU/NPU/DSP/MATH strict-mode gating shipped via `coprocessor_capability_report`, `coprocessor_runtime_diagnostics`, `scripts/coprocessor-evidence.jl`, `test/ci/coprocessor_resilience.jl`, `scripts/coprocessor-resilience-evidence.jl`, `test/ci/tpu_required_mode.jl`, `scripts/tpu-strict-evidence.jl`, `test/ci/npu_required_mode.jl`, `scripts/npu-strict-evidence.jl`, `test/ci/dsp_required_mode.jl`, `scripts/dsp-strict-evidence.jl`, `test/ci/math_required_mode.jl`, and `scripts/math-strict-evidence.jl`; production kernels remain).
* [ ] Accelerator rollout sequence (2026-02-17): Maths/Physics basics shipped first; cryptographic coprocessor + FPGA production-ready next; VPU + QPU basics after; remaining accelerator production hardening targeted for v2.
* [ ] Proof-assistant export beyond skeleton artifacts (in progress: obligation manifests, bundle export, status metadata, assistant reconciliation, deterministic reconciliation CI, and evidence artifacts shipped via `proof_obligation_manifest`, `export_proof_bundle`, `proof_assistant_obligation_report`, `reconcile_proof_bundle`, `test/ci/proof_bundle_reconciliation.jl`, and `scripts/proof-bundle-evidence.jl`; full assistant proof replay remains a Stage 4 track).

Expand Down
2 changes: 1 addition & 1 deletion ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ These roadmap promises are still tracked explicitly (with current delivery state
- [x] `from_pytorch(...)` import API (baseline shipped: descriptor import + direct `.pt/.pth/.ckpt` bridge + CI interop smoke via `scripts/pytorch_to_axiom_descriptor.py`).
- [x] `to_onnx(...)` export API (baseline shipped: Dense/Conv/Norm/Pool + common activations for supported `Sequential`/`Pipeline` models).
- [x] Production-hardened GPU paths across CUDA/ROCm/Metal (baseline shipped: deterministic fallback CI + optional hardware smoke + extension-hook dispatch + device-range guards + runtime self-healing diagnostics + backend-specific performance evidence via `test/ci/gpu_resilience.jl` and `scripts/gpu-performance-evidence.jl`).
- [ ] Non-GPU accelerators (TPU/NPU/PPU/MATH/FPGA/DSP) backend strategy (in progress: targets, detection, compiled dispatch, fallback/strategy CI, capability/evidence reporting, runtime self-healing diagnostics, resilience CI/evidence, and TPU/NPU/DSP strict-mode gating shipped via `coprocessor_capability_report`, `coprocessor_runtime_diagnostics`, `scripts/coprocessor-evidence.jl`, `test/ci/coprocessor_resilience.jl`, `scripts/coprocessor-resilience-evidence.jl`, `test/ci/tpu_required_mode.jl`, `scripts/tpu-strict-evidence.jl`, `test/ci/npu_required_mode.jl`, `scripts/npu-strict-evidence.jl`, `test/ci/dsp_required_mode.jl`, and `scripts/dsp-strict-evidence.jl`; production kernels remain).
- [ ] Non-GPU accelerators (TPU/NPU/PPU/MATH/FPGA/DSP) backend strategy (in progress: targets, detection, compiled dispatch, fallback/strategy CI, capability/evidence reporting, runtime self-healing diagnostics, resilience CI/evidence, and TPU/NPU/DSP/MATH strict-mode gating shipped via `coprocessor_capability_report`, `coprocessor_runtime_diagnostics`, `scripts/coprocessor-evidence.jl`, `test/ci/coprocessor_resilience.jl`, `scripts/coprocessor-resilience-evidence.jl`, `test/ci/tpu_required_mode.jl`, `scripts/tpu-strict-evidence.jl`, `test/ci/npu_required_mode.jl`, `scripts/npu-strict-evidence.jl`, `test/ci/dsp_required_mode.jl`, `scripts/dsp-strict-evidence.jl`, `test/ci/math_required_mode.jl`, and `scripts/math-strict-evidence.jl`; production kernels remain).
- [ ] Accelerator rollout sequence (2026-02-17): Maths/Physics basics shipped first; cryptographic coprocessor + FPGA production-ready next; VPU + QPU basics after; remaining accelerator production hardening targeted for v2.
- [ ] Proof-assistant export improvements beyond skeleton artifacts (in progress: obligation manifests, bundle export, status metadata, assistant reconciliation, deterministic reconciliation CI, and evidence artifacts shipped via `proof_obligation_manifest`, `export_proof_bundle`, `proof_assistant_obligation_report`, `reconcile_proof_bundle`, `test/ci/proof_bundle_reconciliation.jl`, and `scripts/proof-bundle-evidence.jl`; full assistant proof replay remains a Stage 4 track).

Expand Down
122 changes: 122 additions & 0 deletions TOPOLOGY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
<!-- SPDX-License-Identifier: PMPL-1.0-or-later -->
<!-- TOPOLOGY.md — Project architecture map and completion dashboard -->
<!-- Last updated: 2026-02-19 -->

# Axiom.jl — Project Topology

## System Architecture

```
┌─────────────────────────────────────────┐
│ EXTERNALS / ECOSYSTEM │
├─────────────────────────────────────────┤
│ ┌────────────┐ ┌────────────┐ │
│ │ PyTorch │ ───▶ │ ONNX │ │
│ │ Checkpoints│ │ Models │ │
│ └─────┬──────┘ └─────▲──────┘ │
│ │ │ │
└────────┼───────────────────┼────────────┘
│ │
▼ │
┌────────────────────────────┼────────────┐
│ APPLICATION LAYER │
├─────────────────────────────────────────┤
│ ┌──────────────────┐ ┌──────────┐ │
│ │ @axiom │ │ Solvers │ │
│ │ DSL │ ───▶ │ (Z3/CVC5)│ │
│ └────────┬─────────┘ └─────▲────┘ │
│ │ │ │
│ ┌────────▼─────────┐ ┌─────┴────┐ │
│ │ Verification │ │ @prove │ │
│ │ Engine │ ───▶ │ Bridge │ │
│ └────────┬─────────┘ └──────────┘ │
│ │ │
│ ┌────────▼─────────┐ ┌──────────┐ │
│ │ Model │ │Telemetry │ │
│ │ Structure │ ───▶ │ Observ. │ │
│ └────────┬─────────┘ └──────────┘ │
│ │ │
│ ┌────────▼─────────┐ ┌──────────┐ │
│ │ Core │ │ Proof │ │
│ │ Layers │ ◀──▶ │ Assistant│ │
│ └──────────────────┘ └──────────┘ │
└───────────┬──────────────────────┬──────┘
│ │
┌───────────▼──────────────────────▼──────┐
│ RUNTIME BACKENDS │
├─────────────────────────────────────────┤
│ ┌──────────────────┐ ┌──────────┐ │
│ │ Julia (Dev) │ │ Rust │ │
│ │ Backend │ ◀──▶ │ Backend │ │
│ └────────┬─────────┘ └─────┬────┘ │
│ │ │ │
│ ┌────────▼─────────┐ ┌─────▼────┐ │
│ │ GPU / CUDA │ │Accellerat│ │
│ │ Fallbacks │ │ Dispatch │ │
│ └──────────────────┘ └──────────┘ │
└───────────┬──────────────────────┬──────┘
│ │
┌───────────▼──────────────────────▼──────┐
│ REPO INFRASTRUCTURE │
│ .machine_readable/ (state, meta) │
│ .github/workflows/ (RSR Gate) │
│ Project.toml, Cargo.toml │
└─────────────────────────────────────────┘
```

## Completion Dashboard

```
COMPONENT STATUS NOTES
───────────────────────────────── ────────────────── ─────────────────────────────────
CORE VERIFICATION & DSL
@axiom DSL (src/dsl) █████████░ 90% Stable, near final
Shape Verification (src/types) ██████████ 100% Production ready
@prove SMT Integration ██████░░░░ 60% Functional, needs hardening

MODEL & PROOFS
Neural Layers (src/layers) ██████████ 100% Full coverage (Dense/Conv/etc)
Proof Assistant Stage 4 ██████░░░░ 60% Reconciliation shipped
Certificate Generation █████████░ 90% Integrity CI in place

INTEROP & ECOSYSTEM
PyTorch Bridge (src/interop) █████████░ 85% Checkpoint + Descriptor support
ONNX Export (src/interop) █████████░ 85% Baseline coverage
Model Registry API ████████░░ 82% Deterministic manifests

BACKENDS & PERFORMANCE
Julia Native Backend ██████████ 100% Primary dev path
Rust Core (rust/) ██████████ 100% Feature parity with Julia
GPU/CUDA Support █████████░ 95% Fallbacks + resilience verified
Accelerator Gate ███████░░░ 72% Strict gates + detection shipped

REPO INFRASTRUCTURE
.machine_readable/ (STATE.scm) ██████████ 100% Updated to v1.1.0
.github/workflows/ (CI) ██████████ 100% RSR standard compliance
Verification Telemetry ████████░░ 80% Structured APIs baseline

─────────────────────────────────────────────────────────────────────────────
OVERALL: █████████░ 92% Stabilization Phase
```

## Key Dependencies

```
Core DSL ──────► Verification Engine ──────► Certificate Generation
Julia Backend ──────► Rust Backend ──────► Accelerator Support
Model Metadata ──────► Registry Workflow ────► COMPLETE
```

## Update Protocol

This file is maintained by both humans and AI agents. When updating:

1. **After completing a component**: Change its bar and percentage
2. **After adding a component**: Add a new row in the appropriate section
3. **After architectural changes**: Update the ASCII diagram
4. **Date**: Update the `Last updated` comment at the top of this file

Progress bars use: `█` (filled) and `░` (empty), 10 characters wide.
Percentages: 0%, 10%, 20%, ... 100% (in 10% increments).
Loading
Loading