wn-dev-std is a small installable Python package and the
reference example for Wavenumber standards.
wn_dev_std.cli.main owns parser construction and dispatch.
wn_dev_std.standards owns public standard data examples.
wn_dev_std.checks owns reusable conformance checks.
Extension profiles include cpp-library,
python-native-wasm, csharp-app,
javascript-web-app, python-js-app, and
zephyr-firmware. The C++ profile captures CMake, Ninja,
clang-format, clang-tidy, CTest, and ABI rules. The mixed-mode profile
builds on that for Geometer-style packages that combine Python, CMake/C++,
platform wheels, and WASM outputs. The JavaScript profiles capture no-build
browser runtime, checked JS/JSDoc, deterministic JS tests, CSS tokens,
owned Web Components, JS-to-WASM smoke, vendor isolation, browser smoke,
and simple command-verb rules. The Zephyr profile captures west-based
firmware builds, app-owned source signoff, target toolchain notes, and
embedded C/C++ complexity gates.
Wavenumber projects use Rack to make validation structure explicit. Rack names strata, lanes, concerns, and dependencies so a developer, CI system, or agent can tell whether a command is a fast edit-loop check, an integration test, or a release-facing gate. That structure avoids hiding critical checks behind one opaque script while still allowing each project to keep simple local commands.
In the local checkout, the reference Rack suite and signoff strata live at
C:\ELI\prj\wavenumber-eng\wn-dev-std\tests.
The signoff process is the release-facing layer of that model. Signoff checks are intentionally boring and repeatable: formatting, static analysis, complexity limits, documentation status, contracts, release metadata, and project-specific ratchets. They should fail when new code violates accepted rules, while baselines can make existing debt visible without blocking unrelated work.
Every project needs a signoff gate. In Rack this is normally an
L99_signoff stratum. The contents are profile-specific, but
standard signoff should include measurable checks such as complexity, file
size, function size, formatting, static analysis, docs, contracts, release
metadata, and project-local ratchets.
Rack answers which validation lane is being run and why. Signoff answers whether this change is ready to merge or release. Keeping those ideas separate lets projects grow from a small local workflow into CI without changing the vocabulary reviewers and agents use.