Skip to content

0.4.0 — the reference BCI

Latest

Choose a tag to compare

@AxonOS-BCI AxonOS-BCI released this 08 Oct 07:40
· 1 commit to main since this release
acc908b

Added

  • The reference BCI (cargo run --locked --release --bin reference_bci).
    One chain from synthetic EEG to application intent with the consent
    boundary in the middle: axonos-hal → axonos-signal-pipeline →
    axonos-supervisor → axonos-vault for derived data and axonos-consent's
    publication gate for intents, delivered as axonos-sdk types. A signed
    withdrawal at frame 9 000 stops both channels from that frame; malformed,
    forged, replayed and re-granting consent frames are refused as the
    specification requires. The binary verifies zero post-withdrawal leakage,
    the gate and vault counts against what the application received, and the
    accounting identity, then replays the whole session and compares SHA-256
    digests of the raw input, the application's input and the event trace.
    --json prints the same run in machine-readable form; the exit code is the
    verdict.
  • reference/reference-bci-7.txt (FIELD) and
    reference/reference-bci-7-clean.txt (CLEAN), diffed byte for byte in CI.
  • 18 tests: granted, withdrawn before the first frame, withdrawn mid-session,
    every malformed frame shape, replay, hash reproducibility, the two
    transcripts, the JSON report, a 100 000-frame session, argument checking —
    and two deliberate defects (publishing without the gate, withdrawing without
    revoking the grant) that the verifier must catch.
  • Dependencies: axonos-consent v0.9.2 and axonos-sdk v0.3.5, pinned by tag
    and watched by verify_pins.py; ed25519-dalek to sign the simulated
    trusted path and sha2 for the digests, both already in the graph through
    axonos-consent.

Found

  • A withdrawal stopped half the system. Nothing in the organisation
    connected a consent withdrawal to a vault grant, so derived data would have
    kept flowing under a live grant after intents stopped. The reference BCI
    revokes the grant in the same step and keeps the unconnected version as a
    failing test.
  • One refusal, two numbers. axonos-consent documents the suppression
    codes the SDK delivers as 0x05/0x06; axonos-sdk numbers the same
    errors 0x0301/0x0302. Mapped by variant here; not reconciled.

Changed

  • rust-version is 1.85, the floor axonos-consent and axonos-sdk declare.

Fixed

  • The README's organ table listed pins three releases old (hal v0.2.0,
    vault v0.2.0, supervisor v0.1.1) and its heading still said three organs.
    CITATION.cff still said 0.3.2. All now match Cargo.toml.
  • A compiled scripts/__pycache__/verify_pins.cpython-312.pyc had been
    committed. Removed, and __pycache__/ is ignored.
  • SPDX licence and copyright headers on every source file.

No timing is measured by anything in this release. The 972 µs both binaries
print is the response time axonos-hal admits configurations against.