Lincoln is a compile-and-execute path for command intent. The mission artifact is the compiled binary. The policy engine is the runtime. The audit chain is the debug trace. Language models are used at compile time and at explain time. This document names the three timescales and the commitments they entail.
Lincoln separates compile, execute, and audit into three distinct phases.
DoDD 3000.09 requires “appropriate level of human judgment over the use of force.” The directive specifies that human judgment exist at an appropriate point in the system's design and operation. Lincoln places that point at compile time.
At compile time, the commander has time to think, staff support, access to the full operational picture, and the authority their position confers. The mission artifact captures that judgment cryptographically. At execute time, the runtime enforces what the artifact authorizes; the operator retains exception authority and the commander retains override authority. The audit chain links each decision back to the signed authorization.
The compiler frame maps onto Lincoln's components directly:
| Compiler concept | Lincoln equivalent |
|---|---|
| Source code | Commander's prose ROE, OPORD, brief, annexes — paragraph-numbered. |
| Frontend / parser | @lincoln/interpretation: LLM-assisted parse from prose / image to structured candidate fields. |
| Type checker | Zod schemas in @lincoln/schemas: every artifact field type-checked against a versioned grammar. |
| Allowlist / linter | @lincoln/interpretation/allowlist: rejects engagement classes not explicitly authorized; rejects unknown rule kinds; rejects shapes that fall outside the grammar. |
| Compile-time review | Operator-in-the-loop validation: parsed artifact shown alongside source, commander confirms or corrects before signing. |
| Code signing | Ed25519 signature over canonical-JSON of the final artifact, by the issuing-node private key bound to the commander's identity. |
| Compiled binary | MissionArtifact: typed, signed, paragraph-traced, deterministic-to-execute. |
| Runtime / VM | @lincoln/policy-engine: pure evaluator. Given (artifact, world-snapshot, proposal) it produces (decision, fired-rules) with no I/O and no LM. |
| Stack trace / debug info | Audit entry's fired_rules[].paragraph_ref: every rule that contributed to the decision cites the source paragraph it came from. |
| Build reproducibility | verifyChain() at shutdown: recomputes hashes, re-verifies signatures, returns a single {valid: true} or the index of the first broken link. |
| Linker / dynamic loading | Runtime artifact verification at boot: refuses to start if signature does not verify against the issuing-node public key. |
Five concrete commitments follow from the compile-and-execute model, each enforced at build, boot, or runtime:
The remaining four documents walk the model from input to output.