Engineering
How Boardroom is built
A decision tool has to be trustworthy before it is clever. This page is for engineers and reviewers: the choices behind the current build, what each one costs, and where to check it in the repository.
- Application tests
- 143deterministic integration and end-to-end tests, run on every change
- Qualified platforms
- 3Windows x64, Linux x64, macOS arm64, each installed without Node in CI
The CLI and its Ink renderer call the application service, which owns state in a domain SQLite database with immutable source snapshots and writes each new Markdown plan and decision memo. Live phases use LangGraph checkpoints containing identities; the application controls authorized provider calls and their receipts. The doctor probe stays separate.
Decisions and their tradeoffs
Every choice below links to the document or test that shows it.
- 01
A bundled Node runtime, not a single binary
The official LangGraph SQLite checkpointer depends on better-sqlite3 12, whose native code targets Node’s V8 interfaces. Each package therefore ships its own pinned Node 24.12.0 and prepared native modules, so users install nothing.
Tradeoff Larger packages built per platform, instead of an unproven compile step.
- 02
Exports that never pretend to be atomic
An export records its intent and planned paths before writing anything, claims a single attempt, then stores a receipt with the hash of every file written. A process killed mid-way leaves an unconfirmed operation that is never replayed automatically.
Tradeoff Uncertain outcomes ask for inspection rather than silently retrying.
- 03
Citations that cannot drift
Original bytes and extracted text are saved under their SHA-256. Citations point to text lines, physical PDF pages or saved DOCX blocks, and a missing or altered snapshot is refused instead of being replaced.
Tradeoff DOCX blocks are not Word page numbers, and scanned PDFs need OCR that is not offered.
Evidence: architecture.md · Evidence: document-evidence.test.ts
- 04
Real terminals in the test suite
Terminal tests drive the actual CLI in OS pseudoterminals and read a headless VT screen: three window sizes, accents, emoji, multiline paste, and Escape or Ctrl+C exiting with code 130 and restoring the terminal.
Tradeoff A pinned beta of node-pty, chosen after the stable release kept Windows workers alive.
- 05
Installation proven on clean machines
CI builds a package on each platform, then installs it on a separate machine with Node removed — and, on Linux, an offline image with no Node at all — into a path with spaces and accents.
Tradeoff Qualifies three platforms only; other architectures are not implied.
- 06
Tests first, with the evidence kept
Each behaviour starts from a failing test at a public boundary — service, CLI or installed package — and the observed red and green results are recorded alongside the code.
Tradeoff Some integrity guards gained characterization tests during acceptance review; the record says so.
Evidence: plan-01-progress.md · Evidence: plan-01-acceptance.md
What is not proven yet
Plan 01 was accepted with reservations. They are listed here as plainly as the achievements, from the same acceptance record.
Real-account qualification pending
OpenAI and Anthropic adapters, protected call bounds and the complete live workflow are implemented. Deterministic HTTP tests do not prove real account access, schema acceptance or remote billing/cancellation.
Source: plan-02-acceptance.mdNo tool isolation demonstrated
Isolation candidates were measured, none demonstrated protection, so commands and MCP servers stay unavailable.
Source: plan-01-acceptance.mdSemantic retrieval not attempted
No embedding runtime or model assets are packaged; lexical search is the only retrieval checked.
Source: plan-01-acceptance.mdParticipation during phases remains limited
The installed live terminal is tested with external deterministic HTTP streams. During work, inspection, stop, conclusion and export are allowed; free contributions and pause/resume belong to Plan 03.
Source: interactive-live-terminal.mdRelease engineering still ahead
Signed installers, production dependency pruning and reproducible release builds remain to be done.
Source: architecture.md
Read the code, run the tests.
Everything on this page can be checked from a fresh clone.