Vitte Native Bootstrap Migration (Rust-style)

Reference model: bootstrap builder graph semantics (step contracts, strict stage semantics).

Target Architecture

  1. toolchain/src/bootstrap_vitte/mod.vit
  2. Global context (paths, host/target, budgets, report sinks).
  1. toolchain/src/bootstrap_vitte/core/build_steps/mod.vit
  2. Step contract (name, deps, run, artifacts, invariants).
  1. toolchain/src/bootstrap_vitte/core/builder/mod.vit
  2. Deterministic DAG executor with fail-fast semantics.
  1. toolchain/src/bootstrap_vitte/core/sanity/mod.vit
  2. Reproducibility, contract interface, parity, corpus diagnostics, performance budgets.
  1. toolchain/src/bootstrap_vitte/utils/metrics.vit
  2. JSON report writer to target/reports/bootstrap/*.json.
  1. toolchain/src/bootstrap_vitte/main.vit
  2. CLI entrypoint, routes to full hard gate or scoped runs.

Migration Phases

  1. Phase A (coexist)
  2. Keep current scripts and Make targets.
  3. Add bootstrap-v2-hard-gate target invoking strict hard gate.
  1. Phase B (step parity)
  2. Re-encode existing stages as typed Step objects.
  3. Ensure exact behavioral parity with current bootstrap-hard-gate.
  1. Phase C (ownership switch)
  2. Make bootstrap-v2-hard-gate the release gate.
  3. Keep legacy flow for rollback for 1 release cycle.

Non-negotiable Invariants

  • Fail-fast on first error.
  • No silent fallback in release/hard mode.
  • Stage artifacts hash-identical for reproducibility checks.
  • Stage interface contract snapshots are diff-blocking.
  • Bootstrap parity and corpus diagnostics are release-blocking.

CI Matrix

  • macOS: x86_64, arm64
  • Linux: x86_64, arm64

Same invariants and JSON report shape on all runners.

Entry Commands

  • Local hard gate: make bootstrap-hard-gate
  • Future native hard gate: make bootstrap-v2-hard-gate
  • Reports: target/reports/bootstrap/hard_gate.json