<?xml version="1.0" encoding="UTF-8"?>
<spec xmlns="https://vibevm.org/spec/1">
  <title id="root">rust-ai-native-lang — README</title>
  <status stage="doc" state="work" audience="user,dev"/>
  <p p="1">The README of `org.vibevm.ai-native/rust-ai-native-lang@1.0.0`, as the package ships it.</p>
  <section id="ai-native-rust-stack-org-vibevm-ai-native-rust-ai-native-lang-root" title="AI-Native Rust (stack:org.vibevm.ai-native/rust-ai-native-lang) {#root}">
    <p p="2">&lt;status stage="doc" state="done" audience="user"/&gt;</p>
    <p p="3">@fact:RUST-PROJECTION-SHIPS-A-RUNNABLE-TOOLCHAIN The Rust projection of the AI-Native Code Discipline — and the **runnable toolchain** that enforces it (PROP-024 code-bearing packages): installing this stack yields working checkers and procedures, not descriptions of them. @status:impl/done</p>
    <p p="4">@fact:NEUTRAL-METHOD-COMES-FROM-THE-CORE-DEPENDENCY The language-neutral method (manifesto, playbooks, mechanism specs) comes from its dependency `flow:org.vibevm.ai-native/core-ai-native`. @status:impl/done</p>
  </section>
  <section id="what-ships-what-ships" title="What ships {#what-ships}">
    <p p="5">- @fact:SHIPS-FOUR-BINARIES **Four binaries** (this package's own Cargo workspace, `crates/`;   crate names carry the `-rust` suffix per the GUIDE §2 language-suffix   rule): @status:impl/done - @fact:SHIPS-RUST-AI-NATIVE-UMBRELLA `rust-ai-native` — the umbrella tool: `init` (bootstrap policies +     registries), `floor` (the portable verification floor), `conform`,     `specmap`, `trace`, `test-gate`, `tripwire`, `health`, `fast-loop`,     `codemod`. @status:impl/done - @fact:SHIPS-RUST-AI-NATIVE-CONFORM `rust-ai-native-conform` — the conformance gate alone (ENGINE-CONFORM). @status:impl/done - @fact:SHIPS-RUST-AI-NATIVE-SPECMAP `rust-ai-native-specmap` — the traceability engine alone (PROP-014). @status:impl/done - @fact:SHIPS-RUST-AI-NATIVE-TCG `rust-ai-native-tcg` — the agentic type oracle (TCG-ORACLE-RUST /     TCG-PROTOCOL-RUST): a persistent enriching `serve` relay for MCP     hosts plus one-shot `validate` / `scope` / `complete` / `type` /     `bench`, answered by the CONSUMER's own rust-analyzer over     in-memory overlays with the gate's own conform rules merged in.     **Prerequisite:** installing this stack obliges the machine to     carry rust-analyzer (`rustup component add rust-analyzer`).     Honesty: rust-analyzer is not rustc — the oracle shortens the     distance to green; `rust-ai-native floor` stays the truth. @status:impl/done - @fact:SHIPS-GUIDE-AND-CARDS **The Rust guide and cards** (`spec/rust/GUIDE-AI-NATIVE-RUST.xml`,   `spec/cards/` — the nine scaffolds in their Rust shape, Band-3 ops   blocks for weak readers). @status:impl/done - @fact:SHIPS-TWO-AGENT-SKILLS **Two agent skills** (`vibe skill install` projects them):   `/rust-ai-native-terraform` (brownfield adoption per BROWNFIELD-PROTOCOL) and   `/rust-ai-native-sweep` (the recurring sweep per the Sweep Playbook). @status:impl/done - @fact:SHIPS-SPECMARK-PROC-MACRO **The specmark proc-macro**   (`crates/vendor/core-ai-native-specmark`, taken under the dependency alias   `specmark`, which is the name your code writes) — the inert   `#[spec]`/`scope!` tags your code carries. @status:impl/done - @fact:SHIPS-SPECMAP-WIRE-SCHEMA **The specmap wire types**   (`crates/vendor/core-ai-native-specmap/src/generated/`) — generated from   `specmap.jtd.json`, whose home is the `core-ai-native` package's   `schemas/` (a canonical `specmap.example.json` sits beside it);   regeneration is a maintainer dev-op in the dev repo. @status:impl/done</p>
  </section>
  <section id="running-the-tools-running-the-tools" title="Running the tools {#running-the-tools}">
    <p p="6">@fact:running-forms-lead Three supported forms, from your project root (where `vibedeps/` is): @status:impl/done</p>
    <fence lang="sh" p="7"># (a) vibe-native (PROP-025) — build once in the slot, dispatch through
#     the project's lockfile (two projects on different versions get
#     different binaries):
vibe bin build            # or: vibe bin exec rust-ai-native -- floor
vibe bin exec rust-ai-native -- floor

# (b) install once onto PATH — then just `rust-ai-native …`
cargo install --path vibedeps/&lt;stack-slot&gt;/crates/rust-ai-native-cli

# (c) zero-install, run in place
cargo run --manifest-path vibedeps/&lt;stack-slot&gt;/Cargo.toml \
    -p rust-ai-native-cli --bin rust-ai-native -- floor</fence>
    <p p="8">@fact:STACK-SLOT-IS-THE-MATERIALISED-DIRECTORY `&lt;stack-slot&gt;` is this package's materialised directory (e.g. `stack-rust-ai-native-lang/1.0.0` — check your `vibe.lock`). @status:impl/done</p>
    <p p="9">@fact:SLOT-BUILD-DROPS-A-TARGET-DIRECTORY Building in the slot drops a `target/` there; add `vibedeps/**/target/` to your `.gitignore` (build output is already excluded from the package's content hash, PROP-024 §2.2). @status:impl/done</p>
  </section>
  <section id="the-lifecycle-the-lifecycle" title="The lifecycle {#the-lifecycle}">
    <fence lang="sh" p="10">vibe install                       # materialise this stack into vibedeps/
rust-ai-native init               # policies + registries + external spec resolution
# … write spec units, tag code (GUIDE §13), adopt crate by crate …
rust-ai-native floor              # the gate panel, one exit code
/rust-ai-native-sweep                  # the recurring sweep (agent skill)
/rust-ai-native-terraform                    # brownfield adoption (agent skill)</fence>
    <p p="11">@fact:wiring-and-sweep-pointers The wiring recipe — the specmark path-dep, the first spec unit, the expand-as-you-conform rhythm — is GUIDE §13; the sweep idioms are GUIDE §14. @status:impl/done</p>
    <p p="12">@fact:POLICIES-STAY-WITH-THE-CONSUMER-PROJECT The policies (`conform.toml`, `specmap.toml`) stay with YOUR project: this package ships engines, never policy (PROP-024 §2.2). @status:impl/done</p>
  </section>
</spec>
