Programming Language

Nocter

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

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

v0.32.0 Phase 1 Review

Result: complete with no open finding. This review covers owned command configuration and the Darwin prepared launch plan. The public methods remain unpublished until the terminal operations consume every configured fact in Phase 2.

Ownership and Mutation

  • Command owns every configured path, environment name and entry, and finite input byte.
  • Fallible text validation and ownership complete before replacing prior state. Rejected input therefore leaves the command unchanged.
  • clear_env drops explicit changes and disables inheritance in the same command authority.
  • Repeated environment changes retain source order but only the last change for one name reaches the child environment. This is one operation log, not a second resolved environment authority.

Prepared-plan Authority

  • launch_plan_darwin.nct is the only source that turns Command state into post-fork addresses.
  • The plan owns Command, argv, and envp together, so every pointer remains valid through exec.
  • Untouched inherited entries use their original environment-vector addresses. Public UTF-8 environment views are not used to reconstruct process state.
  • Working-directory and finite-input projections borrow only from the prepared plan; callers cannot manufacture substitute storage.

Boundary Review

  • Configuration validates and owns source values but does not know syscall or polling policy.
  • The prepared-plan layer projects stable target inputs but does not launch, wait, or select public failures.
  • Existing child launch code now consumes the prepared environment vector and no longer chooses an alternate raw environment authority.
  • No parser, checker, backend, compatibility alias, or source-visible partial feature was added.

Evidence

  • the standard-library corpus, installed-home CLI paths, and public subprocess examples pass all 34 nocter library tests;
  • private tests cover failure-atomic mutation, copied finite input, exact last-change environment resolution, explicit empty input, stable working-directory storage, and raw inherited-entry preservation;
  • repository formatting, complete workspace testing, and documentation checks remain Phase 5 release evidence rather than being duplicated here.

Phase 2 can replace capture-only readiness with one command-I/O session without revisiting command configuration or reconstructing prepared process inputs.