
Explicit imports for non-prelude types, a first-class `Path` type, the `?` propagation operator for `Result`, a typed JSON decode DSL, and a new `system` stdlib module. The compiler gained five new test suites (800+ tests), VAST added ledger durability and staleness detection, and `generate-test-docs` was rewritten as a multi-file Varyonic project. Eighty commits, 104k lines added across 1,125 files.

<div class="table-scroll">
<table style="width: 100%;">
<colgroup><col style="width: 240px;"><col></colgroup>
<thead><tr style="background: rgba(0, 0, 0, 0.03);"><th style="text-align: left;">Change</th><th style="text-align: left;">Description</th></tr></thead>
<tbody>
<tr><td>Prelude discipline</td><td>Non-prelude types now require explicit imports. <code>Json</code>, <code>Path</code>, <code>Clock</code>, <code>Rng</code>, <code>Decimal</code>, <code>Template</code>, and all other stdlib types must be imported from their owning module. Core types (<code>Int</code>, <code>Float</code>, <code>Bool</code>, <code>Str</code>, <code>List</code>, <code>Dict</code>, <code>Set</code>, <code>Result</code>) remain in the prelude.</td></tr>
<tr><td>First-class <code>Path</code> type</td><td>New <code>Path</code> value type with <code>path.join()</code>, <code>path.normalize()</code>, equality, the <code>/</code> join operator, and <code>.to_str()</code>. Stdlib APIs (<code>fs</code>, <code>system</code>, <code>template</code>) accept and return <code>Path</code> values instead of raw strings.</td></tr>
<tr><td>Result propagation (<code>?</code>)</td><td>The <code>?</code> operator unwraps <code>Result[T, E]</code> on <code>Ok</code> and returns early with <code>Err</code> on failure. Works in any function that returns <code>Result</code>. Companion helpers: <code>.map()</code>, <code>.flat_map()</code>, <code>.map_err()</code>, <code>.unwrap_or()</code>, <code>.is_ok()</code>, <code>.is_err()</code>.</td></tr>
<tr><td>JSON decode DSL</td><td>Typed decode API via <code>Decoder</code> with short accessor methods, or-none variants, defaults, validation, and enum constraints. Nested object traversal with <code>.field(name)</code> and <code>.at(index)</code>. Errors include the full JSON path.</td></tr>
<tr><td>Template returns <code>Result</code></td><td><code>template.create()</code> and <code>engine.render()</code> return <code>Result</code> instead of throwing. <code>TemplateError</code> has <code>.kind()</code> and <code>.message()</code> methods.</td></tr>
<tr><td><code>system</code> stdlib module</td><td>New module with <code>system.script_dir()</code>, <code>system.stdin()</code>/<code>stdout()</code>/<code>stderr()</code> streams, <code>system.env()</code> access, and <code>system.exit()</code>. Replaces scattered built-in functions with a single namespace.</td></tr>
<tr><td><code>across</code> shrinking</td><td>Property-based testing with <code>across</code> now shrinks failing inputs to minimal counterexamples. Added stateful property testing support.</td></tr>
<tr><td>VAST ledger durability</td><td>VAST results stored in a persistent ledger with retention policy, history summaries, and staleness detection. Corpus results survive across runs.</td></tr>
<tr><td>PIT mutation testing</td><td>Kotlin-level mutation testing with PIT integrated into the RC pipeline. Covers 42 classes with conditional and return-value mutators.</td></tr>
</tbody>
</table>
</div>
