iter raw-buf.6 kernel-stub-retirement (DONE 5/5): retire the stub, raw_buf is the sole base extension (refs #7)
Closes the raw-buf milestone. raw_buf (shipped raw-buf.1-.5; the
owned-drop resolution landed under bug #42/#43) has subsumed every
ratification role kernel_stub held -- Term::New end-to-end, the
param-in reject, kernel-tier auto-import, the monomorphic intrinsic
path, and the type-scoped polymorphic intrinsic mechanism (RawBuf's
four ops). The stub is now redundant; this iteration removes it.
Pure removal (-636/+49 across 22 files, 7 deleted):
- Rust surface: drop `mod kernel_stub` + `STUB_AIL` re-export
(ailang-kernel), `parse_kernel_stub` + its workspace injection
(ailang-surface), the `answer` + two `StubT_peek__{Int,Float}`
INTERCEPTS entries + their three emit fns (ailang-codegen). The
(intrinsic) markers leave with the deleted source, so the
marker<->entry bijection holds in lockstep.
- Source + tests: delete crates/ailang-kernel/src/kernel_stub/,
kernel_stub_module_round_trips, the two stub-consumer e2e tests,
and mono_scoped_symbol.rs (its scope-qualified-mono mechanism is
now pinned by RawBuf's ops + the intercepts bijection).
- Fixtures: delete kernel_answer.ail, new_stubt_smoke.ail,
peek_mono_pin_smoke.ail, and fieldtest kem_3_stub_consumer.ail
(referenced the deleted StubT; documented a since-fixed bug).
- Pins: re-baseline both workspace-count content-pins 5 -> 4
(workspace_pin.rs + the e2e.rs twin) and regenerate all five IR
snapshots (400 stub-IR lines removed; no user IR changed -- the
stub auto-injected into every build).
- Ledger: design/INDEX.md + design/models/0007 to present-state
(raw_buf is the live ratifier; raw-buf milestone shipped, series
pending), plus architecture-comment sweep across workspace.rs,
mono.rs, check/codegen lib.rs, workspace_kernel.rs.
Scope decisions (orchestrator, pre-plan): the self-contained inline
serde_json check-layer fixtures in ailang-check/src/lib.rs keep their
incidental StubT/kernel_stub sample names (they construct what they
reference; not stub-ratification) -- the one permitted residual.
kem_4 fieldtest kept (uses a user NumBox ADT, comment-only edit).
hash.rs `name: "answer"` left (generic serde doc example).
Plan-gap caught at implement: the planner's verbatim edit list
under-enumerated four honesty sites; one (mono.rs:562) carried a
literal `StubT_peek__Int` -- a hard-gate symbol the verbatim list
missed, which would have failed Task 4's removal gate. Filled
(comment-only, no behaviour). Confirms the planner self-review
filter-completeness risk; the implement gate caught it.
Verification: full workspace suite green (0 failed); hard symbol gate
(STUB_AIL|parse_kernel_stub|emit_answer|emit_stubt_peek|StubT_peek__)
zero matches across crates/ examples/ design/; soft gate residual only
the kept inline fixtures; kernel crate is lib.rs + raw_buf/ only.
Regression: compile_check 24/24 stable (exit 0; uniform downward
check_ms within tol -- stub no longer parsed per compile), cross_lang
25/25, check 34/34 stable (exit 0; an earlier exit-1 on
rc_over_bump was machine-load ratio noise -- denominator bump_s got
faster, rc_s also improved -- confirmed green on re-run, not
baselined).
This commit is contained in:
+1
-1
@@ -109,4 +109,4 @@ is the default.
|
||||
| authoring-surface | onboarding / evolves | design/models/0001-authoring-surface.md |
|
||||
| prose-projection | onboarding / evolves | design/models/0006-prose-projection.md |
|
||||
| pipeline | onboarding / evolves | design/models/0003-pipeline.md |
|
||||
| kernel-extensions | onboarding / evolves (mechanisms milestone closed 2026-05-28; ratified end-to-end by the `ailang-kernel/src/kernel_stub` fixture, planned for retirement when raw-buf lands a real second consumer; raw-buf and series milestones pending) | design/models/0007-kernel-extensions.md |
|
||||
| kernel-extensions | onboarding / evolves (mechanisms milestone closed 2026-05-28; ratified end-to-end by the `ailang-kernel/src/raw_buf` base extension; series milestone pending) | design/models/0007-kernel-extensions.md |
|
||||
|
||||
@@ -4,9 +4,10 @@
|
||||
(`kernel-extension-mechanics`; iterations prep.1, prep.2, prep.3
|
||||
landed). The four language-level mechanisms — type-scoped
|
||||
namespacing, `Term::New`, kernel-tier modules + auto-import, and
|
||||
`param-in` — are shipped and ratified by the stub kernel module
|
||||
(`crates/ailang-kernel/src/kernel_stub/`). The base-extension and library-
|
||||
extension milestones (`raw-buf`, `series`) are pending. This
|
||||
`param-in` — are shipped and ratified by the `raw_buf` base
|
||||
extension (`crates/ailang-kernel/src/raw_buf/`). The base-extension
|
||||
milestone (`raw-buf`) has shipped; the library-extension milestone
|
||||
(`series`) is pending. This
|
||||
whitepaper describes the design as a coherent whole; the
|
||||
per-milestone specs in `docs/specs/` carry the implementation-
|
||||
level detail. Sections describing the now-shipped mechanisms read
|
||||
@@ -220,7 +221,7 @@ generalised from a hardcoded single-name path (prelude only,
|
||||
pre-prep.3) to a flag-driven multi-module mechanism (since
|
||||
prep.3 of `kernel-extension-mechanics`). The loader at
|
||||
`crates/ailang-surface/src/loader.rs::load_workspace` injects
|
||||
`parse_prelude()` and `parse_kernel_stub()` programmatically,
|
||||
`parse_prelude()` and `parse_raw_buf()` programmatically,
|
||||
then derives the implicit-imports list from
|
||||
`modules.values().filter(|m| m.kernel)`. Every module in the
|
||||
workspace's modules map that carries `kernel: true` enters the
|
||||
@@ -231,8 +232,8 @@ Prelude carries `kernel: true` in `examples/prelude.ail`. Its 12
|
||||
free fns (see `examples/prelude.ail:85-148`) remain callable bare
|
||||
in every consumer module — ratified by
|
||||
`crates/ail/tests/prelude_free_fns.rs` across the code-path
|
||||
migration. The ratifying stub kernel module
|
||||
(`crates/ailang-kernel/src/kernel_stub/`) and any future kernel-tier
|
||||
migration. The `raw_buf` base-extension kernel module
|
||||
(`crates/ailang-kernel/src/raw_buf/`) and any future kernel-tier
|
||||
consumers (Series, Matrix) auto-import through the same filter.
|
||||
|
||||
Class-method dispatch (a separate mechanism — see
|
||||
|
||||
Reference in New Issue
Block a user