Programming Language

Nocter

A self-contained systems language built around simplicity, encapsulation, and foolproof design.

/development/reviews/v0.32.0-phase-4.md

v0.32.0 Phase 4 Tooling and Practical Integration Review

Result: complete with no open finding. One authored public package now demonstrates the entire configured synchronous-command use case. Compiler, editor, formatter, native execution, and installed-home checks consume that package instead of maintaining feature-specific Nocter source copies.

Shared Public Contract

examples/subprocess-configured owns the user-facing source, executable helper, working-directory marker, and exact output. Its command:

  • selects ./workspace before resolving ./helper.sh;
  • clears inherited environment, replaces MODE twice, and removes a temporary entry;
  • copies finite UTF-8 bytes into child stdin;
  • captures and validates the helper's status, stdout, and stderr;
  • prints the two decoded streams through public std/io and std/string APIs.

nocter-test-support::PUBLIC_PACKAGE_EXAMPLES owns the corresponding host-side fixture and process contract once. Command tests materialize it and execute the native image. Native-session tests discover every public package from the same catalog. The installed-home CLI test builds and runs the package through a copied standard library. The website generator publishes the authored .nct and fixture sources from examples/.

Editor and Formatter Evidence

The language-server test opens configured.nct as an ordinary package source and requires complete analysis without diagnostics. It verifies the public current_dir hover, declaration navigation to std/process/index.nct, implementation navigation to configuration.nct, and receiver-aware completion containing all eight Command methods under incomplete syntax. The completion assertion depends only on an incomplete semantic snapshot, not a particular failure-phase ordinal.

The formatter's repository example test discovers every .nct source under examples/, so the new package is checked for canonical spelling and idempotence without another path list.

Review

No source contract is duplicated between compiler crates. The public example uses only exported standard-library declarations. Tooling consumes normal package discovery and semantic products; it has no configured-subprocess special case. The specification now labels v0.32.0 as an implemented candidate while the release index and root README continue to identify v0.31.0 as the published release. Phase 5 can qualify and review the full candidate without changing the feature surface.