Preserve nox's no_std dependency boundary

Stage: revised PLAN v2, awaiting fresh different-vendor review. Parent: 0b1407a4b855e4961ede07e1b7ea199cb8018c30. Lineage and measured failures are in research.md; exact feature/ring analysis is in feature-audit.md. review-v1.md disposes the first review. No production change before fresh approval.

Exact change and durable guard

In rs/Cargo.toml only these two values change:

-std = []
+std = ["hemera/std"]
@@
-hemera = { package = "cyber-hemera", version = "0.3", path = "../../hemera/rs" }
+hemera = { package = "cyber-hemera", version = "0.3", path = "../../hemera/rs", default-features = false }

Add a project-specific no_std dependency gate section to CLAUDE.md, naming this executable every-commit gate, requiring an installed thumb target and the repository's normal committed sibling layout:

cargo build -p cyber-nox --no-default-features --target thumbv7em-none-eabi --locked

Run from the repository root. CI remains unchanged; the named repository gate is durable and code-generates the real library. Local evidence additionally uses --offline and an isolated checksum-verified source cache. Do not install a target silently when it is absent; record a missing prerequisite as a red gate. No new script or runtime dependency is necessary.

With nox defaults disabled, the nox edge no longer enables Hemera/std. Explicit nox/std forwards it; parallel/brakedown/wgpu/honeycrisp already include nox/std. Other dependency edges can still independently enable Hemera/std. The two std-only Hemera APIs and every architecture cfg site have been audited; source selections for arithmetic are independent of std. All paths, versions, optionality, type identities, Rust source, locks, CLI manifest, algorithms and canonical specs stay byte-identical. Only the manifest and named gate declaration are production scope; task/audit evidence is separate. No loose audit file is named Cargo.toml.

Steps → verification

  1. Freeze parent, sibling exports, registry checksums, toolchain and tag → verify complete Git body/mode/link inventories. Retain all failed harness attempts. Measure each introduced command at the parent before changing production, including workspace debug/release, owning std/parallel/brakedown, docs, pinned nightly doctests, format, Clippy, reduction benchmark, CLI, H264 and package variants. Existing results remain attributed to their actual revision/command.
  2. Apply the exact manifest and gate declaration after approval → verify only those intended bytes differ. Candidate exports preserve all other frozen input bytes. Parent/candidate/package/nightly/compiler JSON builds use distinct actual compilation roots. Pin toolchain-bin PATH as well as RUSTC/RUSTDOC, avoiding mixed Homebrew/rustup Clippy drivers. Two jobs; incremental disabled.
  3. Build actual no_std library → the named thumb build, host no-default-features check, and normalized-package thumb build must pass. The parent thumb failure is specifically Hemera extern crate std. Inspect default feature metadata and explicit std inverse tree: default must exclude Hemera/std; std must include it. Do not suppress a dependency, target or real kernel to obtain green.
  4. Preserve behavior → repeat exact parent workspace debug/release and owning std/parallel/brakedown tests, CLI build/test, wgpu check, honeycrisp check, and the four actual Kadek H264 literal/error/resource tests in debug/release. Honeycrisp currently resolves acpu but fails on its absent ntt_forward and multilinear_eval functions; preserve that inherited result, not an obsolete cache-unavailable claim. These controls do not represent the whole Kadek suite.
  5. Run the named reduction benchmark in parent/candidate under the same compiler, flags, two jobs, no incremental, target architecture and Criterion settings: cargo bench -p cyber-nox --bench reduction --locked --offline -- --warm-up-time 1 --measurement-time 2 --sample-size 20 --noplot. Preserve all nine estimates/samples, compare per-case confidence intervals and relative point estimates, record environment/concurrent-load limits. A measured regression or indeterminate noisy result is an explicit red/unverified gate, not waived because algorithms are unchanged. Investigate a >5% median slowdown or disjoint slower confidence interval with one paired repeat before attribution; do not promise a speedup or alter Rust to tune this manifest fix.
  6. Check distribution without releasing → cargo package -p cyber-nox --no-verify --locked --offline --allow-dirty, inspect the normalized manifest and generated package lock. External paths are removed by Cargo, not production edits. Package Rust must equal owning source. Test the extracted library on host and build it for thumb. Repeat the same H264 literals using registry NeBu 0.1.1 matching the package in a separate nonmember harness/target. Measure its parent first: any already-present literal/overflow error belongs to that registry dependency epoch, not this feature patch. Do not normalize production NeBu to repair it.
  7. Repeat format, workspace/all-target Clippy -D warnings, owning docs with RUSTDOCFLAGS=-D warnings, and actual nightly-2025-11-26 doctests. Compare exact first errors and error sets with parent. Preserve unrelated format, CLI lint, docs, optional-backend and package-epoch reds; no unrelated source edits.
  8. Owning API → compare current parent/candidate default surface through separately emitted, hashed JSON from separate actual rustdoc targets; expected surface floor is patch. Attempt the exact-tag v0.2.0 locked baseline; its committed lock presently requires an update (record 64), so this required gate is unmet. An alternate generated-lock tag comparison, if retained, is diagnostic only and never substitutes for that red. Automatic runs 60/61 returned pass but reused a compiler target, so are not accepted as isolated proof. No 26-crate API rerun.
  9. Close the ring honestly → keep each named reverse-consumer feature audit, isolated Trident prerequisite, all unexecuted product/build/test/spec/Kelvin obligations explicit. No sibling normalization, product bypass, fleet effects or release action. Freeze final source, exact commands/raw streams, benchmark samples, known reds and feature/API limits for fresh CODE review and portable Nu replay. Root owns explicit staging/ordinary merge.

Targets stay below 20 GiB, staging below 30 GiB. Reuse source-identical parent results when appropriate, without claiming a different command or environment was run. Registry archives and available toolchains are fixed; no installation is part of this plan. Nu verifies the portable audit; historical Ruby capture scripts remain evidence and do not become repository tooling dependencies.

Five likely failures

  1. Lost inherited Hemera/std affects APIs or backend performance → enumerate its three std API/linkage guards and fourteen architecture guards; audit every named consumer's feature inheritance; execute paired reduction and std feature checks.
  2. no_std is only a host illusion → real thumb code generation in sibling and normalized-package epochs plus the named durable repository gate.
  3. Delivery accidentally changes identity or hides older NeBu behavior → keep all production paths and pins, compare package metadata, measure registry H264 separately, preserve any pre-existing overflow/literal errors.
  4. Environment/cache drift disguises a red → checksum-pinned inputs, source before/after proof, toolchain-bin PATH, separate parent/candidate/rustdoc roots; all new gates have exact parent baselines, including harness failures.
  5. Local success becomes a false delivery/phase claim → ring 1 and decision, product/Kelvin and exact-tag reds explicit. Kadek still resolves unchanged registry nox 0.2.0. Owner-only publication/version delivery and separate Kadek alloc/math/public selector work remain open.

Acceptance and remaining obligations

Accept the scoped source repair only with real no_std passes, no unexplained new failure, required paired evidence and fresh CODE approval. It is not a clean ring-1 candidate. Existing owner authorization covers ordinary implementation/review/merge; decision and any required wip: label record the retained reds rather than creating another permission request. No version, tag, registry publication or release is performed. Future release floor includes the graph and inherited dependency-feature contract, beyond cargo-semver-checks' default-surface result.

Homonyms

plan
plan the schedule: standing orders and deferred intents. the seed exists — the mining standing order in cy/specs/body|body is the first plan entry; it generalizes into the robot acting at 3am so you don't have to. cyb/parts/time|time reads the plan forward as the future half of its screen. part of…
warriors/erga/plan
erga — ERGO (Autolykos v2) miner for Apple Silicon Zero-copy Autolykos v2 miner on Rust using the honeycrisp hardware driver stack. ERGO uses Autolykos v2: a memory-hard k-sum PoW where each nonce attempt requires 32 random reads from a 2+ GB precomputed table R, summed, and Blake2b256-hashed…
cy/specs/plan
neural/rune/PLAN
rune implementation plan rune = open-computation language for the cyber soft3 stack. Full spec: `~/cyber/cyber/root/rune.md`. architecture Two registers, one AST, one Nox target: `rust` — classic, Rust-familiar surface `rune` — pure, Hoon-style sigil surface Three proof tiers: pure: unconditional…
soft3/mir/docs/plan
Graph World — Rendering Implementation Plan Protocol spec: `cybergraph/reference/render.md` (R-1.0) Implementation spec: `cyb/render/specs/render.md` (R-1.0-cyb) Architectural decisions Barnes-Hut vs BVH The deeper question is not "which algorithm for rendering cull" but "does this manifold need…
neural/inf/rs/plan
plan
soft3/radio/audit/2026-10-11-bao-bounded-traversal/plan
Checked traversal PLAN evidence Research and proposed tests only, on actual Radio parent `a96d86e28d384cdf656aadc4282c78c0c170c102` (PR38). Production is unchanged. The [PLAN](/soft3/radio/.claude/tasks/bao-bounded-traversal/plan) specifies one admitted byte range, one emitted geometric item per…
soft3/radio/.claude/tasks/bao-bounded-reducer/plan
Bounded BAO group reducer — proposed PLAN Serves: owner's Kadek phase-1 closure · Radio/soft3 · foundation row 4, bounded authenticated-range prerequisite. Source research is pinned in research-inputs.json at Radio `a11d342594949d4ea542b26366f71d56ef21662d` and Hemera…
soft3/radio/.claude/tasks/bao-bounded-traversal/plan
Bounded BAO range traversal Stage: draft; independent PLAN review pending, no production changed. Serves the owner's Kadek phase-1 closure, Radio/soft3 and foundation row 4 (bounded authenticated source ranges). Discovered from the [measured traversal…
soft3/radio/.claude/tasks/audit-cargo-packaging/plan
Lossless archival Cargo manifests Status: draft; fresh different-vendor PLAN approval required before edits to existing artifacts. Serves Kadek foundation row 4 through Radio; discovered from PR40's committed Git consumer. Parent: `ce0fb312faa8770e80efe9afa864106ae6b51552`. Result Rename exactly…
cyb/honeycrisp/.claude/tasks/unimem-block-creation/plan
Checked Block creation — plan PLAN approved with binding conditions in `/tmp/unimem-block-creation-plan-review.txt`. Implementation follows those conditions; fresh CODE review remains required. Base: `9593c7218e14e2b5b816d9008b45ab60b9580cf3`, branch `fix/unimem-block-creation`. Serves kadek…
warriors/erga/.claude/tasks/blake-batch-owner/plan
Close the Blake benchmark batch owner Stage draft; awaits root and fresh different-vendor PLAN approval. No production changes. Base Erga848e17e2522db2f6225ad72d9b1797f8735d26d0; Honeycrisp9cbd4807, Strata494df7, exact full pins/source evidence in research.md. Serves Kadek native Image ownership…
cyb/honeycrisp/.claude/tasks/unimem-block-access/plan
Raw Block access — PLAN v3 candidate Serves Kadek foundation row6/native ownership prerequisite; upstream unimem CPU access and aruminium import contracts. Base `7b148906263da5ea8aabc5ddb0e2e44ff2288ecc`; [research](/cyb/honeycrisp/.claude/tasks/unimem-block-access/research) records parent and…
soft3/radio/.claude/tasks/bao-hemera-pin/plan
Pin the shared Hemera dependency Serves: owner's Kadek phase-1 closure · Radio/soft3 · consumable dependency prerequisite for bounded BAO verification, foundation row 4. Stage: draft. Source parent Radio a11d342594949d4ea542b26366f71d56ef21662d; Hemera source…
soft3/radio/.claude/tasks/bao-bounded-proof/plan
Bounded complete-buffer BAO proof verification Proposed PLAN; no production implementation or approval. Serves Kadek foundation row 4 through Radio, declared part of soft3; the future Kadek adapter reaches Cyb. Radio implementation parent is b933829cbe273d2f31fe75ca83125f3ddd8917a2 (PR39); research…
warriors/erga/.claude/tasks/mine-owner/plan
Mine owner plan Stage draft; implementation waits for fresh different-vendor PLAN approval. Serves Kadek foundation row6; discovered-from Honeycrisp PR14 and Erga PR2. Base `8dcb33888868d74ddfda3eeeb9bc90e58677b394`, Honeycrisp `9cbd4807`, Strata `494df7a`; full pins/evidence in research. No…
warriors/erga/.claude/tasks/rtable-owner/plan
RTable owner plan Stage draft; implementation waits for fresh different-vendor PLAN approval. Serves Kadek foundation row 6; discovered-from Honeycrisp PR14 and Erga PR1. Base `14b40d667b7fa927f62f46423cd8096f01cf704f`, Honeycrisp `9cbd4807`, Strata `494df7a`; full revisions/evidence are in…
soft3/radio/audit/2026-10-12-bao-proof-research/prerequisite/plan
Bounded BAO range traversal Stage: draft; independent PLAN review pending, no production changed. Serves the owner's Kadek phase-1 closure, Radio/soft3 and foundation row 4 (bounded authenticated source ranges). Discovered from the [measured traversal…
soft3/radio/audit/2026-10-12-bao-proof-research/task/plan
Bounded complete-buffer BAO proof verification Proposed PLAN; no production implementation or approval. Serves Kadek foundation row 4 through Radio, declared part of soft3; the future Kadek adapter reaches Cyb. Radio implementation parent is b933829cbe273d2f31fe75ca83125f3ddd8917a2 (PR39); research…
soft3/radio/.claude/tasks/kadek-export-pairs/plan
Correct actual BAO exporter pair width Status: source-only plan awaiting fresh different-vendor approval; no code/tests edited or builds run. Base origin/main `764d732ac38fb9116c4cf525a6d1bb463d409a06`. Owned branch/worktree: `fix/kadek-export-pairs` /…
soft3/radio/.claude/tasks/bao-root-policy/plan
Canonical BAO ROOT finalization Status: draft v3, awaiting correction PLAN review; no implementation. Serves: Kadek phase-1 foundation row 4 and runtime proof-before-admission clause; radio's Hemera BAO dependency, pinned tree ROOT finalization contract. Base: radio…
soft3/radio/.claude/tasks/kadek-slice-traversal/plan
Correct sync slice traversal Status: implementation source frozen for fresh code review. Scoped tests pass; unrelated Clippy/full-workspace/tooling failures remain visible in research. Base: radio `db1d62e2cd1e4b2f309fa19bcc158bd29b44753d`, freshly fetched origin/main. Owned worktree:…
soft3/radio/.claude/tasks/kadek-memstore-pairs/plan
Canonical in-memory BAO parent pairs Status: proposed PLAN v2; fresh different-vendor approval required before source edits. Serves: Kadek phase-1 row4, existing radio verified-range import/storage dependency. Base radio `0d11468503c052aa5dcefb0dabc4602bd8efdc60`, exact Hemera…
cyb/honeycrisp/.claude/tasks/nebu-package-identity/plan
nebu package identity — plan One manifest identity repair restores origin-source Cargo resolution for the unimem gate prerequisite. Root owns implementation/review/commit/PR; this unit does not overlap the Block constructor's source/spec files. 1. Record `rustc -Vv`, `cargo -V`, host and target:…
soft3/radio/.claude/tasks/bao-empty-status/plan
Fs synthetic empty status — PLAN amendment Stage: active. Fresh Grok4.7 PLAN APPROVE preceded production edits; the exact reviewed draft and raw verdict remain frozen in the audit. Fresh CODE APPROVE and root disposition are retained in audit/2026-10-11-empty-status/. Serves Kadek phase 1…

Graph