Nocter v0.11.0 Stabilization and Qualification
Status: Published and audited on 2026-08-10.
This record owns the final engineering audit and release-candidate evidence for v0.11.0. The completed feature contracts are frozen in ../milestones/v0.11.0.md, including Phases 0 through 8. Stabilization may correct defects, remove duplicate authority, improve diagnostics, and add regression coverage; it must not add another public feature.
The public release index and root download instructions identify v0.11.0. Repository tag v0.11.0 preserves its exact publication commit. Earlier published release records, tags, and artifacts remain immutable.
Contract Audit
The audit establishes all of the following from source and tests:
- declaration-wide resolved requirements are the sole authority for intrinsic
copy, nominal interfaces, callable capabilities, and associated-type equality; no standard-library name or source path grants a generic capability - associated declarations, conformance bindings, projections, and equality requirements retain one semantic identity through imports, specialization, diagnostics, and editor operations
instance,conform,construct,coerce, anddestructhave distinct structural models; declaration type patterns andwhererefinements share one overlap and substitution service- path-sensitive aggregate cleanup extends one pending-drop model with an optional runtime live flag and preserves exactly-once destruction across branches, loops, outcomes, and early exits
- static opaque results retain separate authored contract, declaration identity, and lowering witness facts; only the explicit lowering view may expose the witness to ABI, cleanup, and IR
- formatting, AST JSON, diagnostics, hover, completion, inlay hints, signature help, semantic tokens, definition, references, and rename preserve the same public source contracts
- the distributed standard library uses the same generic, ownership, provenance, module, and
visibility rules as user packages, including the opaque
str.lines()iterator pilot - no compatibility parser, textual capability check, silent fallback, unfinished production marker, or user-reachable witness inspection remains in the v0.11.0 surface
The Phase 8 completion audit found that the first opaque-result diagnostic code overlapped the existing provenance-contract family. Commit c379cf6b assigns opaque-result validation its own E0459 family and adds formatter, AST JSON, provenance, references, signature-help, and inlay-hint qualification coverage. No TODO, FIXME, HACK, XXX, todo!, or unimplemented! marker remains under compiler or standard-library production source.
Any later defect requires focused regression coverage and a separate implementation commit before the candidate is requalified.
Candidate Identity
The Cargo package and lockfile, installed VERSION, distribution manifest, archive name, distributed std/nocter.nct, CLI version, and LSP server version identify v0.11.0. The specification identifies the published language, while the root README and public release index identify v0.11.0 as the latest published release.
Public English release notes and the exact archive download live at ../../releases/v0.11.0.md.
Repository Qualification
The exact release-content commit must pass both incremental and clean runs of development/compiler/scripts/verify.sh. Each run includes compiler-library, CLI build, formatter, framed LSP, package, native run, native test-command, distributed-home, public-example, source-corpus, Rust formatting, and warnings-denied Clippy coverage.
Public Markdown is regenerated with node docs/build-docs.js. Generated page count, git diff --check, and a clean release-content worktree are part of the evidence.
Release-content commit 3de1afe0430994068c8ef51ed9172e6b92416c4b passed one incremental development/compiler/scripts/verify.sh run and a second run after cargo clean -p nocter removed 409 files and 559.7 MiB of candidate build artifacts. Each run covered:
- 2,462 compiler-library tests
- 296 build CLI tests
- 7 formatter CLI tests
- 28 framed LSP CLI tests
- 20 package CLI tests
- 467 native run tests
- 11 native-test CLI tests
- 227 distributed-home tests
- 2 public-example tests
- 7 source-corpus tests
The total is 3,527 tests per run. Both runs also passed cargo check, cargo fmt --check, and cargo clippy --all-targets -- -D warnings. Documentation generation produced 122 pages, and git diff --check passed.
Artifact Qualification
development/compiler/scripts/qualify-local-release.sh must create the archive twice and compare the extracted .nocter/ trees recursively. The retained archive must contain exactly one .nocter/ root with the ARM64 compiler, standard library, version and manifest metadata, license, and notice.
Without inherited NOCTER_HOME, the second fresh extraction must pass:
- 1.
--version,doctor, and top-level help - initialization of a fresh executable package
- locked and offline package checking
- the initialized package's native test
- two byte-identical locked/offline JSON package graphs
- locked/offline package run
- locked/offline explicit build to a selected output path
- direct execution of the generated ARM64 Mach-O executable
- a framed LSP initialize, initialized, shutdown, and exit lifecycle reporting v0.11.0
The installed VERSION, MANIFEST.json, LICENSE, and NOTICE must match tracked inputs byte for byte. The final evidence records archive name, size, SHA-256, release-content commit, and standard-library file count.
The qualification script created the archive twice and compared the two extracted .nocter/ trees recursively. The second archive is the retained local candidate:
- release-content commit:
3de1afe0430994068c8ef51ed9172e6b92416c4b - archive:
dist/nocter-v0.11.0-arm64-darwin.tar.gz - archive root:
.nocter/ - byte size: 3,651,844
- SHA-256:
d2e1e11cdfdf666b0d3661cf44ad91fb5ffc92bd81bbb853245268a6288eedbb - compiler: ARM64 Mach-O reporting
Nocter 0.11.0 - contents: compiler, v0.11.0 version and manifest metadata, Apache-2.0 license and notice, and all 27 standard-library files
The extracted metadata and legal files match tracked inputs byte for byte. Without NOCTER_HOME, the second extraction passed all nine matrix entries above, including one generated native test, byte-identical JSON graphs, direct execution of the selected output, and a framed LSP lifecycle whose initialization result reports server version 0.11.0.
Publication Boundary
The qualified archive is immutable. Any later compiler, standard-library, or packaging change requires complete requalification plus a new size and digest. Publication was separately authorized on 2026-08-10 and used only the archive identified above.
Publication Record
Nocter v0.11.0 was published at github.com/rvo-jp/nocter/releases/tag/v0.11.0 on 2026-08-10. Annotated tag v0.11.0 resolves to publication commit 1a218b3ed5f68a9df38c3391a28b566afe895851, which contains the English release notes, current specification, standard library, packaging inputs, and generated website.
GitHub resolves v0.11.0 as the latest release. It is neither a draft nor a prerelease and contains exactly one asset: nocter-v0.11.0-arm64-darwin.tar.gz, 3,651,844 bytes, with digest sha256:d2e1e11cdfdf666b0d3661cf44ad91fb5ffc92bd81bbb853245268a6288eedbb. This matches the qualified local archive; the asset was not rebuilt or replaced during publication.
Post-Publication Audit
The asset was downloaded from its public release URL into a new temporary directory and compared byte for byte with the qualified local archive. Its size and SHA-256 matched this record. The extracted ARM64 Mach-O compiler reported Nocter 0.11.0, found its adjacent .nocter/ home without NOCTER_HOME, and passed doctor and top-level help. Its version, manifest, license, notice, and all 27 standard-library files matched the tracked distribution inputs.
The downloaded compiler initialized a fresh executable package. That package passed locked/offline check, its generated native test, two byte-identical JSON graph runs, package run, explicit build, and direct execution of the generated Mach-O executable. A framed initialize, initialized, shutdown, and exit LSP lifecycle completed successfully and reported server version 0.11.0. Publication is complete and no release repair remains.