Repository navigation
cybernode close: the stack says cybernode is rung 7 — site, registries, train, docs, specs - #661
Conversation
the focus verb linked to /chart/?sel=soft3, a node the chart no longer has, and the chart's ROLE map still keyed soft3, so the panel printed "cybernode · undefined". the install block names the node beside the facade: cargo install cybernode.
…the proposals registry status.md said the soft3 row was the stack CLI with `soft3 node`; the node verbs are cybernode's and 0.11.0 is the facade. the cybernode proposal is executed since 2026-10-27 (its § 9), and the legend gains that status. the legacy cosmos chains run on the apparatus hosts, not "on cybernode".
the soft3 row carried facet = play, rung 7's facet, from before the cybernode carve-out. the registry's kind vocabulary (crate | product | network | ops | part) has no word for the stack itself, and kind = crate would make the checker demand soft3 as a phase1.toml sibling, which it is not (it is the manager), so kind = product stays and the facet is dropped; a note says why the row has neither layer nor facet.
the ladder line of terms.md still read soft3 at rung 7 and cybernode as cyberia's machines; the machines are apparatus. the network layer of stack-completeness names the node. AGENTS.md lists cybernode among the companion repos and the node gates among the candidate gates.
… from the sibling proposals/cybernode.md §3.9: the soft3 candidate ships the cybernode binary and node-status checks it. the train built crate/target/release/soft3, the facade's forwarding shim, and booted that. now soft3-release only proves the facade crate builds; a new gate cybernode-release builds cybernode/rs from the pinned sibling (--manifest-path), and node-status, linux-glibc-floor and the shipped artifact all use cybernode/rs/target/release/cybernode. without the sibling the gates are blocked, never green, and nothing ships. stack-chain-genesis runs the node's verbs (genesis build, genesis verify, conformance check) from cybernode/rs instead of through the facade's shim, with SOFT3_CONFORMANCE_DIR naming soft3's snapshot directory; it is blocked without the sibling. SOFT3_GENESIS_DIR and its two siblings stay as kept names: cybernode's tests read them.
…de's a job on every pull request fails if crate/src/chain, crate/src/genesis, crate/src/node or deploy/chain returns to the tree (proposals/cybernode.md C3: moved means moved) and if any page outside audit, the proposal and the director's plan still says rung 7 is soft3. the release-engine workflow loses its paths filter so the guard sees every change; the unittest job it carries runs in a second. notify-simulation keeps dispatching on soft3 merges, since the simulator reaches cybernode's kernel through the facade crate, and says where the dispatch goes once it depends on cybernode.
…rnode
scripts/chain-fleet.nu (the fleet of three root-chain nodes), docs/launch.md
(the operator guide) and audit/chain/{block-relation,proof-auth}-2026-11.md
describe the node, which is cybernode since 2026-10-27 (proposals/cybernode.md
§ 5); byte-identical copies land in cybernode by the sibling change. the
launch page stays as a pointer so [[soft3/docs/launch]] keeps resolving.
cli/README listed soft3 sync/network/node/status as the stack CLI's own; they are cybernode's verbs, forwarded by soft3 0.11 for one release (proposals/cybernode.md §3.7). crate/README installs the node beside the facade; mcp/README connects to a cybernode. conformance/chain-genesis.toml names the pipeline cybernode genesis build in cybernode/rs/src/genesis and cites the economy audit where it lives now. the open rows of the director's plan say cybernode genesis build, cybernode-check, cybernode@pussy-rc, bin/cybernode node --help and rs/src/chain/params.rs; SOFT3_GENESIS_DIR stays, a kept name; the log from line 199 is history and stays.
cyberia-apparatus
left a comment
There was a problem hiding this comment.
Request changes: the move order. No code change is needed in this PR. It should merge only after cyberia-to/cybernode#14 has landed on cybernode release/phase1.
Blocking (bounded locality)
This PR deletes scripts/chain-fleet.nu, the body of docs/launch.md, audit/chain/block-relation-2026-11.md and audit/chain/proof-auth-2026-11.md. The place they move to is cybernode#14, and that PR is open, with changes requested (the cargo install cybernode crates.io name-squat finding in deploy/deploy-cyberproxy.nu). On cybernode release/phase1 right now, docs/launch.md, scripts/chain-fleet.nu and both audits all return 404.
If this PR merged first, the operator guide, the fleet harness and the two receipts would exist on no release branch. The pointer in docs/launch.md, the README links and cli/README.md would point at nothing. "Moved" has to mean present at the destination before it is removed here. The fix is to land cybernode#14 first (after its blocking finding is fixed), then re-request review. I will merge on green.
Verdicts
- determinism: pass. The genesis gate keeps its pinned snapshot, its manifest sha256 and its blessed scalars.
SOFT3_CONFORMANCE_DIRnamessoft3/conformanceexplicitly. cybernode'schain_snap_pathreads it, sochain.snapstays the single source. - bounded locality: blocked by the order above. Apart from that it is one repository, the moved files leave only the
docs/launch.mdpointer, and the remaining mentions are dated records (director log,audit/release-2026-11-01). - adversarial: pass. The
moved-stays-movedC3 guard coverscrate/src/{chain,genesis,node}anddeploy/chain. Thestalegrep runs on every PR now that the paths filter is dropped. No new secrets or permissions. The install hint is the repository form (cargo install --git https://github.com/cyberia-to/cybernode cybernode), not the unpublished crates.io name. - correctness: pass. At
30e2de3:python3 -m unittest discover -s release -p "test_*.py"gave 70 tests OK.site/check-components.py(the components.yml command) gave 81 in registry, no drift. The stale grep is empty. The moved paths are absent. Train paths were checked against cybernoderelease/phase1:rs/Cargo.tomlhas its own[workspace]and[[bin]] name = "cybernode", sodirectory/cybernode/rs/target/release/cybernodeis the real artifact path.train_sourceschecks it out atdirectory/<name>besidesoft3.boot_statusrunscybernode node --home --bind(cli.rs 186–198), andglibc_floor_gatechecks the same binary.- The genesis verbs
genesis build --chain pussy|pussy-rc --snapshot --cache --time --out,genesis verifyandconformance check chain --genesisall exist inrs/src/cli.rs. - The candidate ships the cybernode binary and not the forwarding shim. All CI checks are green.
- compactness: pass. +232/−1235, mostly the moves. The gate change is 33/12 lines and the tests follow it.
cyberia-apparatus
left a comment
There was a problem hiding this comment.
Director re-review at 30e2de3. The head has not changed since my last review, so the acceptance I ran there still holds: release tests, site/check-components.py and the stale grep.
The one blocking finding was the move order: soft3 deleted these files before cybernode had them. That is now resolved. cyberia-to/cybernode#14 is merged into cybernode release/phase1 at f26b79cf90bfb2600ae5cb4ce540cea062f9a2cd. scripts/chain-fleet.nu, docs/launch.md, audit/chain/block-relation-2026-11.md and audit/chain/proof-auth-2026-11.md all exist there, so nothing this PR removes is lost.
Lens verdicts:
- correctness: pass.
- security / supply chain: pass. The operator guide that soft3 now points to pins every node install.
- operability: pass. Operators are pointed to cybernode's docs/launch.md, which is live on release/phase1.
- release discipline: pass. The move order is right: it landed in cybernode first, and this PR targets release/phase1.
- tests / CI: pass. drift, moved-stays-moved and test are all green.
Approve.
claim
the soft3 half of closing
proposals/cybernode.md(owner, 2026-11-02: "a closed proposal means the whole codebase adapted — code, documentation, presentation"). nine commits:site/index.htmlfocus and parts,site/chart/index.htmlROLE and thesis,site/loop/index.html); the dead?sel=soft3links go; the install hint names the node (from its repository: the crates.io namecybernodeis not published yet).proposals/README.mdcybernode rowexecuted · 2026-10-27(the status was a hand-written row; nothing reads the frontmatter);release/components.tomlsoft3 is the stack, no rung facet;specs/terms.md,roadmap/stack-completeness.md,status.md,README.md,AGENTS.md(companion repo cybernode, the gates).cybernodebinary from the sibling checkout (cybernode-release,node-status,linux-glibc-flooron it); the genesis gate runs the node's verbs fromcybernode/rs;release/test_train.pyfollows; the C3 guardmoved-stays-movedinrelease-engine.ymlplus thestalegrep.scripts/chain-fleet.nu,docs/launch.md(pointer left),audit/chain/block-relation-2026-11.md,audit/chain/proof-auth-2026-11.md→ cybernode (cybernode#14).cli/,mcp/,crate/READMEs,conformance/chain-genesis.toml,specs/releases.md,docs/chains-as-plugins.md, the plan's open rows, and six proposals that still cited moved specs.LATER by the proposal: the
soft3forwarding shim (one release),release/pussy-stand.tomlpins.task and lane
the inventory of 59 places across six repositories (soft3, cybernode#14, cyber#156, simulation#4, cyberia and apparatus direct). lane: contained — one repository, reversible, no consensus code.
acceptance run
python3 -m unittest discover -s release -p 'test_*.py'OK · components registry check: no drift ·site/check-components.pygreen · the stale grep empty.review
the director (cyberia-apparatus) per lens; it merges into
release/phase1when green. lands onmainwith #376.