π Ananke Plexus Implementation Log
Status date: 2026-09-19
This log tracks what has been implemented, what is partially implemented, and what comes next.
π― Delivery Snapshot
| Area |
Status |
Notes |
| Spec lifecycle (Spec Kit + native fallback) |
β
Implemented |
Create, plan, tasks, lock, validate, diff, converge, superpowers |
| Graph baseline |
β
Implemented |
Build, query, impact, export with canonical nodes/edges |
| APM baseline |
β
Implemented |
Install, list, activate, deactivate, resolve, audit, sandbox-check, import-copilot |
| MCP baseline |
β
Implemented |
Read-only tools/resources/prompts over stdio + HTTP action transport |
| Lifecycle baseline |
β
Implemented |
Branch naming, issue transition, PR creation, worktree listing with idempotency store |
| Run engine baseline |
β
Implemented |
Start, status, cancel, replay with persisted state |
| Skill & Agent Registry (Epic O) |
β
Implemented (Python) |
Immutable CAS + SQLite registry, importers, resolver, ananke.lock, sync, activation, signatures, federation, docs generator, server, MCP tools; Rust core, redb and tantivy not implemented |
| Enterprise adapters |
π‘ Partial |
Jira/Bitbucket provider simulation only (real remote adapters pending) |
| Security/release hardening |
π‘ Partial |
Workflows exist; full attestations/SBOM/strict policy gates pending |
π Architecture Flow (Current)
flowchart LR
A[π₯ Requirement Capture] --> B[π§ Spec Provider<br/>Spec Kit or Native]
B --> C[π Plan + Tasks]
C --> D[π§± BMAD Compile]
D --> E[π Spec Lock + Drift Check]
E --> F[πΈοΈ Graph Build + Impact]
F --> G[βοΈ Verify Gates]
G --> H[π¦ Evidence Bundle]
H --> I[π Run State + Lifecycle]
classDef start fill:#C8F7C5,stroke:#2E7D32,color:#1B5E20,stroke-width:2px;
classDef mid fill:#FFF3BF,stroke:#F08C00,color:#995200,stroke-width:2px;
classDef finish fill:#D0EBFF,stroke:#1971C2,color:#0B3D91,stroke-width:2px;
class A,B,C,D,E,F,G mid;
class H,I finish;
π§© MCP Read-Only Surface
| Action |
Result |
Security guard |
ping |
pong |
request size limit |
tools.list |
available read-only tool names |
permission map |
resources.list |
available resource URIs |
static allow list |
resources.read |
resource text |
canonical local path reads |
prompts.list |
available prompt names |
fixed registry |
prompts.get |
prompt content |
fixed registry |
tools.call |
routed API result |
mutation tools blocked |
shutdown |
terminate loop |
explicit action |
π MCP Transport Modes
| Transport |
Endpoint |
Auth |
Status |
| stdio |
process stdin/stdout |
n/a |
β
implemented |
| http |
POST /mcp |
optional Bearer token |
β
implemented baseline |
flowchart LR
C[π§ MCP Client] --> S[π‘ Transport Layer]
S --> T1[stdio]
S --> T2[http /mcp]
T1 --> G[π‘οΈ Guard: size + schema]
T2 --> A[π Optional Bearer Auth]
A --> G
G --> R[π§° Tool/Resource/Prompt Router]
R --> O[π€ JSON Response]
classDef blue fill:#D0EBFF,stroke:#1C7ED6,color:#0B3D91,stroke-width:2px;
classDef gold fill:#FFF3BF,stroke:#F08C00,color:#995200,stroke-width:2px;
classDef green fill:#D3F9D8,stroke:#2B8A3E,color:#1C5D2A,stroke-width:2px;
class C,S,T1,T2 blue;
class A,G gold;
class R,O green;
βοΈ APM Governance Baseline
flowchart TD
A[π¦ Skill Source] --> B[π Parse Manifest]
B --> C[π Audit Permissions]
C --> D[π§ͺ Sandbox Check]
D --> E[π₯ Install to .ananke/skills/installed]
E --> F[π Update apm.lock]
F --> G[β
Activate Skill]
classDef ingest fill:#FFE3E3,stroke:#C92A2A,color:#7A1E1E,stroke-width:2px;
classDef govern fill:#E5DBFF,stroke:#5F3DC4,color:#3B2A8A,stroke-width:2px;
classDef done fill:#D3F9D8,stroke:#2B8A3E,color:#1C5D2A,stroke-width:2px;
class A ingest;
class B,C,D govern;
class E,F,G done;
π Module Progress Matrix
| Epic |
Capability |
Progress |
| A |
Core + plugin discovery baseline |
π‘ Partial |
| B |
Policy engine advanced semantics |
π‘ Partial |
| C |
Full verification adapter contracts |
π‘ Partial |
| D |
Spec lifecycle + drift + convergence |
β
Strong baseline |
| E |
CALM reconciliation and rendering |
π‘ Partial |
| F |
Graph model/query/impact + provider baseline |
π‘ Partial |
| G |
Hook orchestration |
β³ Pending |
| H |
MCP v2 full protocol and auth hardening |
π‘ Partial |
| I |
APM resolver/sandbox/audit/lock/import |
π‘ Partial |
| J |
Lifecycle real Jira/Bitbucket adapters |
π‘ Partial |
| K |
Backend adapters (Copilot/Q/Kiro/Hermes) |
β³ Pending |
| L |
Full DAG run engine and compensation |
π‘ Partial |
| M |
Supply-chain hardening and attestations |
π‘ Partial |
| O |
Skill & Agent Registry |
β
Python implementation; β³ Rust core, redb, tantivy |
π£οΈ Next Implementation Wave
- Implement true Jira/Bitbucket remote adapters with idempotency keys and retries.
- Add MCP v2 Streamable HTTP and stronger auth policy mapping.
- Add provider adapters (
graphifyy, code-review-graph) and reconciliation levels.
- Add APM bundles and untrusted skill runtime execution guards.
- Add run-engine approvals, concurrency controls, and compensation strategy.
2026-09-16
- Completed docs creation and hosting baseline with MkDocs (
mkdocs.yml, docs/index.md) and GitHub Pages deployment workflow (.github/workflows/docs.yml).
- Added config precedence layering (
defaults -> config.toml -> config.local.toml -> env) with test coverage.
- Added
ananke config migrate and ananke evidence prune command families with API/CLI/tests.
- Added release hardening: CycloneDX SBOM generation and provenance attestations in TestPyPI/PyPI workflows.
- Added security policy workflows: CodeQL, dependency-review, Scorecard, and workflow linting via actionlint + zizmor.
2026-09-19
- Implemented the Skill & Agent Registry (Epic O):
ananke registry, ananke skill, ananke agent, ananke sync, registry-backed apm commands, registry MCP tools/resources, evidence hook (registry-capabilities.json), generated static documentation, and ~500 new tests.
- Documented in Registry concept, Registry Guide and Registry Reference; test harness documented in Testing.
- Follow-up the same day: Ed25519 signatures (computed, never self-asserted trust), pull-only remote federation with bearer-token server auth, optional similarity search, native (
notify) file watching, DuckDB/SQLite analytics questions, registry benchmark with regression tracking, seeded fuzz targets (which found and fixed unwrapped errors on corrupt import archives), and enforcement of the test-harness quality-gate thresholds.
- Not implemented (tracked in the master spec Β§61): the Rust core (
ananke-registry-core, PyO3) and the redb/tantivy accelerators β they need a Rust toolchain and build/CI work.
π§ͺ Quality Snapshot
- β
Ruff: passing
- β
mypy: passing
- β
pytest: passing
- β
End-to-end command smoke tests: passing