Skip to content

[SELFHOST-CUTOVER-2] Decide and execute Rust reference compiler retirement after default-mode bake-in #419

@keaz

Description

@keaz

Requirement

Decide whether and when the Rust reference compiler implementation can be deprecated and removed after the controlled self-host default cutover has operated successfully with rollback evidence.

This issue must not start until the default-mode cutover issue is closed with evidence and a bake-in period or equivalent release approval is complete.

Scope

  • Define Rust-reference retirement criteria after default self-host operation is proven.
  • Identify all Rust source paths that are reference-compiler implementation versus infrastructure still required for packaging, release tooling, tests, bootstrapping, or host integration.
  • Define replacement ownership for any remaining Rust-only host tooling before deletion.
  • Add a rollback plan that can restore the Rust reference from a tagged release or branch if self-host default regresses.
  • Update build, CI, release, docs, and packaging to remove or archive Rust reference code only after all replacement paths exist.
  • Preserve license, provenance, historical release, and migration documentation.

Non-goals

  • Do not delete Rust source simply because self-host mode is supported.
  • Do not remove Rust host infrastructure that is still required by cargo build, packaging, native runtime integration, release tooling, or bootstrapping unless it has a tested replacement.
  • Do not remove rollback capability before the default-mode bake-in and release approval are complete.
  • Do not introduce placeholder removals, fake passing tests, or dead-code-only cleanups that leave broken documented commands.

Definition of Done

  • A retirement decision record exists and is approved.
  • Default self-host operation has passed the agreed bake-in criteria.
  • All Rust-reference-owned compiler behavior has a self-host replacement with tests.
  • All build, CI, release, packaging, docs, and examples work without the removed Rust reference code.
  • Rollback or restore instructions are documented and validated.
  • cargo build behavior is either intentionally retired/replaced or narrowed to remaining Rust host tooling with updated docs.
  • Full CI, release preflight, bootstrap, examples, docs checks, and marker scans pass.
  • Evidence is posted before closure with commit hash, removal scope, replacement mapping, tests run, docs updated, rollback validation, and placeholder scan output.

Acceptance Criteria

  • The repository no longer contains Rust reference compiler code only after the approved replacement and rollback criteria are satisfied.
  • Developers have a documented path to build and release AICore without the Rust reference compiler.
  • Any remaining Rust code has a documented non-reference role.
  • No existing documented command is broken without an intentional replacement and migration note.

Required Verification

Run at minimum after implementation:

  • full default self-host bootstrap/release preflight
  • all default-mode build tests
  • all fallback/rollback validation that remains applicable
  • docs/examples checks
  • CI equivalent for the post-retirement build system
  • marker scan on touched paths
  • repository-wide search confirming removed Rust reference paths are no longer referenced by active docs/scripts/tests

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions