|
1 | 1 | <!-- SPDX-License-Identifier: PMPL-1.0-or-later --> |
| 2 | +<!-- Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk> --> |
2 | 3 |
|
3 | 4 | # BoJ Server Component Readiness Assessment |
4 | 5 |
|
5 | | -**Standard:** [Component Readiness Grades (CRG) v1.0](https://github.com/hyperpolymath/standards/tree/main/component-readiness-grades) |
6 | | -**Assessed:** 2026-03-09 |
| 6 | +**Standard:** [Component Readiness Grades (CRG) v2.0](https://github.com/hyperpolymath/standards/tree/main/component-readiness-grades) |
| 7 | +**Assessed:** 2026-04-18 |
7 | 8 | **Assessor:** Jonathan D.A. Jewell |
| 9 | +**Previous assessment:** 2026-03-09 (CRG v1.0) |
8 | 10 |
|
9 | 11 | **Current Grade:** D |
10 | 12 |
|
11 | | -## Grade Reference |
12 | | - |
13 | | -| Grade | Name | Release Stage | Meaning | |
14 | | -|-------|-----------------------|--------------------|------------------------------------------------------| |
15 | | -| X | Untested | — | No testing performed. Status unknown. | |
16 | | -| F | Harmful / Wasteful | — | Reject, deprecate, or delegate. | |
17 | | -| E | Minimal / Salvageable | Pre-alpha | Barely functional. Needs redesign or major work. | |
18 | | -| D | Partial / Inconsistent| Alpha | Works on some things but not systematically. | |
19 | | -| C | Self-Validated | Beta | Dogfooded and reliable in home context. | |
20 | | -| B | Broadly Validated | Release Candidate | Tested on 6+ diverse external targets. | |
21 | | -| A | Field-Proven | Stable | Real-world feedback confirms value. No harm in wild. | |
22 | | - |
23 | | -## Component Assessment |
24 | | - |
25 | | -| Component | Grade | Release Stage | Evidence Summary | Last Assessed | |
26 | | -|-------------------------|-------|---------------|-------------------------------------------------------------------------|---------------| |
27 | | -| Catalogue ABI (Idris2) | D | Alpha | Type-checks with %default total, zero believe_me. No runtime tests yet. | 2026-03-09 | |
28 | | -| Catalogue FFI (Zig) | D | Alpha | Builds clean, 105 core tests pass. No integration with real protocol. | 2026-03-09 | |
29 | | -| C Headers (generated) | D | Alpha | Generated, matches Idris2 encodings. Not tested via C consumer. | 2026-03-09 | |
30 | | -| database-mcp | D | Alpha | ABI + FFI + Adapter + .so built. Connection state machine, SQL safety. | 2026-03-09 | |
31 | | -| fleet-mcp | D | Alpha | ABI + FFI + Adapter + .so built. 6-bot gate policy formally verified. | 2026-03-09 | |
32 | | -| nesy-mcp | D | Alpha | ABI + FFI + Adapter + .so built. Symbolic > Neural harmonization law. | 2026-03-09 | |
33 | | -| agent-mcp | D | Alpha | ABI + FFI + Adapter + .so built. OODA loop enforcement, 7 tests. | 2026-03-09 | |
34 | | -| cloud-mcp | D | Alpha | ABI + FFI + Adapter + .so built. Multi-provider abstraction. | 2026-03-09 | |
35 | | -| container-mcp | D | Alpha | ABI + FFI + Adapter + .so built. Stapeln-compatible. | 2026-03-09 | |
36 | | -| k8s-mcp | D | Alpha | ABI + FFI + Adapter + .so built. Cluster operations scaffolded. | 2026-03-09 | |
37 | | -| git-mcp | D | Alpha | ABI + FFI + Adapter + .so built. VCS operations, multi-forge. | 2026-03-09 | |
38 | | -| secrets-mcp | D | Alpha | ABI + FFI + Adapter + .so built. Vault/SOPS abstraction. | 2026-03-09 | |
39 | | -| queues-mcp | D | Alpha | ABI + FFI + Adapter + .so built. Multi-backend queue operations. | 2026-03-09 | |
40 | | -| iac-mcp | D | Alpha | ABI + FFI + Adapter + .so built. Terraform/Pulumi/Nickel support. | 2026-03-09 | |
41 | | -| observe-mcp | D | Alpha | ABI + FFI + Adapter + .so built. Metrics/traces/logs collection. | 2026-03-09 | |
42 | | -| ssg-mcp | D | Alpha | ABI + FFI + Adapter + .so built. Static site generation tools. | 2026-03-09 | |
43 | | -| proof-mcp | D | Alpha | ABI + FFI + Adapter + .so built. Proof assistant integration. | 2026-03-09 | |
44 | | -| lsp-mcp | D | Alpha | ABI + FFI + Adapter + .so built. Language Server Protocol bridge. | 2026-03-09 | |
45 | | -| dap-mcp | D | Alpha | ABI + FFI + Adapter + .so built. Debug Adapter Protocol bridge. | 2026-03-09 | |
46 | | -| bsp-mcp | D | Alpha | ABI + FFI + Adapter + .so built. Build Server Protocol bridge. | 2026-03-09 | |
47 | | -| V-lang Adapter | D | Alpha | REST+gRPC+GraphQL triple adapter. Compiles and routes requests. | 2026-03-09 | |
48 | | -| Dynamic Loader | D | Alpha | Hash verification, mount/unmount. Tested via loader.zig. | 2026-03-09 | |
49 | | -| Guardian module | D | Alpha | Resource-aware failure tolerance. 12 tests passing. | 2026-03-09 | |
50 | | -| Umoja Federation | D | Alpha | Real UDP gossip, hash attestation, peer discovery. 30 tests passing. | 2026-03-09 | |
51 | | -| VeriSimDB backing store | D | Alpha | Cartridge state persistence. 7 tests passing. | 2026-03-09 | |
52 | | -| PanLL BoJ panel | D | Alpha | 887-line TEA view in PanLL repo. 5 tabs, matrix view, federation UI. | 2026-03-09 | |
53 | | -| CI pipeline | D | Alpha | zig-test.yml active. All 218 tests run on push. | 2026-03-09 | |
54 | | -| Container ecosystem | D | Alpha | Containerfile + compose.toml + vordr.toml present. No e2e test. | 2026-03-09 | |
55 | | -| Teranga Menu | X | — | A2ML spec defined. No runtime generation. | 2026-03-09 | |
56 | | -| Order-Ticket Protocol | D | Alpha | SCM spec + 3 e2e tests. No production flow. | 2026-03-09 | |
57 | | -| Extensibility (3rd axis)| D | Alpha | Backend field stubbed in ABI+FFI, 2 tests, extension.a2ml template. | 2026-03-09 | |
58 | | - |
59 | | -## Summary |
60 | | - |
61 | | -- **29 components at Grade D** (Alpha): Core ABI+FFI layers type-check and pass 307 tests, all 18 cartridge .so files built |
62 | | -- **1 component at Grade X** (Untested): Teranga menu has spec but no runtime |
63 | | -- **0 components at Grade C+**: Nothing dogfooded by external users yet |
64 | | -- **18/18 cartridges** with compiled .so shared libraries |
65 | | -- **307 tests** passing (178 core Zig [13 catalogue + 14 loader + 40 federation + 12 guardian + 28 readiness + 7 VeriSimDB + 3 e2e + 14 coprocessor + 11 SLA + 11 community + 10 SDP + 15 seams] + 118 cartridge FFI + 11 multi-node) |
66 | | -- **Extensibility**: Third axis (backend/provider) stubbed for community extensions |
67 | | -- **PanLL BoJ panel** fully implemented (887 lines, 5 tabs) in PanLL repo |
68 | | -- **Next milestone**: Grade D -> C requires self-validated dogfooding (feedback-o-tron collecting feedback on BoJ itself) |
| 13 | +This line is parsed by `just crg-grade` / `just crg-badge`. The grade above is |
| 14 | +the worst-graded in-scope component — BoJ Server's weakest link drags the |
| 15 | +whole. See the table in §3 for per-component grades. |
| 16 | + |
| 17 | +--- |
| 18 | + |
| 19 | +## 1. CRG v2.0 Grade Reference |
| 20 | + |
| 21 | +| Grade | Name | Release Stage | Stability Posture | Shorthand | |
| 22 | +|-------|-----------------------|---------------|--------------------------|-------------------| |
| 23 | +| X | Untested | — | — | — | |
| 24 | +| F | Harmful / Wasteful | — | — | reject/delegate | |
| 25 | +| E | Minimal / Salvageable | Pre-alpha | Unstable | pre-alpha | |
| 26 | +| D | Partial / Inconsistent| Alpha | Unstable | `alpha-unstable` | |
| 27 | +| C | Self-Validated | Alpha | Stable in home context | `alpha-stable` | |
| 28 | +| B | Broadly Validated | Beta | Stable for broad trial | `beta-stable` | |
| 29 | +| A | Field-Proven | Stable | Stable | `stable` | |
| 30 | + |
| 31 | +**Evidence gates (v2.0 is stricter than v1.0):** |
| 32 | + |
| 33 | +- **D**: RSR-compliant + Immaculate Guide compliance (hyperpolymath projects) |
| 34 | + + per-capability test + documented scope. |
| 35 | +- **C**: All of D, plus active dogfooding in home context with no known home-context |
| 36 | + failures, plus **deep code and folder annotation** (purpose, boundaries, |
| 37 | + invariants, execution/test/proof surfaces, per-directory orientation). |
| 38 | +- **B**: All of C, plus validated against **six genuinely diverse external |
| 39 | + targets** with feedback fed back into the component. |
| 40 | +- **A**: All of B, plus real-world external feedback, no harm in the wild, |
| 41 | + demonstrated net-positive value. |
| 42 | + |
| 43 | +**Publication gate**: non-abstract implementation claims require **B+**. |
| 44 | + |
| 45 | +--- |
| 46 | + |
| 47 | +## 2. Headline Evidence (as of 2026-04-18) |
| 48 | + |
| 49 | +| Metric | Value | Source | |
| 50 | +|--------|-------|--------| |
| 51 | +| Cartridges in fleet | 99 (plus 1 non-standard: `model-router-mcp`) | `cartridges/*/cartridge.json` | |
| 52 | +| Cartridge `README.adoc` coverage | **100/100** (46 newly generated 2026-04-18) | `cartridges/*/README.adoc` | |
| 53 | +| Cartridge shared libs built | 96/99 | `.machine_readable/6a2/STATE.a2ml` §quality | |
| 54 | +| Total tests passing | **365** (178 core FFI + 113 cartridge FFI + 40 federation + 14 coprocessor + 11 SLA + 11 community + 10 SDP + 28 readiness + 13 E2E + 12 guardian + 7 VeriSimDB + 11 multi-node + 58 MCP bridge + 17 aspect) | STATE.a2ml | |
| 55 | +| `believe_me` count | 4 (down from 31 — sweep complete 2026-04-12) | STATE.a2ml | |
| 56 | +| V-lang adapters | **Sidelined** — all cartridge adapters are now Zig, `.v` variants preserved alongside as `SIDELINED-*.v.adoc` | `cartridges/*/adapter/` | |
| 57 | +| `glama-grade` | AAA (Security A, License A, Quality A) | STATE.a2ml | |
| 58 | +| Dependabot alerts | 0 | STATE.a2ml | |
| 59 | +| SSE transport | Active on port 7703 (fixed 2026-03-29) | STATE.a2ml | |
| 60 | +| CI pipeline | `zig-test.yml` (all tests on push) | `.github/workflows/` | |
| 61 | + |
| 62 | +--- |
| 63 | + |
| 64 | +## 3. Component Assessment |
| 65 | + |
| 66 | +All components graded **as-is today**, per CRG v2.0 Principle 4 (honest |
| 67 | +assessment over aspirational grading). Stability posture column reflects the |
| 68 | +component's state **within its home context only** unless noted. |
| 69 | + |
| 70 | +| Component | Grade | Stability Posture | Evidence Summary | Promotion blocker | Last Assessed | |
| 71 | +|------------------------------|-------|--------------------------|---------------------------------------------------------------------------------------------------|---------------------------------------------------------|---------------| |
| 72 | +| Catalogue ABI (Idris2) | D | `alpha-unstable` | Type-checks with `%default total`. 4 `believe_me` (down from 31). No runtime invariants exercised. | Dogfood + deep annotation of invariants per directory | 2026-04-18 | |
| 73 | +| Catalogue FFI (Zig) | D | `alpha-unstable` | Builds clean. 178 core tests pass. Not yet validated against an independent consumer. | Add external consumer in home context, then annotate | 2026-04-18 | |
| 74 | +| C Headers (generated) | D | `alpha-unstable` | Generated, matches Idris2 encodings. Not tested via a C consumer. | Real C consumer + ABI round-trip test | 2026-04-18 | |
| 75 | +| Cartridge fleet (99) | D | `alpha-unstable` | 96/99 shared libs built. 100/100 cartridges now have `README.adoc`. 113 FFI tests pass. | Deep per-cartridge annotation (readmes are overview only) | 2026-04-18 | |
| 76 | +| Zig adapter layer (per cartridge) | D | `alpha-unstable` | All adapters ported from V to Zig. V predecessors retained as `SIDELINED-*.v.adoc`. | Exercise adapter under real-protocol load | 2026-04-18 | |
| 77 | +| Dynamic Loader | D | `alpha-unstable` | Hash verification, mount/unmount. 14 loader tests pass. | Use in anger on multi-cartridge live reload | 2026-04-18 | |
| 78 | +| Guardian module | D | `alpha-unstable` | Resource-aware failure tolerance. 12 tests pass. | Fault-injection campaign | 2026-04-18 | |
| 79 | +| Umoja Federation | D | `alpha-unstable` | Real UDP gossip, hash attestation, QUIC transport. 40 federation tests + 11 multi-node tests. | Live multi-host run with adversarial peers | 2026-04-18 | |
| 80 | +| VeriSimDB backing store | D | `alpha-unstable` | Cartridge state persistence. 7 tests pass. | Dogfood persistence across restart + migration | 2026-04-18 | |
| 81 | +| PanLL BoJ panel | D | `alpha-unstable` | 887-line TEA view in PanLL repo. 5 tabs, matrix view, federation UI. | Use in daily PanLL workflow; record friction log | 2026-04-18 | |
| 82 | +| CI pipeline (`zig-test.yml`) | D | `alpha-unstable` | All 365 tests run on push. | Cover publish/release path end-to-end | 2026-04-18 | |
| 83 | +| Container ecosystem | D | `alpha-unstable` | Containerfile + compose.toml + vordr.toml present. Podman quadlet defined but image unpublished. | Publish image, run unattended for ≥1 week | 2026-04-18 | |
| 84 | +| Coprocessor dispatch | D | `alpha-unstable` | Axiom.jl-style, 14 tests. | Live routing under real tool-call mix | 2026-04-18 | |
| 85 | +| SLA module | D | `alpha-unstable` | 11 tests. | Apply to a real-time guarantee | 2026-04-18 | |
| 86 | +| Community module | D | `alpha-unstable` | 11 tests. | Real external contributor transaction | 2026-04-18 | |
| 87 | +| SDP module | D | `alpha-unstable` | 10 tests. | End-to-end session with a live peer | 2026-04-18 | |
| 88 | +| MCP bridge (Deno) | D | `alpha-unstable` | 58 MCP bridge tests + 17 aspect (security) tests added 2026-04-04. | Drive from a real MCP client under load | 2026-04-18 | |
| 89 | +| Order-Ticket Protocol | D | `alpha-unstable` | A2ML spec + 13 E2E tests. | Production flow on a real engagement | 2026-04-18 | |
| 90 | +| Extensibility (3rd axis) | D | `alpha-unstable` | Backend field stubbed in ABI+FFI, 2 tests, `extension.a2ml` template. | One third-party extension accepted and merged | 2026-04-18 | |
| 91 | +| Teranga Menu | X | — | A2ML spec defined. No runtime generation yet. | Build the runtime generator | 2026-04-18 | |
| 92 | +| Documentation (this corpus) | D | `alpha-unstable` | 46 cartridge READMEs freshly generated 2026-04-18 (overview-level). `docs/practice/DOGFOOD-LOG.adoc` started 2026-04-18. | Deep per-cartridge annotation + 4 weeks of dated DOGFOOD-LOG entries | 2026-04-18 | |
| 93 | + |
| 94 | +**No component has yet cleared the CRG v2.0 C bar.** The v1.0 table above was |
| 95 | +optimistic about what "Alpha" bought — v2.0 makes clear that the missing |
| 96 | +evidence is *dogfooded reliability with deep annotation*, not just |
| 97 | +"type-checks + tests pass". |
| 98 | + |
| 99 | +--- |
| 100 | + |
| 101 | +## 4. What's Needed for D → C |
| 102 | + |
| 103 | +CRG v2.0 requires two new pieces of evidence on top of D: |
| 104 | + |
| 105 | +1. **Active dogfooding in home context with no known home-context failures.** |
| 106 | + - Start date: 2026-04-18 (first `docs/practice/DOGFOOD-LOG.adoc` entry). |
| 107 | + - Home context = hyperpolymath estate repos operated through BoJ cartridges. |
| 108 | + - "No known failures" is a moving claim, not a one-off snapshot — it must hold |
| 109 | + continuously across the evidence window. |
| 110 | + |
| 111 | +2. **Deep code and folder annotation** — per CRG 4.5, that means for each |
| 112 | + component: purpose, boundaries, invariants, execution/test/proof surfaces, |
| 113 | + and per-directory orientation where the code is otherwise opaque. |
| 114 | + - The 46 cartridge READMEs added 2026-04-18 are **overview-level** — they |
| 115 | + cover purpose, tools, architecture-at-a-glance, and build steps. They |
| 116 | + are a necessary step but not a sufficient one. |
| 117 | + - Still missing: per-directory `README.adoc` orientation notes inside |
| 118 | + `abi/`, `ffi/`, `adapter/` for any cartridge where a reviewer would |
| 119 | + otherwise have to read source to orient. |
| 120 | + |
| 121 | +**Minimum first-ring targets for C promotion:** |
| 122 | + |
| 123 | +- Catalogue ABI + Catalogue FFI (the trunk — if these aren't C, nothing else |
| 124 | + can be). |
| 125 | +- `cartridge fleet` — at least 6 cartridges annotated to depth, dogfooded |
| 126 | + daily, zero home-context failures for 4 weeks. |
| 127 | +- PanLL BoJ panel — because it is the most visible dogfood surface. |
| 128 | + |
| 129 | +--- |
| 130 | + |
| 131 | +## 5. What's Needed for C → B |
| 132 | + |
| 133 | +Six **genuinely diverse** external targets with feedback fed back into the |
| 134 | +component. Candidate target types (diversity axes): |
| 135 | + |
| 136 | +- Non-hyperpolymath open-source project consuming the MCP bridge. |
| 137 | +- Language runtime other than BEAM/Deno/Zig-native (e.g. OCaml, Gleam, |
| 138 | + Elixir) driving a cartridge end-to-end. |
| 139 | +- Embedded / resource-constrained host. |
| 140 | +- Different OS family (one of the six must not be Linux). |
| 141 | +- Different federation topology (non-star, e.g. mesh with ≥3 peers). |
| 142 | +- Different auth posture (unauthenticated, API-key, and vault-brokered in the |
| 143 | + mix). |
| 144 | + |
| 145 | +B+ is the minimum for non-abstract implementation-facing publication |
| 146 | +(whitepapers, talks, or papers that claim working software). Below B, any |
| 147 | +publication must be explicitly abstract / provisional. |
| 148 | + |
| 149 | +--- |
| 150 | + |
| 151 | +## 6. Summary (2026-04-18) |
| 152 | + |
| 153 | +- **All in-scope components at Grade D**: the project is honestly in alpha. |
| 154 | +- **Cartridge README coverage 100%**: first time in project history. |
| 155 | +- **V-lang sidelined**: all adapters are Zig; V source retained as |
| 156 | + `SIDELINED-*.v.adoc` alongside the Zig successor. |
| 157 | +- **No component at C or above**: the v2.0 rubric exposes that dogfood |
| 158 | + evidence and deep annotation were undercounted in the v1.0 read. |
| 159 | +- **DOGFOOD-LOG.adoc started**: dated evidence will accumulate here, not in |
| 160 | + self-reports. |
| 161 | +- **Machine-readable grade line present** (§1 above) for `just crg-grade` / |
| 162 | + `just crg-badge`. |
| 163 | + |
| 164 | +**Next milestone:** first-ring D → C on Catalogue ABI/FFI + 6 lead cartridges |
| 165 | ++ PanLL panel. Deep annotation pass precedes the 4-week dogfood window. |
0 commit comments