← the/FBFbatpak cellmark — a battery-pack icon: green data cells above an orange append-only, hash-chained log, framed in code bracketsbatpak

batpak

This bundle is the final clean-room architecture for BatPak.

BatPak is a contract-compiled, sync-first event machine. It stores accepted local truth in .fbat, compiles Rust declarations through MacBat, compiles application questions and actions through BatQL, runs logical work through SyncBat, interprets sealed programs through PakVM, admits and supervises attempts through Bvisor, carries bounded calls through NetBat, and proves the repository through TestPak.

The one-line system law is:

MacBat declares. BatPak remembers. BatQL compiles. SyncBat runs. PakVM interprets. Bvisor contains. NetBat carries. TestPak attacks and proves.

PakVM and Bvisor are not standalone packages. They are internal planes of the syncbat runtime crate, beside runtime, world, and port.

Build qualification

The semantic profiles of batpak and syncbat are required to compile under no_std + alloc. Native and browser host mechanisms are explicit adapters and may not alter semantic traces, receipts, or recovery law.

Frozen package map

Name Kind Authority
batpak production Cargo package semantic and durable core, including .fbat
macbat-compiler production Cargo package pure contract compiler
macbat proc-macro Cargo package Rust declaration front door
syncbat production Cargo package runtime, PakVM, Bvisor, world composition, host ports
batql production Cargo package BatQL frontend and ProgramImage compiler
netbat production Cargo package bounded typed transport
testpak dev-only Cargo package repository proof, forge, gauntlet, benchmarks, mutation
batpak-cli binary adapter thin command composition, no semantic ownership
pakvm module inside syncbat typed program validation and interpretation
bvisor module inside syncbat capability, budget, attempt, supervision, reconciliation
muterprater module inside testpak mutation testing only

.vpak remains the immutable executable package extension. PakVM is the machine. ProgramImage and WorldImage are semantic types.

Authority order

00 Constitution
→ typed facts in spec/
→ status and decision ledgers
→ numbered domain contracts
→ BatQL companion grammar
→ generated views
→ source and receipts
→ legacy evidence

When two documents disagree, do not average them. Apply Status and Supersession, then report the contradiction if it survives.

Reading order

  1. Constitution
  2. System Model
  3. Repository and Packages
  4. Type System and Source Layout
  5. Storage, .fbat, and Tiles
  6. Crypto and Secret Authority
  7. MacBat
  8. PakVM ISA
  9. SyncBat Runtime
  10. Bvisor
  11. World Images and Ports
  12. BatQL Architectural Contract
  13. BatQL Language
  14. Legacy Semantic Obligations
  15. Legacy Invariant Coverage
  16. Decision and Rejection Ledger
  17. Public API, CI, and Release
  18. Agent Finish-Line Checklist

The remaining numbered documents close the storage, schema, delivery, proof, security, migration, bootstrap, command, and workflow details.

Independent checks

python bootstrap/freeze.py . --check
python bootstrap/audit.py .
rustc bootstrap/seedcheck.rs -o target/seedcheck
./target/seedcheck .
rustc bootstrap/materialize.rs -o target/materialize
# Run ./target/materialize . only when creating the Gate-0 source skeleton.

audit.py and freeze.py use only the Python standard library. seedcheck.rs uses only Rust’s standard library and remains independent after TestPak self-hosts.