Topaz grows through public minor releases and production-quality patch checkpoints. Public minors mark the product boundary users install; patch checkpoints record the concrete work that made the next boundary possible.
Product milestones
| Version | What changed |
|---|---|
| 5.0 | Established the expression-oriented, Result-first, Unicode-friendly language direction. |
| 5.1 | Added structured loops and clarified layout, operators, patterns, concurrency, and templates. |
| 5.2 | Locked the import/export module model and aligned the first public v5 toolchain. |
| 5.3 | Expanded the standard library and real-program support without splitting language meaning across distribution channels. |
| 5.4 | Standardized platform binaries and installation, then opened the Python generation track. |
| 5.5 | Promoted Python to a supported backend and expanded interpreter/Rust/Python agreement. |
| 5.6 | Unified the mature language, runtime, package, WASM Playground, and distribution surfaces. |
| 5.7 | Published the installed offline Web Application Loop with Data Lens and Markdown Live. |
| 5.8 | Published local text import/export and bounded package-isolated durable state as the Local Data Application Loop. |
| 5.9 | Published the bounded HTTP Service Application Loop with explicit inbound authority, finite limits, structured operations, and source-free artifacts. |
| 5.10 | Published the stock binary-media kernel loop with explainable native selection, exact byte operations, deterministic codec leaves, and maintained CodeImage evidence. |
| 5.11 | Published Bootstrap Foundations with canonical compiler observations, a deterministic bootstrap profile and workload, phase comparison, and recoverable Rust Stage 0. |
| 5.12 | Published the installed Self Front-end Preview through Typed, with source-free semantic comparison, explicit no-fallback behavior, and Rust Stage 0 as default and recovery. |
| 5.13 | Published the explicit Stage 1 Compiler Preview: the generated compiler owns target lowering and Rust emission, records complete provenance, and fails without hidden Rust fallback. |
| 5.14 | Published the Stage 2 Fixed Point: a separately executed self-hosted compiler reproduces canonical semantics and raw generated source while Rust Stage 0 remains default and recovery. |
| 5.15 | Published the Supported Dual Toolchain: Rust remains the default and recovery compiler while the explicit current-mode self compiler is supported across its declared routes. |
| 5.16 | Published Self-hosted Default: the installed Stage 2 compiler is the default on supported current-mode routes, with explicit Rust recovery and no silent fallback. |
| 5.17 | Adds the installed bounded Lispex evaluator under its own command namespace, with an exact embedded component, finite limits, explicit refusal, and no fallback or whole-language claim. |
Patch checkpoints
Every closed patch checkpoint gets a public History row whether it was
published directly or accumulated on develop for the next public minor.
Older trains stay collapsed so the long-term product arc remains readable.
5.4.x — Python generation begins
| Checkpoint | Visibility | User-visible result |
|---|---|---|
| 5.4.1 | Public | Added the first experimental Python generation path alongside the existing interpreter and Rust output. |
5.5.x — Python backend closure
| Checkpoint | Visibility | User-visible result |
|---|---|---|
| 5.5.1 | Internal | Added same-kind Bytes ordering and stable natural sorting for generated Python arrays. |
| 5.5.2 | Internal | Aligned final top-level if and match values across the interpreter, generated Rust, and generated Python. |
| 5.5.3 | Internal | Made every backend reject top-level return arms consistently while preserving function-local returns. |
| 5.5.4 | Public | Aligned Python cleanup and fault behavior so deferred work does not drain after an unrecoverable fault. |
| 5.5.5 | Public | Added bounded JSON server-boundary behavior and exact cross-backend number, escape, duplicate-key, and error handling. |
| 5.5.6 | Public | Made unsupported Python shapes fail through complete, source-mapped diagnostics instead of incomplete output. |
| 5.5.7 | Public | Closed Option, Result, unit-value, and higher-order operation gaps in generated Python. |
| 5.5.8 | Public | Aligned floating-point identity and key behavior for Map, Set, and related container operations. |
5.6.x — installed products and Web foundations
| Checkpoint | Visibility | User-visible result |
|---|---|---|
| 5.6.1 | Public | Moved build work into disposable storage, bounded Python cache growth, and added managed artifact identity, licensing, and package guarantees. |
| 5.6.2 | Public | Refreshed documentation and npm presentation without changing behavior. |
| 5.6.3 | Public | Removed the private repository address from public npm metadata. |
| 5.6.4 | Public | Added the installed multi-module Application Loop foundation, offline native/Python package builds, and machine-readable agent-pack checking. |
| 5.6.5 | Public | Completed the installed Application Loop, fmt --check, localized guides, direct npm publication, and bounded field validation. |
| 5.6.6 | Internal | Added fixed-length mutable ByteBuffer and repaired Web allocation and returned-memory ownership for large binary products. |
| 5.6.7 | Internal | Added the checked Web Application lifecycle, safe browser host, web-app scaffold, loopback development command, and complete managed static bundle. |
| 5.6.8 | Internal | Shipped the maintained Data Lens and Markdown Live dogfood products, repaired their reproduced checker/host blockers, and prepared the atomic 5.7 boundary. |
5.7.x — Local Data Application Loop
| Checkpoint | Visibility | User-visible result |
|---|---|---|
| 5.7.1 | Internal | Added capability-gated local UTF-8 file open and deterministic text download, exercised by Data Lens with real CSV and JSON. |
| 5.7.2 | Internal | Added bounded package-isolated durable string state, explicit load/save/delete results, and reload recovery for maintained apps. |
| 5.7.3 | Internal | Hardened Data Lens and Markdown Live with realistic multilingual files, repeated operations, exact exports, focus recovery, and a renderer performance repair. |
| 5.7.4 | Internal | Froze the completed feature set, prepared the next language authority and version surfaces, and proved a read-only atomic activation rehearsal. |
5.8.x — Bounded HTTP Service Application Loop
| Checkpoint | Visibility | User-visible result |
|---|---|---|
| 5.8.1 | Internal | Added the managed bounded HTTP/1.1 service target, request-local cancellation and limits, source-free artifacts, and a Data Lens Service sharing the browser product's checked core. |
| 5.8.2 | Internal | Hardened slow, malformed, disconnected, oversized, overloaded, faulting, and nonterminating request paths while proving request isolation and capacity recovery. |
| 5.8.3 | Internal | Added effective configuration inspection, versioned structured operation logs, graceful lifecycle events, restart evidence, and repeated concurrent multilingual service workflows. |
| 5.8.4 | Internal | Proved the browser and service Data Lens products share one checked core, hardened realistic multilingual workflows, and prepared the next authority and read-only activation boundary. |
5.9.x — observable native application kernels
| Checkpoint | Visibility | User-visible result |
|---|---|---|
| 5.9.1 | Internal | Added a deterministic native-lowering report and a fail-closed hybrid path that specializes eligible top-level scalar functions while preserving the boxed application. |
| 5.9.2 | Internal | Added exact Bytes and ByteBuffer native hot paths, including checker-proven direct record fields, while preserving boxed fallback, bounds faults, snapshots, and atomic writes. |
| 5.9.3 | Internal | Added deterministic fixed-Huffman raw DEFLATE for binary-media workloads, with exact Web/Rust bytes, bounded search and memory, and a loud Python target boundary. |
| 5.9.4 | Internal | Added deterministic systematic RS(255,223) protection with exact multi-shard bytes, bounded input, shared Rust/Web execution, and a loud Python target boundary. |
| 5.9.5 | Internal | Added unsigned CRC-32/ISO-HDLC as a non-cryptographic integrity checksum shared by direct, Rust, Python, Web, Worker, and Playground routes. |
| 5.9.6 | Internal | Added one deterministic RFC 1950 zlib stream around the exact fixed-Huffman DEFLATE bytes, with bounded input and a loud Python target boundary. |
| 5.9.7 | Internal | Hardened the stock binary-media workflow with stable CodeImage renderer and proof-worker gates, source-free product checks, and a rehearsed dormant 5.10 activation boundary. |
5.10.x — Bootstrap Foundations
| Checkpoint | Visibility | User-visible result |
|---|---|---|
| 5.10.1 | Internal | Routed current standalone and package checks through the Stage 0 compiler-kernel facade with replayable source facts, deterministic limits, explicit provenance, and unchanged diagnostics. |
| 5.10.2 | Internal | Added installed canonical front-end observation and offline validation with reusable raw-token, layout-token, AST, scope, declaration, reference, export, diagnostic, and provenance facts. |
| 5.10.3 | Internal | Added one-pass full typed compiler facts, canonical typed observations, and a machine-readable Bootstrap Profile for locked deterministic compiler-kernel packages. |
| 5.10.4 | Internal | Routed every checked Rust product through one source-free Lowered IR and extended canonical observations through lowering decisions and generated Rust source without changing Python. |
| 5.10.5 | Internal | Added installed phase-gated compiler observation comparison and a locked compiler-grade workload with deterministic relocation, bounded differences, and measured resource limits. |
| 5.10.6 | Internal | Completed installed source-free observation workflows, exact build-input provenance, deterministic Stage 0 source recovery, and release-manifest v3 rehearsal without public mutation. |
5.11.x — Self Front-end Preview
| Checkpoint | Visibility | User-visible result |
|---|---|---|
| 5.11.1 | Internal | Added an installed Topaz-authored Unicode lexer and deterministic layout preview that emits a canonical token-terminal observation without changing or falling back from Rust Stage 0. |
| 5.11.2 | Internal | Extended the installed preview through the complete current parser, canonical AST, exact parse diagnostics and recovery, with bounded node and depth accounting and no Rust fallback. |
| 5.11.3 | Internal | Extended the installed preview through logical import closure and name resolution for package, mounted, and standard modules, with exact scopes, bindings, references, exports, diagnostics, bounded source facts, and no Rust fallback. |
| 5.11.4 | Internal | Extended the installed preview through Topaz-authored static checking, canonical Typed nodes, calls and captures, protocol-bound and binding diagnostics, and exact agreement on focused compiler and locked-application cases. |
| 5.11.5 | Internal | Closed the reviewed current-source corpus and complete front-end self-check: admitted and negative programs agree with Rust Stage 0, unsupported sources stay explicitly classified, and fixed wall-time and memory gates pass. |
| 5.11.6 | Internal | Completed the exact installed Self Front-end Preview: source-free validation and semantic comparison preserve explicit Rust Stage 0 recovery and fail without hidden fallback, while recovery assets pin the embedded sources. |
5.12.x — Stage 1 Compiler Preview
| Checkpoint | Visibility | User-visible result |
|---|---|---|
| 5.12.1 | Internal | Fixed the first Stage 1 exchange, private lowering IR, and provenance contract, then matched Stage 0 operation identities and operand order on the smallest fail-closed Topaz-authored lowering basis. |
| 5.12.2 | Internal | Completed Topaz-authored lowering for the declared Bootstrap and ordinary-program surface, including exact operation, operand, capture, rejection, and source-set dispositions without fallback. |
| 5.12.3 | Internal | Added the deterministic Topaz-authored Rust emitter, pinned its runtime-template registry, rejected target compiler dependencies, and compiled and ran a source-free generated-product canary. |
| 5.12.4 | Internal | Built the generated compiler module, compiled an ordinary package through it, and reproduced the exact compiler source-set output byte for byte without replay or a Rust target-front-end fallback. |
| 5.12.5 | Internal | Separated Rust and generated-compiler semantic, diagnostic, generated-source, product, and provenance comparisons; fixed per-producer determinism and rejected wrong-producer or damaged-product fallback. |
| 5.12.6 | Internal | Exposed the installed source-free Stage 1 producer with complete provenance, fail-closed validation, independent Stage 0 recovery, and bounded release-mode wall time and memory. |
| 5.12.7 | Internal | Closed release readiness with bounded Application Loop, LIT, byte-intensive CodeImage, and isolated Lispex provider canaries, plus an exact activation inventory and cumulative candidate gate map. |
5.13.x — Stage 2 Fixed Point
| Checkpoint | Visibility | User-visible result |
|---|---|---|
| 5.13.1 | Internal | Separated producer and build provenance from canonical compiler-generated Rust, fixed explicit Stage 1/2 producer identities, and added a raw-byte fixed-point contract while preserving Stage 1 and the Rust Stage 0 default. |
| 5.13.2 | Internal | Regenerated the compiler source, bound those exact bytes to a separately validated next-stage manifest and program image, and kept execution and the fixed-point claim outside this build checkpoint. |
| 5.13.3 | Internal | Added the explicit Stage 2 producer and self-source routes, ran the separately cached compiler image to regenerate source, and rejected cross-stage producer selection without falling back. |
| 5.13.4 | Internal | Closed the semantic and raw-source fixed-point comparison for the exact compiler source set and bounded positive and diagnostic corpus, while keeping producer provenance distinct and native binary equality outside the claim. |
| 5.13.5 | Internal | Added bounded semantic, generated-source, provenance, producer, seed, runtime, missing-fact, and unsupported-version canaries that reject before completed output without fallback. |
| 5.13.6 | Internal | Qualified the exact local npm product for installed target and source-free self-source Stage 2, reconstructed Rust Stage 0 offline with the Stage 2 inputs, and fixed the bounded resource method. |
| 5.13.7 | Internal | Closed the smallest Stage 2-bearing Application Loop, LIT, CodeImage, and isolated Lispex regressions, and fixed the inactive 5.14 activation inventory and cumulative release-candidate gate map. |
5.14.x — Supported Dual Toolchain
| Checkpoint | Visibility | User-visible result |
|---|---|---|
| 5.14.1 | Internal | Added explicit rust and self compiler selection, a validated machine-readable support inventory, fail-closed preflight, and the first current-mode selected-entry check through the installed self compiler. |
| 5.14.2 | Internal | Added a complete versioned self-compilation product with product-owned profile diagnostics, deterministic source/result identities, generated Rust, provenance, and a fail-closed mechanical adapter. |
| 5.14.3 | Internal | Added dual-compiler parse, AST, check, profile, export, run, test, bench, locked-package, and compiler-observation routes with exact bounded outcome and diagnostic agreement and no fallback. |
| 5.14.4 | Internal | Separated the target-only fixed-point IR runtime from compiler images, added self Rust emit and source-free native build, and sealed exact compiler provenance in managed artifacts. |
| 5.14.5 | Internal | Added self-compiler-derived target facts and products for Python, Web, worker, Web application, HTTP service, and Web/service development loops without a Rust target-front-end fallback. |
| 5.14.6 | Internal | Added process-stable Rust/self selection to formatting, package documentation, every declared LSP request, and the official VS Code extension, with shared presentation and no compiler fallback. |
| 5.14.7 | Internal | Qualified one exact local npm product for repository-free Rust/self builds and source-free execution, independent Rust recovery after self-compiler image damage, bounded compiler/LSP resources, and product size. |
| 5.14.8 | Internal | Closed dual-engine release readiness with source-free Golden Path, compiler/standard-library, LIT, CodeImage, and isolated Lispex canaries, plus a complete support disposition and release-candidate gate map. |
5.15.x — Self-hosted Default
| Checkpoint | Visibility | User-visible result |
|---|---|---|
| 5.15.1 | Internal | Preserved compiler intent until the effective package language mode is known, so older-mode packages select Rust compatibility deterministically and explicit self declines before compiler work. |
| 5.15.2 | Internal | Prepared and validated the exact immutable self-compiler image once per process, shared it across compiler and LSP workers, rejected corruption or identity drift, and met the bounded cold and LSP resource floor without caching target results. |
| 5.15.3 | Internal | Made the installed Stage 2 compiler the omitted default across all 21 supported current-mode routes, while keeping explicit Rust recovery and deterministic Rust compatibility and recording every selection origin. |
| 5.15.4 | Internal | Qualified one exact local npm installation for default-self check, selected test, managed Python packaging and source-free execution; invalid self stays unhealthy and fail-closed while explicit Rust and compatibility remain independent. |
| 5.15.5 | Internal | Closed every observed self-default field blocker, verified one installed two-module default-self Golden Path through source-free native execution, and assigned bounded external risks to exact 5.16 candidate gates. |
| 5.15.6 | Internal | Produced fresh Stage 1 and Stage 2 observations and a new source-free native product, pinned complete recovery inputs, and fixed inactive 5.16 activation, cumulative release-candidate evidence, evidence reuse, and rollback ownership. |
5.16.x — trust boundaries and bounded embedding
| Checkpoint | Visibility | User-visible result |
|---|---|---|
| 5.16.1 | Internal | Separated observed differences from their normative disposition, generated exact evidence closure mechanically, and fixed immutable public-language and bootstrap profiles for later releases. |
| 5.16.2 | Public tools | Published the three-tool check-only MCP server and the LSP-capable editor update as separately versioned tools, without adding remote execution or bundling a compiler into the editor. |
| 5.16.3 | Internal | Added the no-capability host, target-scoped operating-system sandbox, and installed isolation court needed before any future execution tool can be considered. |
| 5.16.4 | Internal | Classified the first Lispex semantic surface and observation channels, then accepted one exact import-free metered evaluator component without pinning a whole Lispex release. |
| 5.16.5 | Internal | Built a modular host–guest contract and a private vertical probe with exact version and digest refusal, no imports, no callbacks, no discovery, and no fallback. |
| 5.16.6 | Internal | Used candidate-relative held-out cases to find and remove unsupported mutation and multiple-value claims, then closed the corrected bounded profile against the unchanged evaluator. |
| 5.16.7 | Internal | Integrated the evaluator into the normal Topaz binary behind separate fresh prepare and evaluate instances, closed limits, atomic output publication, and explicit semantic, runtime, and admission identities. |
| 5.16.8 | Internal | Qualified a normal checksum-installed, offline, source-free product and proved that decoy evaluators, selectors, repository access, network access, and historical LIT commands cannot replace the admitted component. |
| 5.16.9 | Internal | Closed redistribution, revocation, evidence-closure, and release-admission records for the exact component, then prepared the cumulative five-platform 5.17 candidate without changing 5.16 language meaning. |
5.17.x — first-class Lispex decision applications
| Checkpoint | Visibility | User-visible result |
|---|---|---|
| 5.17.1 | Internal | Added application-wide quotas, queue backpressure, preemptive cancellation, concurrent-call isolation, and cleanup around reusable Lispex evaluation; independently matched the bounded provider artifact and portable-core contract without product admission; completed a profile-gated application API through the interpreter and self-hosted frontend while unsupported targets fail closed; added checked consumer-artifact storage, unauthenticated portable-core inspection and verification, and byte-identical fresh-instance replay; passed a maintained two-module application through normal npm installation, source and compiler removal, relocation, and a local native court; prevented localized page titles from breaking inside words; and corrected the separately versioned MCP reference boundary. |
| 5.17.2 | Internal | Fixed the 5.18 bounded-application release boundary and fresh-admission order, placed complete-profile integration at 5.19 and compiler-quality work at 5.20, and separated HTTP service and MCP from the required integration targets. Also synchronized the no-capability host's Lispex operation with its explicit deny policy. This checkpoint changed no language semantics or supported application behavior. |
| 5.17.3 | Internal | Added the dormant 5.18 profile as a known but unselectable exact inheritance of 5.17, bound the first-class bounded Lispex application exclusively to the future 5.18 package and standard-library pair, and kept every current 5.17 first-class application route fail-closed. Generated the dormant authority, fixed the MCP reference-disposition policy, completed the atomic activation inventory, and passed a read-only activation rehearsal. This checkpoint changed no current language semantics or supported product behavior. |
| 5.17.4 | Internal | Added schema-validated, synthetic-only infrastructure for a future candidate-relative held-out court. It covers candidate and court closure shapes, restricted producer capabilities, a relational sealed-corpus lifecycle, generic comparison, and separate observation and disposition records. This first format cannot run a production court and all external production paths reject. A separately versioned successor must bind self-contained provider semantics and tariffs plus a trust root the candidate cannot choose. No production candidate, seed, corpus, result, or reveal was created. Language semantics, supported product behavior, and the public release did not change. |
| 5.17.5 | Internal | Added hermetic, synthetic-only infrastructure for the future fresh bounded-application admission. A closed 45-role inventory covers candidate and profile roots, the exact provider component, application evidence, five native courts and assets, future held-out roots, and governance. The generator hashes actual fixture bytes, emits only noncandidate records, and is checked by clean independent recomputation and fail-closed negative controls. It cannot accept a production candidate, trust root, or admission request. No candidate, admission, release eligibility, language meaning, supported product behavior, or public release changed. |
| 5.17.6 | Reserved | Reserved for the separately versioned production held-out successor. It remains unissued because the exact self-contained provider semantic and tariff module and the non-candidate-controlled owner or verifier trust root are not available. Work may continue only on independent preparation checkpoints. No 5.17.6 product checkpoint, candidate, held-out material, admission, release, public mutation, or language-semantic change was created. |
| 5.17.7 | Internal | Added synthetic-only opaque preservation for one future bounded-application admission bundle. An acyclic pack binds the exact bytes of the current single 45-role bundle, and an isolated forward-only release-manifest v5 member is permanently candidate-ineligible. The current v4 release scripts and workflow remain byte-unchanged. Two bundle generations, two pack assemblies, two atomic stagings, and three preserved copies matched exactly while forty-one negative controls passed. No production bundle, admission, candidate, v5 activation, release, public mutation, or language-semantic change was created. |
| 5.17.8 | Internal | Added a fresh candidate-only bounded-application user contract in English, Korean, and Russian. It pins all 17 maintained sample files, derives only the 5.18 manifest and root lock hash, and prepares 24 synchronized guide, discovery, status, release-note, and rollback operations. Seven unsupported routes stay explicit. Two isolated stagings were byte-identical and twenty-six negative controls passed. The full-profile evaluator is described as supplied and privately retained but not product-executable or admitted. No public guide, sample, candidate, execution, release, deployment, or language-semantic change was created. |
| 5.17.9 | Internal | Re-derived the exact T18-H2 external-input audit against Lispex origin/develop revision c78a39b466ff2cdda1c08aab883e62db6e3f7960, nine commits after the retained F15 handoff, with all 12,250 tracked files in scope. The required self-contained provider semantic and tariff module and non-candidate-controlled H1 owner and verifier trust root both remain unavailable. A repeatable watcher now verifies the retained bytes and can replay the exact provider Git evidence. No v2 successor, trust root, production context, candidate, held-out material, admission, public mutation, release, deployment, or language-semantic change was created. |
| 5.17.10 | Internal | Added a candidate-neutral intake protocol for the two missing T18-H2 inputs. Future provider and trust-root offers must stay outside the Topaz worktree and bind exact repository origins, commits, Git objects, byte counts, digests, roles, provider content keys, and distinct owner and verifier materials. The checker never executes offered code and can report only structural eligibility, not admission. One disposable synthetic pair passed and twenty-nine focused negative controls rejected malformed, aliased, mutable, candidate-controlled, wrong-scope, and secret-bearing inputs. No real provider module or trust root was received. No v2 successor, production authority, candidate, held-out material, admission, public mutation, release, deployment, or language-semantic change was created. |
| 5.17.11 | Internal | Reaudited the two T18-H2 external inputs after Lispex origin/develop advanced to db808756b2e200f71590837fd1a7a683943688e3. All nine exact input searches remain empty across eight retained remote branches, and the three retained F15 provider records remain byte-identical. The newly added Ed25519 key is bound only to a provider-local recipient-cleanup observation and is not a Topaz H1 owner or verifier trust root. No provider authority, trust root, v2 successor, candidate, admission, public mutation, release, deployment, or language-semantic change was created. |
| 5.17.12 | Internal | Reaudited T18-H2 after Lispex origin/develop advanced to the direct repair child ece930ea3e4483fec6ee1735f66727b60ff9b4e5. Its exact 23-path delta preserves an aborted recipient sample attempt and repair lineage. The canonical ledger records no primary admission or cleanup completion signature and explicitly denies independent external attestation and private-memory absence. All nine required-input searches remain empty across eight retained remote branches. The provider records and unrelated public keys remain byte-identical, so neither the discarded sample key nor the cleanup key is Topaz H1 authority. No provider module, trust root, v2 successor, candidate, admission, public mutation, release, deployment, or language-semantic change was created. |
| 5.17.13 | Internal | Fixed the T18-H2E Topaz-owned bounded-integration conformance authority over the already retained exact component closure. A candidate-blind direct-component oracle, independent Node witness, twelve-row integration denominator, and non-overridable GitHub Actions OIDC and Sigstore policy replace the moving-provider dependency. Ordinary Lispex branch movement triggers no Topaz fetch, search, reaudit, or pause. H2B runs only for an explicit owner-authorized versioned offer. The checkpoint claims Topaz application-integration conformance only and creates no provider-semantic or whole-Lispex reverification claim, candidate, attestation, seed, corpus, admission, public mutation, release, deployment, or language-semantic change. |
| 5.17.14 | Internal | Fixed the T18-H2F hosted trusted-builder closure without invoking it. An earlier immutable commit contains the data-only containment processor and exact schemas, policy, Sigstore Public Good root, and signing configuration. Its child contains the reusable workflow_call-only GitHub-hosted signer, and the current verifier pins that signer commit, the fixed GitHub CLI release, and the checked-in root. Two deterministic synthetic builds and sixteen focused data, filesystem, Git, workflow, and verifier controls passed. No candidate, production containment, attestation, transparency mutation, held-out material, admission, public mutation, release, deployment, or language-semantic change was created. |
| 5.17.15 | Internal | Fixed the T18-H2G candidate-freeze and remote-containment authority without invoking it. A fourteen-role denominator classifies every safe regular Git blob exactly once. The immutable trusted generator derives canonical role manifests and the complete closure from Git objects, the isolated hosted caller treats candidate bytes as inert data, and the offline verifier independently regenerates the closure before accepting only the pinned H2F signer and checked-in trust root. Ordinary provider branch movement is not an input. Nineteen focused source, Git, workflow, and verifier controls passed. No candidate, containment record, attestation, held-out material, admission, public mutation, release, deployment, or language-semantic change was created. |
| 5.17.16 | Internal | Fixed the T18-H2H fresh-seed and candidate-blind producer infrastructure without invoking it. An immutable producer root generates exactly forty-eight direct-WASM cases across twelve fixed restricted-profile families from a post-freeze 256-bit seed. The isolated reusable workflow keeps candidate identity, repositories, network, ambient event state, and prior results outside the producer, then adds candidate identity only in a separate outer binder. Synthetic determinism and binder controls passed. No production seed, corpus, candidate execution, admission, public mutation, release, deployment, or language-semantic change was created. |
| 5.17.17 | Internal | Repaired the dormant T18-H2H reusable-workflow authority defect before first invocation. Both backend-consuming jobs now select the literal retained H2H backend commit instead of caller-relative github.workflow_sha, while a successor authority pins the repaired workflow commit without rewriting the historical H2H record. No production workflow, seed, corpus, candidate execution, evidence, public mutation, release, deployment, or language-semantic change occurred. |
| 5.17.18 | Internal | Fixed the uninvoked T18-H2I sealed-corpus transport and Linux-preflight binding. A GitHub-hosted sealer validates the exact H2H records, uploads one private one-day digest-closed artifact, then deletes all three raw artifacts. The candidate preflight has no sealed-payload access. One fresh hosted consumer hashes the payload as opaque bytes, binds the unchanged Linux result, and can sign the binding through the fixed Sigstore authority. This is repository access control, not an end-to-end-encryption claim. The reusable coordinator has no caller and was not run. No candidate, production seed, corpus, Linux execution, binding, signature, admission, public mutation, release, deployment, or language-semantic change occurred. Ordinary provider movement is not a Topaz input. |
| 5.17.19 | Internal | Independently rederived the T18-CP exact 5.18 activation inventory from the accepted H2I tree. The receipt-pinned T18-V inventory remains byte-exact. A canonical successor delta adds the newly discovered topaz_lispex_h1_oracle repository-inheritance surface, and a repository-relative Node walker discovers all current surfaces without an external ripgrep dependency. The read-only rehearsal constructed 83 candidate overlay files, retained 13 rebuild boundaries, passed 33 negative controls, and left the repository unchanged. No 5.18 activation, candidate, freeze, push, ceremony, seed, corpus, execution, admission, public mutation, release, deployment, provider consultation, or language-semantic change occurred. |
Current baseline
This manual describes the current Topaz product. Use Toolchain Status for the exact installed identity and Legacy syntax migration only when adapting genuinely old source forms.
Bounded Lispex product and LIT evidence
The installed 5.17 product exposes topaz lispex embed run for one closed,
bounded evaluator request and topaz lispex embed info --json for its exact
component and contract identity. The evaluator is fixed in the installed
binary. Unsupported profiles and mismatched identities fail explicitly, and
the command never discovers, downloads, or falls back to another evaluator.
LIT remains separate. Its same-lineage checks exercise one Topaz-written Lispex interpreter across several Topaz routes. They remain useful regression and integration evidence, but they do not establish source independence or whole-language equivalence and do not make Lispex a Topaz backend.