Scaffold: fork of Chambers architecture, renamed to Boardroom Map

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Jonathan Kirkwood
2026-07-06 13:10:25 -05:00
co-authored by Claude Fable 5
commit 1dde915540
48 changed files with 4025 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
# Boardroom Map reviewer sandbox
This directory is the build context for the **reviewer image**, which runs on the
DGX Spark — it is *not* packed into the `.s9pk`. The orchestrator rsyncs this
folder to the head Spark and runs `build.sh` there (the Sparks are aarch64), or
you can build it by hand.
- `grader_agent.py` — a one-shot, read-only agent. It reads the documents
mounted at `/docs`, runs one local model (through the on-Spark proxy) under its
persona (`/persona/PERSONA.md`) and the shared rubric (`/RUBRIC.md`), and writes
a single report to `/out`. With `BM_ROLE=synthesizer` it instead reads the
panel's reports from `/reports` and writes `CONSOLIDATED_REPORT.md`.
- `reviewer.Dockerfile` — lean pure-Python image (stdlib only).
- `build.sh``IMAGE=boardroom-grader:latest bash build.sh`.
## How it is launched (by the orchestrator)
Hardened and, in air-gapped mode, network-isolated:
```
docker run -d --name bm-grader-<id> \
--network boardroom-net \ # --internal in air-gapped mode
--user 1000:1000 --security-opt no-new-privileges --cap-drop ALL \
--read-only --tmpfs /tmp --tmpfs /home/rev --pids-limit 256 --memory 6g --cpus 4 \
-e BM_MODEL=<alias> -e BM_LLM_BASE=http://boardroom-proxy:4000/v1 ... \
-v <job>/docs:/docs:ro -v <job>/out:/out \
-v <job>/personas/<id>.md:/persona/PERSONA.md:ro -v <job>/RUBRIC.md:/RUBRIC.md:ro \
boardroom-grader:latest
```
The container can reach **only** the model proxy in air-gapped mode; it holds no
credentials beyond a dummy proxy key and cannot touch the host or the documents'
originals.