Program · Army SBIR topic ARM26BX06-NV012

LEDGER: Army decisions that keep their receipts.

LEDGER is decision software for Army program offices. It turns a trade study or an acquisition decision into a package where every number points to its source, AI drafts but never decides, and the exact value that would change the answer is on the page.

LEDGER, Linked Evidence and Decision Governance with Explainable Refresh, is an Azcuna Dynamics program proposed to the U.S. Army DEVCOM Ground Vehicle Systems Center under Army SBIR topic ARM26BX06-NV012, Agentic-AI, Schema-Driven Decision Management for Auditable Studies and Acquisition Decisions.

Status · proposal submitted

This page describes a Phase I proposal Azcuna Dynamics submitted to the Army SBIR program on October 21, 2026 in response to topic ARM26BX06-NV012. The proposal is under Army evaluation. Everything shown is Azcuna's own privately funded work.

Try it · what flips the decision

The prototype's ground-vehicle trade study: four powertrains, six weighted criteria, every input cited. Drag option C's unit cost and watch the recommendation change.

Unit cost of option C

$345.0K

Recommended

C · Parallel hybrid with export power

leads by 0.0124

$330Kflip $354.9K$380K
vendor's own range
0.5000.5250.5500.5750.600
  • A · Baseline diesel
    0.5444
  • B · Diesel with integrated starter-generator
    0.5380
  • C · Parallel hybrid with export power
    0.5668 recommended
  • D · Series hybrid with silent watch
    0.5544

Total value on a 0-1 scale, six weighted criteria. Scale shown: 0.500 to 0.600.

At $345.0K, C leads by 0.0124. The vendor's own range runs to $380K, and C stops winning at $354.9K. The lead rests on a number only the vendor supports, so check BC-4 fails until a person rules on it.

What we are building

LEDGER is software. Here is exactly what it is.

The product
Software: a decision-support application with an API, installed on a server or laptop the program office controls. No network service is required.
Who uses it
The analyst or engineer who runs the trade study, and the decision authority who signs it.
What goes in
The decision request and its sources: requirements, test reports, cost estimates, vendor data, and SysML v2 and UML models.
What comes out
A Decision Package: a readable document for the decision authority, a machine-readable JSON record of every option, score, check and signature, and a DDT-1.0 export.
Where it fits
Beside the digital-engineering tools a program already uses, through its API and DDT-1.0 import and export.
How it is sold
An annual term license per installation, covering the engine, check library and adapters, with integration and support priced per customer. The first commercial release follows Phase I.
Phase I delivers
Two working demonstrations on representative ground-vehicle material, and an executable package with the schema, sample Decision Packages and replay instructions.

In plain words

Today

Big decisions live in slides and spreadsheets

When a program picks between four engine designs, the reasoning sits in briefing slides and spreadsheets. A year later nobody can say where a number came from, which options were left out, or what would have changed the answer.

With LEDGER

Every number keeps its receipt

Each objective, option, cost and risk becomes a record that cites the line of the document it came from. Fixed calculations score the options and show the exact value that would flip the winner. Checks catch classic mistakes before anyone signs.

What never changes

AI drafts, a person decides

Software agents read the requests and reports and propose the records, quoting their source or abstaining. They cannot approve, waive a check, change a weight, or sign. Every step, allowed or denied, goes into a ledger that replays identically.

What is in the box

Nine parts. Models work only in the third.

LEDGER is not a chatbot and not a hashing algorithm. Language models only draft, and the audit trail uses standard SHA-256. The product is the decision workflow around them: everything after the quote gate is fixed code and a person.

  1. 01

    Decision schema

    Published JSON Schema

    Objectives, options, constraints, assumptions, risks, evidence and checks as typed records, each carrying its source.

  2. 02

    Source readers

    PDF, spreadsheets, SysML v2, UML

    Read the documents and models, fingerprint every file, and cite every number by line.

  3. 03

    Agent layer

    Self-hosted open-weight models, pinned

    Draft decision records with a word-for-word quote, or abstain, or refuse. They cannot approve, waive, reweight or sign.

  4. 04

    Quote gate

    Deterministic check, no model in it

    Admits a record only if its quote is found word for word in the source. A person accepts each one.

  5. 05

    Evaluation engine

    Versioned multi-attribute value model

    Scores the options and computes the flip point for every weight and every input.

  6. 06

    Check library

    Six pass-or-fail bias checks

    Omitted options, sunk cost, anchoring, vendor-only input, point estimate, cross-model omission.

  7. 07

    Ledger

    Append-only log, SHA-256 hash chain

    Records every step, allowed or denied, so the decision replays identically and any later edit shows.

  8. 08

    Readiness rules

    Computed, never declared

    Hold the package back from signature while a check fails without a written waiver or an assumption has expired.

  9. 09

    Package builder

    Document, JSON, DDT-1.0

    Builds the Decision Package for signature, and rebuilds it for a new signature after each refresh.

From the prototype · the ledger itself

Every step, allowed or denied, chained to the one before it.

Rows from the prototype's ledger for its demonstration scenario, in which the agents are scripted so the run is repeatable. Each row's fingerprint covers its own contents and the fingerprint of the row before it, so an edit anywhere breaks the chain at that row. 15 of 46 rows shown.

SeqActorEventWhat happenedHash
00engine:openepisode.openDecision request opens episode 0fafd6568bc…
01human:analystweights.lockedWeights locked before any option is scoredf669f19d2f…
03engine:checkschecks.runRequest taken at face value: BC-1 omitted options and BC-2 sunk cost faildef138d187…
09human:decision-authorityobjective.removedSunk-cost criterion removed: money already spent cannot change with the choice8190cb7d5f…
13agent:model-aagent.refusalModel A declines a step; the router sends it to model Bf76277099f…
17agent:model-aagent.abstentionNo source states option D's fuel use on the duty cycle: abstains, routed to a person2b25ac8fbc…
20engine:gategate.deniedAgent attempts to sign the package: denieda7eb837d51…
21engine:gategate.deniedAgent attempts to waive a check: denied9311ef5ff3…
22engine:gategate.deniedAgent attempts to change the weights: denied70d89405bd…
25human:decision-authorityhuman.waiveBC-4 waived with a written reason; independent cost estimate commissioned4001c1c765…
26engine:readinessreadinessREADY FOR SIGNATURE40185a551d…
27human:decision-authoritypackage.signedDecision Package signed2412b059a4…
28engine:monitorrefresh.triggerNew cost estimate arrives: episode 1 opens with the same questioncd1dfa6f88…
37engine:monitorrefresh.triggerAn assumption expires: episode 2 opens20f76097f1…
45human:decision-authoritypackage.signedEpisode 2 signed; the chain replays identically from row 0e37e8cc679…

Verify it yourself

Your browser holds all 46 rows exactly as the prototype wrote them. It recomputes each SHA-256 fingerprint and checks each link. Then change one word in a signed waiver and run it again.

ledger.jsonl · 46 events · SHA-256

Recomputing fingerprints…

row 25 · human:decision-authority · human.waivestored hash 4001c1c765816808…
{"actor":"human:decision-authority","at":"2026-11-20","kind":"human.waive","payload":{"check":"BC-4 vendor-only fragile input","episode":0,"rationale":"vendor cost figures accepted for this trade study; independent cost estimate commissioned (R-1); flip points recorded in this package"},"prev":"59825a00f7cf60cdd1523d11e77338319f60c4dfd1f3e16d5702c65b7e4938bb","seq":25}

Six bias checks

Each one passes or fails. A person can waive one only in writing.

BC-1 Omitted optionsFramingFails when: Fewer than three feasible options, or none outside the incumbent's family
BC-2 Sunk costFramingFails when: A weighted criterion scores money already spent
BC-3 AnchoringFramingFails when: Weights were not locked before the first scores, or changed after scores were seen without a stated reason
BC-4 Vendor-only inputModel and dataFails when: The recommendation can flip inside the range of an input only the interested vendor supports
BC-5 Point estimateModel and dataFails when: An assumption-driven input carries no range, so its uncertainty is invisible
BC-6 Cross-model omissionModel outputFails when: One model left out an item another model found, and no person has ruled on it

Built before submission · live models

Real models, run on our own hardware, held to their sources.

At private expense, Azcuna ran self-hosted open-weight models from three U.S. developers as LEDGER's elicitation agent on a published decision case, five runs each. The gate checked every quote word for word against the source and replays from the recorded outputs.

126
Decision records proposed
103
Admitted, quote found word for word
23
Held for a person
31/31
Abstained on costs no source gives

Stitched quotes caught

Of the 23 held, 11 quoted text that is not in the source, 9 of them stitched: a real lead-in glued to a list item that is not next to it. They read as verbatim and are not. The other 12 were too short to check.

No invented costs

Asked for unit costs the source never states, every model abstained in all 31 answers. A cost with no source does not enter a LEDGER package.

One model rejected whole

One model degenerated in 4 of 5 runs. The gate rejected each malformed answer whole, and the cross-model check flagged three items one model left out that another found.

Built to a published schema

Reads and writes the Decision Digital Thread, DDT-1.0.

LEDGER exchanges its packages in the DDT-1.0 object format published in “An AI-Ready Decision Digital Thread Schema for Digital Engineering,” GVSETS 2026. The prototype loads the paper's appendices as published and plays its walkthrough case end to end: 58 ledger events, four agent attempts denied, and the thread rebuilt from the ledger alone, identical.

The paper's walkthrough case run in LEDGER: a decision moves from in analysis to pending approval to committed, then is voided by a stop rule; the readiness gate first blocks on a missing premortem, the Program Manager is denied the commitment and the Chief Engineer is allowed, and four agent attempts are denied

Proposal detail

Phase I planSix months, eight tasks, two demonstrations+

Both demonstrations use the same decision question on representative, unclassified ground-vehicle material: a point-in-time trade study, then a program decision refreshed as inputs change.

T1Month 1Kickoff; agree the decision question and representative scenario; freeze success criteria and a held-out set of decision requests
T2Months 1-2Decision schema v1.0, ground-vehicle domain module, DDT-1.0 import and export, SysML v2 and UML readers with line-level provenance
T3Months 1-4Agent layer on two pinned models: elicitation, workflow plans, evidence; refusal, abstention and cross-model routing; human acceptance gate
T4Months 2-4Evaluation engine: constraint screening, multi-attribute value scoring, switching-value analysis, reproducible run records and replay
T5Months 2-4Check library with passing and failing fixtures, including source-conflict checks; risk objects and assumption monitors; readiness rules
T6Months 3-5Demonstration 1: point-in-time trade study end to end
T7Months 4-6Demonstration 2: the same question as a program decision through at least two refresh cycles, one changing the recommendation, with a human override path
T8Months 5-6Evaluation against the frozen criteria, timed against a manual baseline; final report; Phase II plan; draft interface control document
Acceptance measuresProposed, to be confirmed at kickoff+
  • Every scored input and every recommendation traces to a source location or a named human entry
  • Every evaluation run reproduces identical outputs on replay from its stored inputs
  • Each bias check has a passing and a failing fixture, adjudicated by a reviewer independent of the implementer
  • No agent-initiated approval, waiver, weight change or signature succeeds
  • Readiness is recomputed and re-signature required after each refresh
  • A source-conflict check fails when two cited sources disagree on one input beyond its stated range
  • Elicitation recall reported against reference objects, with a proposed target of 0.7 or higher
  • Unsupported objects accepted: target zero
Why agents never compute the scorePropose, then decide+

A model that declines a task, changes behavior after an update, or misreads a table cannot quietly change a recommendation, because no model output reaches the score without passing the quote check and a person's acceptance, and the score itself comes from versioned code that replays to the same result. The package needs no network service, which suits disconnected and classified environments.

Program facts

Vehicle
Army SBIR Phase I
Topic
ARM26BX06-NV012
Topic sponsor
U.S. Army DEVCOM Ground Vehicle Systems Center
Status
Proposal submitted October 21, 2026; under Army evaluation
Output
Decision Package: one readable document and one machine-readable record
Agents
Pinned, self-hosted models; propose with a quote or abstain; cannot approve, waive, reweight or sign
Scoring
Transparent, versioned value model with flip-point analysis
Checks
Six bias checks, pass or fail; readiness computed before signature
Exchange format
Decision Digital Thread (DDT-1.0), GVSETS 2026
Runtime
No network service required

Related program · CALIBER

Before an agent drafts anything, measure how it behaves.

CALIBER tests AI agents in practice markets for gullibility, herding and steerability. LEDGER assumes agents will err and keeps them from deciding.

See CALIBER →

Program FAQ

LEDGER keeps the receipts on big acquisition decisions: it turns a trade study into a Decision Package where every number cites its source, AI agents draft but never decide, the value that would flip the recommendation is on the page, and every step replays from a tamper-evident ledger.

Linked Evidence and Decision Governance with Explainable Refresh. Linked evidence: every number points to its source line. Governance: agents propose and people decide. Explainable refresh: when a cost estimate or test result changes, the same question is re-run and the decision authority sees exactly what moved.

Agents running on pinned, self-hosted models read requests, reports and digital engineering models and propose the decision records, each with a quote from its source, or abstain when no source supports one. They cannot approve, waive a check, change a weight, or sign. In the prototype every such attempt is denied and written to the ledger.

The value of an input at which the recommendation changes. In the prototype's ground-vehicle scenario, option C leads until its unit cost reaches $354.9K, inside the vendor's own $330K-$380K range, so the lead rests on a number only the vendor supports. LEDGER shows that on the page and fails check BC-4 until a person rules on it.

The monitor opens a new episode of the same question: new cost estimates, test results, or an assumption reaching its expiry date. Weights carry forward unchanged unless a person changes them with a reason, readiness is recomputed, and the package must be signed again.

LEDGER reads and writes the Decision Digital Thread (DDT-1.0) objects published in 'An AI-Ready Decision Digital Thread Schema for Digital Engineering,' GVSETS 2026, and exports its own packages in that format. The prototype loads the paper's appendices as published and runs its walkthrough case end to end.

No. Models are self-hosted and the package needs no network service, which suits disconnected and classified environments. Phase I uses synthetic or publicly released, unclassified, non-CUI data.

Anyone who must defend a decision with traceable assumptions: automotive and heavy-equipment product planning, regulated utility capital planning, and corporate investment committees.

LEDGER is a Phase I proposal submitted to the Army SBIR program on October 21, 2026 and under Army evaluation. Everything on this page is Azcuna Dynamics' own privately funded work.

Figures and ledger rows are from Azcuna's internally funded prototype on representative, unclassified material. The demonstration scenario uses scripted agents; the live-model results come from self-hosted open-weight models. Phase I scope reflects the proposal as submitted to the Department of the Army.