fbdbe740e6
Pure crate rename, zero behavioural change. ailang-kernel-stub becomes
the ailang-kernel family-crate: a re-export hub (src/lib.rs) plus one
submodule per kernel-tier module (today only kernel_stub:
src/kernel_stub/{mod.rs, source.ail}). raw-buf.3 plugs raw_buf in as a
sibling submodule; this iter only builds the home.
Task 1 (atomic — the rename breaks the build until every site is
threaded):
- git mv crates/ailang-kernel-stub → crates/ailang-kernel.
- Carved the STUB_AIL Form-A body verbatim (byte-identical, verified
via diff against HEAD's raw string) into src/kernel_stub/source.ail,
loaded by mod.rs via include_str!. The answer (intrinsic) fn is
byte-preserved — its INTERCEPTS bijection partner stays pinned.
- lib.rs is now the hub: `pub use kernel_stub::SOURCE as STUB_AIL;`.
The public symbol STUB_AIL is preserved, so ailang-surface and the
bijection test bind to it unchanged.
- 8 compile sites threaded across 6 files: Cargo package name,
workspace member + dep-alias, ailang-surface dep, loader.rs
use-paths (ailang_kernel_stub → ailang_kernel). Cargo.lock
auto-regenerated.
Task 2 (doc/ledger honesty, no build impact):
- design/INDEX.md, CLAUDE.md code-layout row + lockstep-pair row,
design/models/0007 ×2 — crate-path strings updated to the new
ailang-kernel/src/kernel_stub path.
- Scope note: the spec's raw-buf.2 Components row named only
design/INDEX.md + the CLAUDE.md code-layout row. plan-recon found two
more present-tense crate-path refs (CLAUDE.md:312 lockstep row,
model 0007:8/235). Folded them in per the honesty-rule — a rename
that leaves stale present-state paths is an incomplete rename.
Path-only; the retirement narrative stays for raw-buf.4.
The AILang module name kernel_stub (the Form-A string + parse_kernel_stub
fn) is deliberately unchanged — only the crate identifier moved.
Verification (orchestrator, this session): cargo build --workspace
clean; cargo test --workspace 669 passed / 0 failed / 2 ignored
(baseline held exactly — no test added/removed). Carve byte-identity
confirmed by diff; no stale ailang-kernel-stub / ailang_kernel_stub
refs remain in-tree (git grep, excl. history + lockfile). The four
rename-invisible ratifiers (kernel_stub_module_round_trips,
intercepts_bijection_with_intrinsic_markers, .ll snapshots,
workspace_pin) all green via the preserved re-export.
44 lines
1.2 KiB
TOML
44 lines
1.2 KiB
TOML
[workspace]
|
|
resolver = "2"
|
|
members = [
|
|
"crates/ailang-core",
|
|
"crates/ailang-check",
|
|
"crates/ailang-codegen",
|
|
"crates/ailang-kernel",
|
|
"crates/ailang-surface",
|
|
"crates/ailang-prose",
|
|
"crates/ail",
|
|
]
|
|
# `ail-embed/` is intentionally NOT a member: it depends on the
|
|
# external `../libs/data-server` and is the sole data-server↔AILang
|
|
# meeting point (Invariant 1, docs/specs/0044-embedding-abi-m5.md).
|
|
# Adding it here would couple the compiler workspace to a sibling dir.
|
|
|
|
[workspace.package]
|
|
version = "0.0.1"
|
|
edition = "2021"
|
|
license = "MIT"
|
|
repository = "local"
|
|
rust-version = "1.80"
|
|
|
|
[workspace.dependencies]
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = { version = "1", features = ["preserve_order"] }
|
|
blake3 = "1"
|
|
anyhow = "1"
|
|
thiserror = "1"
|
|
clap = { version = "4", features = ["derive"] }
|
|
indexmap = { version = "2", features = ["serde"] }
|
|
tempfile = "3"
|
|
|
|
ailang-core = { path = "crates/ailang-core" }
|
|
ailang-check = { path = "crates/ailang-check" }
|
|
ailang-codegen = { path = "crates/ailang-codegen" }
|
|
ailang-kernel = { path = "crates/ailang-kernel" }
|
|
ailang-surface = { path = "crates/ailang-surface" }
|
|
ailang-prose = { path = "crates/ailang-prose" }
|
|
|
|
[profile.release]
|
|
lto = "thin"
|
|
codegen-units = 1
|