jolt/test/integration
Yogthos 28ef15ea4b core: staged-bootstrap kernel tier; move second/peek/subvec/mapv/update to Clojure
First fractal turn of the multi-stage bootstrap (jolt-tzo). The Clojure part of
clojure.core is now loaded in ordered tiers under jolt-core/clojure/core/. The
kernel tier (00-kernel: second/peek/subvec/mapv/update) holds the structural fns
the self-hosted compiler itself uses; in compile mode it is bootstrap-compiled
into clojure.core BEFORE the analyzer is built, so the analyzer binds those names
to the Clojure definitions instead of a not-yet-defined forward ref. That removes
the circularity that previously forced these to stay in Janet — the five core-*
primitives and their init-core! entries are gone.

Mechanism: backend/bootstrap-load-source (generalized from compile-load) builds a
source string into a target ns via the bootstrap; rebuild-compiler! recompiles
the self-hosted compiler against the current core (the rail for future turns,
exercised by the new fixpoint test). api/load-core-overlay! walks the ordered
tiers, bootstrap-loading kernel tiers and self-hosting the rest.

Also fixes a latent evaluator bug surfaced by the move: a fn rebinds current-ns
to its defining ns while it runs and restores on normal return, but a fn that
THREW unwound past its own restore, leaking the ns. try now restores the
try-entry ns on the catch/finally path, so referred-symbol resolution survives a
caught error (this was breaking is/testing in the suite harness after any thrown
assertion). Net battery +3 (3913 -> 3916); conformance 218/218 in all three
modes; binary builds and runs the embedded tiers.
2026-06-06 13:15:17 -04:00
..
aot-test.janet aot: marshal compiled namespaces to bytecode images 2026-06-06 02:57:32 -04:00
api-test.janet test: restructure into unit / integration / spec layers + shared harness 2026-06-05 00:00:16 -04:00
cli-test.janet cli: babashka-style flags (--version, --eval, --main, nrepl-server) 2026-06-05 23:20:29 -04:00
clojure-test-suite-test.janet core: staged-bootstrap kernel tier; move second/peek/subvec/mapv/update to Clojure 2026-06-06 13:15:17 -04:00
compile-mode-test.janet compiler: compile multi-arity, named, and variadic fns + recur-in-fn 2026-06-06 01:56:01 -04:00
conformance-test.janet conformance: guard the self-hosted pipeline too (218/218 in all three modes) 2026-06-06 10:29:36 -04:00
deps-conformance-test.janet deps phases 3-4: uberscript bundling + conformance harness 2026-06-05 23:36:40 -04:00
deps-loader-test.janet test: fall back to /tmp when TMPDIR is unset (Linux CI) 2026-06-05 23:07:20 -04:00
deps-resolve-test.janet test: fall back to /tmp when TMPDIR is unset (Linux CI) 2026-06-05 23:07:20 -04:00
embedded-stdlib-test.janet bake the .clj stdlib into the binary 2026-06-05 23:51:03 -04:00
features-test.janet chore: remove dev artifacts; keep only published code/tests/docs 2026-06-05 15:45:04 -04:00
jank-conformance-test.janet test: restructure into unit / integration / spec layers + shared harness 2026-06-05 00:00:16 -04:00
namespace-test.janet test(spec): macros, reader, host-interop, namespaces — fix def-doc, resolve, %& 2026-06-05 00:35:48 -04:00
nrepl-test.janet fix: pr-str/str of a var, and nREPL namespace switching 2026-06-05 22:05:45 -04:00
sci-bootstrap-test.janet test: restructure into unit / integration / spec layers + shared harness 2026-06-05 00:00:16 -04:00
sci-runtime-test.janet test: restructure into unit / integration / spec layers + shared harness 2026-06-05 00:00:16 -04:00
self-host-test.janet core: move nfirst to the Clojure overlay 2026-06-06 11:49:09 -04:00
staged-bootstrap-test.janet core: staged-bootstrap kernel tier; move second/peek/subvec/mapv/update to Clojure 2026-06-06 13:15:17 -04:00
suite-worker.janet self-host: JOLT_SELFHOST suite mode; keep analyzer interpreted for now 2026-06-06 06:41:36 -04:00
systematic-coverage-test.janet feat(strictness): numeric ops reject non-numbers/non-integers like Clojure 2026-06-05 10:58:21 -04:00
uberscript-test.janet deps phases 3-4: uberscript bundling + conformance harness 2026-06-05 23:36:40 -04:00