Skip to content

Commit 039908a

Browse files
hyperpolymathclaude
andcommitted
feat(.boj): add project-memories.a2ml worker briefing template
Standing context auto-prepended to every parallel Claude worker session via the claude() shell hook in coord-hooks.sh. Captures the completion contract ("push succeeds, not TODO list"), coord registration steps, backend wiring checklist, banned patterns, and comms protocol so workers don't need to be briefed per-session. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 5614cc8 commit 039908a

1 file changed

Lines changed: 100 additions & 0 deletions

File tree

.boj/project-memories.a2ml

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
; SPDX-License-Identifier: PMPL-1.0-or-later
2+
; SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell (hyperpolymath)
3+
;
4+
; .boj/project-memories.a2ml — Worker briefing template
5+
; Auto-prepended to every Claude worker session via claude() shell hook.
6+
; Media-Type: application/a2ml
7+
8+
(project-memories
9+
(version "1.0.0")
10+
(repo "boj-server")
11+
(purpose "Standing context for parallel Claude workers on BoJ / ECHIDNA expansion tasks")
12+
13+
; ===================================================================
14+
; REGISTRATION — do this before any code
15+
; ===================================================================
16+
17+
(on-start
18+
(step 1 "Register with local coord adapter"
19+
"curl -sf -X POST http://127.0.0.1:7745/tools/coord_register \
20+
-H 'Content-Type: application/json' \
21+
-d '{\"kind\":\"claude\",\"role\":\"journeyman\",\"context\":\"<your-task-id>\",\"variant\":\"sonnet-4.6\"}'")
22+
(step 2 "Claim your task (if claim fails — held — pick a different task-id from the roadmap)"
23+
"curl -sf -X POST http://127.0.0.1:7745/tools/coord_claim_task \
24+
-H 'Content-Type: application/json' \
25+
-d '{\"task_id\":\"<your-task-id>\"}'")
26+
(step 3 "Read the plan"
27+
"cat .machine_readable/6a2/STATE.a2ml # look for [expansion-roadmap]"))
28+
29+
; ===================================================================
30+
; COMPLETION CONTRACT — the most important rule
31+
; ===================================================================
32+
33+
(completion-contract
34+
(rule "End-of-task = git push origin main succeeding")
35+
(rule "NOT cargo build succeeding")
36+
(rule "NOT a TODO list")
37+
(rule "If you are blocked, send a coord_send to your supervisor with the blocker — do not stop with a list")
38+
(why "Workers that stop with TODO lists require manual supervisor intervention; a push + coord_send is self-contained"))
39+
40+
; ===================================================================
41+
; BACKEND TEMPLATE
42+
; ===================================================================
43+
44+
(backend-template
45+
(reference-files
46+
"src/rust/provers/dafny.rs"
47+
"src/rust/provers/gnatprove.rs")
48+
(required-wiring
49+
"ProverKind enum variant"
50+
"ProverFactory match arm"
51+
"default_executable"
52+
"complexity / tier / implementation_time"
53+
"FromStr impl"
54+
"auto-detect by extension (if applicable)"
55+
"FFI: kind_to_u8 / kind_from_u8"
56+
"STATE.a2ml backend count update")
57+
(minimum-tests 3 "unit tests per new backend file"))
58+
59+
; ===================================================================
60+
; BANNED PATTERNS — panic-attack will catch these at pre-commit
61+
; ===================================================================
62+
63+
(banned-patterns
64+
(pattern "unimplemented!()" "use a real impl or surface a blocker")
65+
(pattern "todo!()" "same")
66+
(pattern "sorry" "Idris2 — banned estate-wide")
67+
(pattern "Admitted" "Coq — banned estate-wide")
68+
(pattern "believe_me" "Idris2 — banned estate-wide")
69+
(pattern ".unwrap() as debt marker" "use .expect(\"TODO\") only if you mean it — better: handle the error"))
70+
71+
; ===================================================================
72+
; COMMUNICATION PROTOCOL
73+
; ===================================================================
74+
75+
(after-every-commit
76+
(action "coord_status — one-line current activity")
77+
(action "coord_send target='supervisor-peer-id' — what landed, paths, follow-ups"))
78+
79+
(before-new-task
80+
(action "coord_receive — drain inbox before starting"))
81+
82+
; ===================================================================
83+
; GIT HYGIENE
84+
; ===================================================================
85+
86+
(git
87+
(push-target "origin only — other forges are downstream-mirrored")
88+
(no-force-push true)
89+
(pre-commit "panic-attack assail <your-file>.rs runs automatically")
90+
(commit-scope "one logical unit per commit; conventional-commit prefix"))
91+
92+
; ===================================================================
93+
; LANGUAGE POLICY (echidna-specific)
94+
; ===================================================================
95+
96+
(language-policy
97+
(primary "Rust — prover backends, trust pipeline, CLI")
98+
(ml "Julia — training, inference, batch")
99+
(proofs "Idris2 (ABI), Agda (meta-checker)")
100+
(banned "Python, TypeScript, Node.js, Go")))

0 commit comments

Comments
 (0)