Skip to content

Latest commit

 

History

History
87 lines (69 loc) · 4.51 KB

AUDIT_REPORT.md

File metadata and controls

87 lines (69 loc) · 4.51 KB

Specification synchronization audit

Audit date: 2026-08-28

Published baseline: P-374/S-205/STD-150

Prior publication: P-367/S-203 with a partial STD-024 summary

Material inspected

The audit read the current project language and syntax decision records, the consolidated manual, reference server, standard-library design/delivery record, native-FFI discussion, package and conformance records, and the complete document inventory of both active compiler workspaces.

The primary compiler was traced at committed identity 526bb7c94dbc8b12c06da0b22cfb4cf0e2ea8eed, including its README, current native-backend status, conformance matrix, crate layout, recent history, and dirty working-tree inventory. The isolated standard-library implementation was traced at 852ede574091daf234554ae4f52a897f60bdaff8, including its recent history and the full package delivery matrix. Implementation code and milestone claims were used as evidence only.

Normative changes synchronized

  • P-368 fixes the efficient copy-on-write collection representation while preserving structural value independence.
  • P-369/S-204 remove MapEntry and introduce exact two-binding map iteration.
  • P-370 withdraws insertion-order guarantees for Map and Set iteration.
  • P-371/S-205 makes structural Debug the default for eligible ordinary aggregates, removes Debug(deny), and adds exact redact/skip field policy.
  • P-372 adds the four closed compile-time-only primitive numeric family bounds.
  • P-373 changes logging to eagerly rendered named log::Field values.
  • P-374 records the owner-approved and implemented native-only compiled model, superseding the earlier permanent bytecode-VM architecture without adding syntax.
  • The complete decided standard-library history through STD-150 is now present, including the current filesystem, math, testing, randomness, logging, process, time, crypto, encoding, strings, and Unicode contracts.

Contradictions corrected

Previous published claim Current rule
ProScript is interpreted and retains a permanent VM fallback ProScript is statically compiled; authenticated target-native execution is the sole v1 production architecture under P-374
Collection iteration uses deterministic snapshot order Array/range order remains specified; Map/Set order is unspecified under P-370
Maps iterate as MapEntry<K,V> MapEntry does not exist; maps use for key, value in map
Debug could be denied at the type level Eligible ordinary aggregates derive Debug by default; exact field redaction/omission and a manual declaring-package provider are the controls
Only the fmt/result/io/fs nucleus had a decided library contract The normative STD record now extends through STD-150
Cached bytecode participates in packaging/compatibility Source/API semantics are the contract; native objects, images, IR, and caches are disposable implementation artifacts

Material deliberately not promoted

  • the current non-moving collector, scheduler shard layout, native ABI number, object/image schema, cache layout, benchmark thresholds, and backend crate organization;
  • uncommitted Linux-loader, optimizer, benchmark, and product-authority work;
  • implementation-only native manifest tables not yet promoted by a numbered ecosystem decision;
  • milestone sequencing, test counts, and handover notes as normative language behavior; and
  • exploratory, historical, superseded, or deferred P-/S-/STD entries.

Those details may provide conformance evidence but can change while preserving the observable contracts.

Remaining specification boundaries

  • external package acquisition, registries, transitive source selection, and serialized dependency interfaces;
  • stable public third-party native artifact distribution across targets;
  • networking and HTTP standard packages;
  • the explicit standard-library omissions listed by the decided package sections, including Unicode collation and reusable timers; and
  • broader native product support beyond admitted targets.

Unsupported behavior must fail closed. None of these boundaries licenses an implementation to invent source semantics or public APIs.

Validation policy

The repository integrity gate checks local links, complete decision inventories, baseline markers, known stale VM/MapEntry claims, and Markdown fences. Compiler and standard-library test results are summarized in conformance/IMPLEMENTATION_STATUS.md; the synchronization itself does not claim to have rerun their large dirty-tree suites.