Skip to content

Commit 324ae5f

Browse files
hyperpolymathclaude
andcommitted
chore: clean template cruft, update all documentation
Remove 20 template files (k9 templates, .gitkeep stubs, deny.toml, duplicate Containerfile, unused examples/docs). Update all human-readable documentation (RSR_OUTLINE, QUICKSTART, CONTRIBUTING, SECURITY, TOPOLOGY, READINESS) and machine-readable state files (STATE.a2ml, META.a2ml) to reflect actual BoJ architecture and current completion status. Customize Containerfile builder stage for Zig FFI compilation. Fill in architecture decisions (ADR-001 through ADR-008) and design rationale in META.a2ml. Update STATE.a2ml milestones to 25% overall completion. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 5adfa44 commit 324ae5f

34 files changed

Lines changed: 445 additions & 1757 deletions

.machine_readable/META.a2ml

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,22 @@ version = "0.1.0"
99
last-updated = "2026-03-02"
1010

1111
[project-info]
12-
type = "service" # library | binary | monorepo | service | website
13-
languages = [] # e.g. ["rust", "zig", "idris2"]
12+
type = "service"
13+
languages = ["idris2", "zig", "v", "scheme", "nickel"]
1414
license = "PMPL-1.0-or-later"
1515
author = "Jonathan D.A. Jewell (hyperpolymath)"
1616

1717
[architecture-decisions]
18-
# ADR format: status = proposed | accepted | deprecated | superseded | rejected
19-
# - { id = "ADR-001", title = "Use Zig for FFI", status = "accepted", date = "2026-02-14" }
18+
decisions = [
19+
{ id = "ADR-001", title = "Three-layer stack: Idris2 ABI + Zig FFI + V-lang Adapter", status = "accepted", date = "2026-03-02" },
20+
{ id = "ADR-002", title = "2D matrix: protocol types (cols) x capability domains (rows)", status = "accepted", date = "2026-03-02" },
21+
{ id = "ADR-003", title = "Cartridge metaphor — swappable, verified capability modules", status = "accepted", date = "2026-03-02" },
22+
{ id = "ADR-004", title = "IsUnbreakable proof type — only Ready cartridges can be mounted", status = "accepted", date = "2026-03-02" },
23+
{ id = "ADR-005", title = "Umoja federation — gossip protocol, IPv6, hash attestation", status = "accepted", date = "2026-03-02" },
24+
{ id = "ADR-006", title = "Teranga menu — three-tier A2ML (Core/Shield/Ayo)", status = "accepted", date = "2026-03-02" },
25+
{ id = "ADR-007", title = "Order-ticket protocol — AI reads menu, writes order, BoJ mounts cartridges", status = "accepted", date = "2026-03-02" },
26+
{ id = "ADR-008", title = "Zero believe_me policy — all Idris2 code must be total and sound", status = "accepted", date = "2026-03-02" },
27+
]
2028

2129
[development-practices]
2230
build-tool = "just"
@@ -50,4 +58,7 @@ drift-risk-example = "single exception broadening into policy violation (e.g. Re
5058
effects-evidence = "benchmark execution/results and maintainer status dialogue/review"
5159

5260
[design-rationale]
53-
# Key design decisions and their reasoning
61+
three-layer-stack = "Idris2 proves correctness (ABI), Zig executes at zero cost (FFI), V-lang serves all three API styles (Adapter). Each layer is independently verifiable."
62+
matrix-model = "Every cell in the (Protocol x Domain) matrix is a cartridge. Protocols define HOW you talk to a server; domains define WHAT the server does. This separates concerns and enables independent development."
63+
cultural-naming = "Teranga (Wolof: hospitality), Umoja (Swahili: unity), Ayo (Yoruba: joy) — naming reflects values of hospitality to users, unity across communities, and joy in contribution."
64+
zero-believe-me = "believe_me is worse than a TODO because it compiles and hides the problem. Zero tolerance ensures all proofs are genuine."

.machine_readable/STATE.a2ml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,40 +6,40 @@
66
[metadata]
77
project = "boj-server"
88
version = "0.1.0"
9-
last-updated = "2026-03-02"
9+
last-updated = "2026-03-03"
1010
status = "active"
1111

1212
[project-context]
1313
name = "Bundle of Joy Server"
1414
purpose = "Unified server capability catalogue solving the combinatoric explosion of developer server protocols. Provides a 2D matrix of formally verified cartridges (protocol types x capability domains), distributed via community-hosted nodes with hash attestation and gossip protocol."
15-
completion-percentage = 10
15+
completion-percentage = 25
1616

1717
[position]
1818
phase = "implementation"
19-
maturity = "experimental"
19+
maturity = "alpha"
2020

2121
[route-to-mvp]
2222
milestones = [
2323
{ name = "Phase 0: Fresh repo from rsr-template-repo", completion = 100 },
24-
{ name = "Phase 1: Core catalogue & menu system (Idris2 ABI)", completion = 80 },
25-
{ name = "Phase 2: Zig FFI layer (catalogue operations)", completion = 0 },
24+
{ name = "Phase 1: Core catalogue & menu system (Idris2 ABI)", completion = 100 },
25+
{ name = "Phase 2: Core Zig FFI layer (catalogue operations)", completion = 100 },
2626
{ name = "Phase 3: V-lang triple adapter (REST+gRPC+GraphQL)", completion = 0 },
27-
{ name = "Phase 4: First cartridges (database-mcp, nesy-mcp, fleet-mcp)", completion = 0 },
27+
{ name = "Phase 4: First cartridges — ABI+FFI (database, fleet, nesy, agent)", completion = 80 },
2828
{ name = "Phase 5: Umoja federation & PanLL panel", completion = 0 },
2929
{ name = "Phase 6: Remaining cartridges (fill the matrix)", completion = 0 },
3030
{ name = "Phase 7: Polystack deprecation (endgame)", completion = 0 },
3131
]
3232

3333
[blockers-and-issues]
34-
# No blockers — clean start from rsr-template-repo
34+
# No blockers — 10 components at Grade D (Alpha), all type-check and pass tests
3535

3636
[critical-next-actions]
3737
actions = [
38-
"Complete Phase 1: Idris2 ABI files (Catalogue, Protocol, Domain, Menu, Federation)",
39-
"Create menu.a2ml with three-tier Teranga/Shield/Ayo structure",
40-
"Create order-ticket.scm protocol specification",
41-
"Set up cartridge directory structure for Phase 4",
42-
"Begin Phase 2: Zig FFI for catalogue mount/unmount",
38+
"Phase 3: V-lang triple adapter (REST+gRPC+GraphQL on port 9000)",
39+
"Phase 4 remaining: cartridge adapter layers (V-lang, depends on Phase 3)",
40+
"End-to-end order-ticket flow: menu -> order -> mount -> endpoints (v0.2.0 milestone)",
41+
"Integration tests: connect cartridge FFI to real backends",
42+
"Dynamic cartridge loader: hash verification, hot-swap",
4343
]
4444

4545
[maintenance-status]

.machine_readable/contractiles/k9/template-hunt.k9.ncl

Lines changed: 0 additions & 136 deletions
This file was deleted.

.machine_readable/contractiles/k9/template-kennel.k9.ncl

Lines changed: 0 additions & 54 deletions
This file was deleted.

.machine_readable/contractiles/k9/template-yard.k9.ncl

Lines changed: 0 additions & 84 deletions
This file was deleted.

.tool-versions

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,4 @@
1-
# Uncomment and customize for your project
2-
# rust nightly
3-
# just 1.40.0
4-
# nickel 1.10.0
5-
# gleam 1.8.0
6-
# elixir 1.18.0
7-
# erlang 27.2
8-
# zig 0.14.0
9-
# idris2 0.7.0
1+
# BoJ Server toolchain (managed by asdf)
2+
idris2 0.8.0
3+
zig 0.15.2
4+
just 1.40.0

0 commit comments

Comments
 (0)