cyb node connection
The host executable is cyber; its local HTTP adapter comes from soft3.
Cyb retains a named robot, explicit neuron attachments, private custody,
durable progs and a multi-neuron GraphSession in its own home.
Architecture defines these roles.
The node process and the client's graph have no implicit signing subject.
specs/cli owns the product command surface; specs/worker owns the target computation/proving backend. The current authenticated local profile is signed native. Endpoint acceptance and mirrored history are local observations; network finality requires specs/node-modes and its supported proof profile.
run and bind an endpoint
With sibling source checkouts:
The product exposes status --json, offline cyb and live cyb --live.
A fresh unpromoted home uses the explicit unsigned development profile.
With the node stopped, activate the signed profile for that exact home:
cyber --home /absolute/node/home auth enable
An existing legacy log requires storage import-legacy before activation,
or the explicit auth enable --import-legacy combination. The shared soft3
developer command remains available with the same owner. Import and activation
retain original source bytes; authentication activation retires incompatible
genesis-reader paths. The database writer lock must be available; an old running
writer must be stopped before retirement. Reopen the same home with the
product's node command after successful activation.
Cyb's commander configures an endpoint and separately pins its identity:
net add local http://127.0.0.1:7780
net probe local
net pin local NETWORK_HEX
For an existing name, use net set local URL. Probe output supplies the
advertised network and profile for inspection; the user/configuration pins the
expected 32-byte network explicitly. The profile must match
neuron/signed-native/1. Names and URLs without pins remain read-only.
Action routing uses its retained subject/network/profile, independently of
endpoint list ordering. A changed URL must serve the same pinned network.
A fresh genesis produces an independent network even when its display label
is also spacepussy-test.
A current controlled neuron attachment for that network is required to submit. Watch-only attachments, a successful probe and UI selection alone grant no signing permission. Switching selection preserves pending operations' original subject, binding revision and destination.
launcher contract v2
cyber --home PATH cyb emits cyber/connection/v2 with
observation: configuration-only, absolute home, network_label, RPC,
mode and supported endpoint catalogue. network, profile, submit,
native_capabilities and capabilities.authenticated_writes are null.
It reads configuration without opening the database or contacting the node.
cyber --home PATH cyb --live observes /capabilities and validates its
schema, network ID, profile, action kinds, limits and idempotency/receipt
metadata. It emits observation: endpoint-capabilities, retains the exact
native_capabilities object and exposes its network/profile. Only a signed
profile supplies submit: /v3/action and adds net pin to
cyb_commands. A compatible unsigned observation keeps submit null.
The endpoints catalogue always contains capabilities/action/receipt/history
routes; this catalogue states adapter support independently of activation.
Both descriptors report receipt_meaning: endpoint-acceptance and
consensus_finality: false. Live requests have a five-second timeout,
64-KiB maximum and zero redirects; invalid/unavailable observations fail
nonzero. They grant no custody or current action authority.
V2 supersedes the old label-valued network, singular cyb_command and
unsigned submit fields of v1. Consumers select the schema explicitly and
preserve expected network/profile pins before sending. A net set command
only changes the configured URL.
A launcher starts node as a foreground child, checks /health and
validates /status. A descriptor reports configuration, health reports
liveness, and readiness/finality have their own verification requirements.
Startup errors exit nonzero on stderr. The product and offline import/auth hold the same home and authentication-upgrade
locks; BBG also fences the database writer. Bounded graceful drain remains a target
lifecycle requirement.
HTTP profiles
| route | current behavior / consumer |
|---|---|
| GET /health | Text liveness, unavailable after ambiguous storage failure |
| GET /status | Cybermark local state and height for network views / diagnostics |
| GET /capabilities | Live schema, network, profile, kinds and bounds |
| POST /v3/action | Exact SignedAction; native/signal preserves the complete Signal; native/pay delegates sequence assignment to the endpoint |
| GET /v3/receipt/SUBJECT/REQUEST | Correlated prepared/accepted receipt for the retained action |
| GET /v3/history?after=POSITION&limit=N | Bounded complete native observations for client mirroring |
| GET /root, /stats, /blocks, /block/H | Local state and explorer views |
| GET /log, /v2/history | Explicit legacy/versioned diagnostic export formats |
| POST /v1/link, /v1/pay, /v1/frame, /v2/frame | Legacy unsigned ingress; rejected after authenticated-profile activation |
All routes reuse the same soft3 adapter and Cybergraph native coordinator. BBG atomically retains accepted operations and receipts. Client GraphSession mirroring preserves complete Signals and provenance, advances a network-scoped cursor only after a complete projection and keeps local credits as observations. Legacy byte offsets cannot seed the new operation cursor.
Signed retries bind exact subject, network, request, context and payload. Lost replies retain unknown outcomes for receipt lookup; a new authorized attempt uses the same bytes only under the profile's idempotency contract. Revocation blocks dispatch while preserving read-only reconciliation. A signed HTTP receipt establishes this endpoint's acceptance, with consensus and economic finality remaining separate states.
verification
Current source-level evidence for signed submission, wrong-network rejection,
multiple subjects/networks, legacy retirement, exact retries and actual client
processes is indexed in
convergence implementation.
The product's tests/node.rs covers its launcher/config baseline. Release
claims require the exact artifact and the applicable lifecycle, storage and
network gates, independently of library-level conformance.
discover all concepts