nx_spore_up_network_test.nx
buildroot/runtime/nx_spore_up_network_test.nx
about
nx_spore_up_network_test.nx -- full ecosystem evolution flow on
SYNTHETIC PEER.
Extends the v1 spore-up demo (nx_spore_up_test.nx) to ADD the
NETWORK phase: spore declares a manifest of expected substrate
chunks; a mock peer "delivers" those chunks; manifest verifies
each; completion gates SA-arc assembly; install_hash journaled.
This is the second of the spore-up demonstration pair:
v1 -- nx_spore_up_test.nx -- SA arc on real measurements
v2 -- THIS file -- v1 + network ingest via manifest
Lifecycle modeled (per NISHI_ECOSYSTEM_EVOLUTION_ROADMAP.md):
Phase 1 (Spore) -- synthetic: spore-author declared 3 expected hashes
Phase 2 (Network) -- mock peer delivers blobs; manifest verifies +
ingests each; defenses (NOT_IN_MANIFEST +
HASH_MISMATCH) exercised
Phase 3 (Substrate)-- SA arc assembly on real measurements
Phase 4 (Seed) -- journal append of install_hash + verify_chain
Phase 5 (Reproduce)-- (queued; this demo does not yet emit a new spore)
What this PROVES:
- Spore-declared expected manifest is enforced (peer cannot push
arbitrary content)
- Hash-verification on every received blob (corrupted transit
refused)
- Completion gate halts assembly until ALL expected blobs received
- SA arc still composes on top of the verified-substrate phase
- Full chain end-to-end: probe -> calibrate -> manifest-complete
-> selection -> plan -> hash -> journaled attestation
What this does NOT yet prove (queued):
- REAL network transport (HTTPS / serial / USB) -- mock peer here
is in-memory
- Spore signing (Ed25519) -- composes at EM-9
- Stage0 hex0 bootstrap -- composes at SA-9
- AVR codegen / Arduino real hardware -- EM-10 / EM-12
dependencies 11 imports · 0 importers
diagram shows first 10 each side; +1 more imports, +0 more importers in the complete lists below.
imports: nx_syscalls.nxnx_probe.nxnx_calibrate.nxnx_select.nxnx_select_joint.nxnx_install_plan.nxnx_install_hash.nxnx_install_pipeline.nxnx_blob_store.nxnx_journal_log.nxnx_substrate_manifest.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| 51 | const SCHEMA_INSTALL_HASH: i64 = 1001 |
functions
| 56 | func _compute_hash(bytes: *u8, len: i64) -> *NxBlobHash |
| 64 | func _fill(buf: *u8, len: i64, seed: i64) -> i64 called by 1: main |
| 73 | func _mk_manifest_variant(variant_id: i64, cost: i64, in_lay: i64, out_lay: i64) -> *NxManifest |
| 84 | func main() -> i64 |