Skip to content

Latest commit

 

History

History
129 lines (93 loc) · 4.7 KB

EXPLAINME.adoc

File metadata and controls

129 lines (93 loc) · 4.7 KB

Kea: Unified Infrastructure Orchestration Toolkit — Show Me The Receipts

The README makes claims. This file backs them up with code paths, caveats, and honest gaps.

Claim 1: Closed-Loop Audit-and-Remediation Pipeline

The system provides a closed-loop audit-and-remediation pipeline: sensors probe infrastructure, signals are routed via zero-copy protocols, and the orchestrator executes playbooks to fix or alert.

— README

How it works: Kea-Mandible’s kea-beak crate uses walkdir + Tokio async streams to traverse filesystems at 10,000+ files/second, hashing each file with BLAKE3 (fast) and SHA-256 (interop), then emitting structured Finding records. These are serialised via Cap’n Proto (Kea-Call) with zero-copy on the wire. Kea-Bivouac receives triggers and dispatches TOML-defined playbooks through its PlaybookExecutor. The entry point is bivouac/src/main.rs → Commands::Trigger → PlaybookExecutor::run(). Kea-Wit holds WIT IDL files that formally specify the component model interfaces so that Mandible and Bivouac can evolve independently.

Honest caveat: The end-to-end wire path (Mandible → Call → Bivouac) is not yet connected in a single integration test. Each subsystem has its own tests; the closed loop is demonstrated through justfile recipes rather than an automated CI pipeline. The ABI (Idris2) and FFI (Zig) layers are planned, not present.

Claim 2: Kea-Beak Processes 10,000+ Files Per Second

Kea-Beak (filesystem/network auditor at 10k files/sec)

— README

How it works: mandible/crates/kea-beak/src/lib.rs drives parallel async auditing. walkdir::WalkDir feeds directory entries into a futures::stream::StreamExt concurrent buffer, and each entry is processed by a Tokio task that calls blake3::Hasher (streaming, incremental) and sha2::Sha256. The #[forbid(unsafe_code)] attribute is present at crate root — the throughput comes from lock-free concurrency, not raw unsafe access. Slop-Gate sits downstream and filters findings by heuristic rules before they reach Bivouac.

Honest caveat: The 10k/sec figure is an architectural target, not a published benchmark. No benchmark suite currently lives in the repo; the fuzz/ directory contains ClusterFuzzLite targets but not throughput tests.

Dogfooded Across The Account

Repo How Kea is used Status

game-server-admin

Kea-Mandible planned as sensor backend for server health scanning

Planned

BoJ-server

Kea sensors as MCP cartridge data sources (Phase 3 roadmap)

Planned

kea itself

just panic runs panic-attacker pre-commit scan; Hypatia CI validates workflows

Active

No downstream consumer yet has Kea wired in at runtime — the account dependency is forward-looking.

File Map

Path What’s There

bivouac/src/main.rs

CLI entry point: clap argument parsing, subcommand dispatch (Execute, Trigger, Validate, Init)

bivouac/src/lib.rs

PlaybookExecutor, Config loader; the orchestration logic lives here

bivouac/src/playbook/

Playbook TOML deserialisation and action execution types

bivouac/playbooks/

Example TOML playbook definitions (integrity-violation, failover, etc.)

bivouac/fuzz/

ClusterFuzzLite fuzz targets for playbook parsing

mandible/crates/kea-beak/src/lib.rs

Core async filesystem auditor: WalkDir + Tokio + BLAKE3 + SHA-256, AuditError type

mandible/crates/kea-mandible/

CLI wrapper around kea-beak; exposes pry subcommand

mandible/crates/wp-praxis/

WordPress-specific auditor: core file integrity, plugin inventory, multisite

mandible/crates/slop-gate/

Bloat/noise filter: heuristic rules to suppress low-signal findings

call/

Cap’n Proto schema files + generated Rust bindings for zero-copy inter-component messaging

wit/

WebAssembly Interface Types (WIT) definitions; validates component model contracts

tests/

Top-level integration tests (per-component; no full end-to-end pipeline test yet)

Justfile

Top-level build recipes: build, test, check, mandible-pry, bivouac-playbook, panic

TOPOLOGY.md

Architecture map with per-component completion dashboard and MVP roadmap

.github/workflows/

17 RSR-standard CI workflows (CodeQL, Hypatia, Scorecard, TruffleHog, etc.)

LICENSES/

MPL-2.0.txt (primary) + MPL-2.0.txt (tooling compat fallback; see NOTICE)

.machine_readable/6a2/

A2ML machine-readable state, ecosystem, and meta artefacts

Questions?

Open an issue or reach out to Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>.