Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
172 changes: 0 additions & 172 deletions README.adoc

This file was deleted.

147 changes: 147 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
<!--
SPDX-License-Identifier: CC-BY-SA-4.0
SPDX-FileCopyrightText: 2025-2026 Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
-->

[![License: PMPL-1.0](https://img.shields.io/badge/License-MPL--2.0-blue.svg)](https://github.com/hyperpolymath/palimpsest-license) ![RSR
2026](https://img.shields.io/badge/RSR-2026-brightgreen.svg) Jonathan
D.A. Jewell \<[j.d.a.jewell@open.ac](j.d.a.jewell@open.ac).uk\> v1.0.0,
March 2026 :description: Monorepo for the Kea ecosystem — intelligent
infrastructure orchestration, investigation, signalling, and WebAssembly
interface tooling. :toc: auto :toclevels: 3 :icons: font
:source-highlighter: rouge

# Overview

Kea is the unified monorepo for four core infrastructure tools, each
named after a behavioural trait of the Kea parrot: strategic roosting,
vocal coordination, investigative dexterity, and adaptive intelligence.

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.

# Components

| Directory | Component | Purpose |
|----|----|----|
| `bivouac/` | **Kea-Bivouac** — The Command Authority | Orchestration and deployment controller. Manages the separation of administration from runtime, executes playbooks, enforces mTLS zero-trust communication. |
| `call/` | **Kea-Call** — The Contact-Signalling Protocol | Cap’n Proto and MCP definitions for ecosystem communication. Zero-copy binary serialisation between sensors (Mandible) and logic (Wit) via the Request-Signal-Action loop. |
| `mandible/` | **Kea-Mandible** — The Investigative Mandible | High-dexterity sensor suite. Contains four crates: Kea-Beak (filesystem/network auditor at 10k files/sec), Kea-Mandible CLI, WP-Praxis (WordPress core auditor), and Slop-Gate (bloat detection filter). |
| `wit/` | **Kea-Wit** — WebAssembly Interface Types | WIT interface definitions and tooling for WebAssembly Component Model development, validation, and code generation. |

# Architecture

Kea-Call
Kea-Mandible -----(Cap'n Proto)-----> Kea-Wit
(Sensors) (Logic)
| |
| Kea-Bivouac |
+----------> (Orchestrator) <---------+

See <a href="TOPOLOGY.md" class="md">TOPOLOGY</a> for a detailed
architecture map, completion dashboard, and MVP roadmap.

# Quick Start

```bash
# Build all Rust components
just build

# Run all tests
just test

# Full check suite (format, lint, test)
just check

# Deep audit a target path (via Mandible)
just mandible-pry /var/www/html

# WordPress audit (via Mandible)
just mandible-wordpress /var/www/html

# Execute a failover playbook (via Bivouac)
just bivouac-playbook integrity-violation

# Security scan (pre-commit)
just panic
```

# Repository Structure

kea/
├── bivouac/ # Kea-Bivouac (orchestration and deployment)
│ ├── src/ # Rust application source
│ ├── tests/ # Integration tests
│ ├── playbooks/ # TOML playbook definitions
│ └── fuzz/ # ClusterFuzzLite fuzz targets
├── call/ # Kea-Call (signalling protocol definitions)
├── mandible/ # Kea-Mandible (investigative sensors)
│ └── crates/ # Workspace: kea-beak, kea-mandible, wp-praxis, slop-gate
├── wit/ # Kea-Wit (WebAssembly interface types)
├── .github/workflows/ # 17 RSR-standard CI/CD workflows
├── .machine_readable/6a2/ # Machine-readable state (A2ML format)
├── .well-known/ # Security and AI discovery files
├── justfile # Top-level build recipes
├── TOPOLOGY.md # Architecture map and completion dashboard
├── LICENSE # MPL-2.0 (tooling compat; see NOTICE)
├── LICENSES/ # MPL-2.0.txt + MPL-2.0.txt
└── NOTICE # Licensing explanation

# Technology Stack

Per the Hyperpolymath language policy:

| Domain | Technology |
|---------------------------|-----------------------------------|
| Systems / Core | Rust |
| Serialisation | Cap’n Proto (zero-copy) |
| Interfaces | WIT (WebAssembly Component Model) |
| Runtime (where JS needed) | Deno |
| Configuration | TOML, Nickel |
| ABI (planned) | Idris2 |
| FFI (planned) | Zig |
| API (planned) | zig |

# Roadmap

## Phase 1: MVP (current)

- Slop-Gate heuristic tuning (60% → 90%)

- WP-Praxis edge case coverage (multisite, custom themes)

- WIT specification formalisation

- End-to-end integration test: Mandible → Call → Bivouac

## Phase 2: ABI/FFI/API

- Idris2 ABI definitions for cross-component type safety

- Zig FFI layer for C-compatible sensor plugins

- zig API connectors for external integrations

## Phase 3: Distribution

- Chainguard-based OCI container image

- BoJ-server integration (Kea sensors as MCP cartridge data sources)

- Crate publication to crates.io

# License

Licensed under <a href="LICENSES/MPL-2.0.txt" class="0">MPL-2</a>
(Palimpsest License).

The root `LICENSE` file contains MPL-2.0 for tooling compatibility. See
[NOTICE](NOTICE) for details.

Copyright © 2024-2026 Jonathan D.A. Jewell
\<[j.d.a.jewell@open.ac](j.d.a.jewell@open.ac).uk\>

# Author

Jonathan D.A. Jewell \<[j.d.a.jewell@open.ac](j.d.a.jewell@open.ac).uk\>
Loading