Deliverables
One dossier, three renderings — a workbook whose formulas stay live, a deck, a memo — and a bundle that publishes all of them or none. Written, tested and packaged; not yet run by an agent.
Shipped in the current build. You can do this on your own machine today.
EvidenceSince 0.0.28 a real agent has done it. A native run on 2026-09-10 filed into a shared dossier, sealed it, and composed the three files from it; an independent reader re-opened all three. What still has not happened is a clean one: that bundle was sealed one revision too early, its manifest names the wrong version, and the dossier re-sealed afterwards came from a maintenance test rather than from the distributed binary. The path exists and has been walked; it has not been walked correctly end to end, and this page will say so until it has.
#Why one dossier and not three documents
A workbook, a deck and a memo composed separately diverge at the first corrected figure — and nobody notices, because nobody recalculates a deck. So they are not three deliverables: they are one, rendered three times. The three engines read the same financial dossier and the same evaluation, which makes divergence impossible by construction rather than watched for afterwards.
The dossier carries no rendering. No colour, no font, no cell address enters it. An agent that fills the contract does not know what the file will look like, and that is deliberate: an agent never renders an interface — it fills a contract, and Finexia owns the output.
#What the contract refuses
A dossier is checked before a single byte reaches the disk. Each refusal below is a named error in the core, not a warning in a log — and each one exists because the alternative is an opinion formatted as data.
| Refused | Why it is refused |
|---|---|
| A dossier with no observed fact | There would be nothing to check the reasoning against. |
| A fact without a source | A figure without provenance is the one rule that keeps a workbook from becoming an opinion in a grid. |
| An assumption without a rationale | An assumption with no reason is a guess presented as an input. |
| A duplicate identifier or source | An identifier names one thing. |
| A scenario that overrides an undeclared assumption | It would move a number nobody can trace back. |
| A sensitivity with no steps to walk | It announces a range and produces none. |
| An empty narrative section | An empty section reads as a missing one. |
| A currency code that is not one | The unit check depends on it. |
#Facts, assumptions, computations, sources
- A fact carries an identifier, a value, a unit, a period, whether it was observed or estimated, and the source that holds it.
- A source carries its address, the date we read it, the period it covers, the metric taken from it and that metric’s unit. The read date is the only date Finexia knows for certain.
- An assumption carries its rationale. Scenarios override declared assumptions and nothing else.
- A computation is written in the bounded language below — never as a spreadsheet formula supplied by the model.
#The bounded computation language
The language is deliberately poor: no conditional, no loop, no function the model names itself. Sixteen financial operations that can be read, checked and translated. A rich language would be a language nobody re-reads.
| Operation | What it does |
|---|---|
| fact · assumption · derived | Refers to a declared value by its identifier. |
| number | A constant — a divisor, a month count. It takes the unit of what it multiplies. |
| sum · difference · product · average | The arithmetic, with the unit checked at each step. |
| quotient | Protected division: a zero denominator refuses the dossier instead of producing a spreadsheet error. |
| growth | End over start, as a percentage. |
| margin | Part over total, as a percentage. |
| cagr | Compound annual rate over a stated number of years. |
| discount | A flow brought back at a rate over a number of years. |
| terminal value | Gordon: a flow, a growth rate and a discount rate. |
| bridge | A starting point and its successive movements. |
| absolute gap · relative gap | Expected against obtained. |
EvidenceUnits and periods are checked at every combination. Adding dollars to a percentage is a mistake no spreadsheet reports and that reads like a result; here it refuses, and says which two things could not be added.
#One expression, two translations
Each computation leaves the language twice. As a number — which is what the checks use, and what the deck and the memo print. And as a live formula pointing at the facts, so the workbook still pulls under an analyst’s fingers instead of arriving as a grid of frozen values.
That is the whole reason the three files agree. The deck does not carry figures of its own; it carries the ones the model computed. A deck holding numbers calculated elsewhere would drift, and the drift would go unmeasured.
#The bundle publishes all of them or none
- The agent describes the dossier once and names the formats it wants.
- The engines write into a staging area, not into the data room.
- Each written file is re-opened by a path other than the one that wrote it, and the figures that matter are looked for inside it — a engine can lose a value on the way out, and no unit test catches that.
- A memo page carrying no text is refused: a memo rendered as images cannot be searched, quoted or checked by a reviewer.
- If every format survives, all of them are published together. If one fails, it takes the others with it and the data room is left clean — a half-written bundle is the one where two files out of three get attached to an email.
- A manifest is sealed alongside: what was written, with which digest, from which sources.
#One dossier becoming three files
Still missingENGINE DEMONSTRATION — NO AGENT RUN RECORDED. What follows is the shape of the passage, derived from the contract in the core. It is not a run: no agent has called these tools, and the engines were exercised from their own tests, with fixture sources. No figure from those fixtures appears on this site — they are orders of magnitude that prove an engine, not a reading of any company.
DossierFinancier one contract, filled by the agent
├── facts id · value · unit · period · observed|estimated · source
├── sources address · read on · period · metric · unit
├── assumptions value · rationale
├── computations bounded language, checked for unit and period
├── scenarios overrides of declared assumptions only
├── checks expected against obtained
└── narrative thesis · risks · limits · missing
│ one evaluation — the numbers computed once
▼
┌───────────────┬───────────────┬───────────────┐
│ workbook │ deck │ memo │
│ .xlsx │ .pptx 16:9 │ .pdf A4 │
│ live formulas │ printed value │ printed value │
│ pointing at │ from the same │ from the same │
│ the facts │ evaluation │ evaluation │
└───────────────┴───────────────┴───────────────┘
│ each file re-opened by another path
▼
bundle — all three or none, plus manifest.json| Rendering | What the dossier becomes | What is checked after writing |
|---|---|---|
| Workbook | Facts, assumptions, computations and sources on separate sheets, with formulas that still point at the facts. | The file is re-opened and the formulas are found again. |
| Deck | A 16:9 sequence whose sections follow what the dossier carries — a section with nothing behind it is not written. | The file is re-opened, its relationships and its text checked. |
| Memo | An A4 document with selectable text, limits as a section of their own. | The file is re-opened and a page without text is refused. |
LimitNo thumbnail of a deck and no page of a memo is shown here. The inspection files produced by the engines’ own tests live in a temporary directory and were never sealed into an evidence bank, so there is nothing to show that would not be a mock-up. When a bank carries them, this section will show them and say which build they came from.
#The manifest, and what is redacted in it
The manifest names the bundle, the entity, the currency, the as-of date, the product version that wrote it, each file with its size and its SHA-256 digest, the declared sources, the values the model computed, the limits and the missing data. It is the file you open when you do not want to open everything.
LimitSource addresses are redacted in the manifest. It travels with the files — to a reviewer, to an archive, to an email — and an address can carry a key in its query string without the agent that declared it ever noticing.
#What is available, and what is not
- AVAILABLEWorkbook engine (XLSX)Compiled into the build, writes the file, re-opens it, and carries live formulas pointing at the declared facts.
- AVAILABLEDeck engine (PPTX)Compiled into the build, 16:9, sections omitted when the dossier carries nothing for them. macOS opens and renders the result.
- AVAILABLEMemo engine (PDF)Compiled into the build, A4, selectable text, and a page without text is refused. macOS opens and renders the result.
- AVAILABLEAtomic bundle and sealed manifestAll three formats or none, with digests and redacted sources.
- PLANNEDAn agent producing these files in a real runIt happened on 2026-09-10: four analysts filed 138 contributions into one shared dossier, and three files were composed from what was sealed. The reservation moved rather than disappeared — the seal fell one revision too early, so the bundle carries 82 of those contributions and not 138.
- PLANNEDIndependent review of a produced bundleThe re-open check is written by the same project that writes the engines. A reviewer outside it has not opened one of these files against its manifest.
#What would move this to verified
Nothing here is graded on effort. A run that produces three files is not proof by itself — the proof is what can be checked afterwards by someone who was not there. Seven things have to exist together, and the 0.0.24 report says none of them does yet 1.
| What is needed | Why it is not optional |
|---|---|
| A real agent run, from a desk | The engines have only been called from their own tests. A run puts a provider, a mandate and a capability check in the loop. |
| The path of each file | A deliverable nobody can open is an assertion. The path says where the data room put it. |
| The size in bytes | A zero-byte file that reports success is the failure mode a re-read exists to catch. |
| A SHA-256 per file | It is what lets a reviewer say the file they opened is the file that was produced. |
| The verdict of the independent re-read | Written by a path other than the one that wrote the file, and reported — not assumed. |
| Screen captures of the three files | Sealed against the build that produced them. A rendering claim needs a rendering. |
| The sources and the checks that travelled with them | A figure without provenance does not ship, and a check that was never run is not a check. |
Still missingThis list is the standard, not an apology. Any of these seven can be produced in an afternoon; producing six of them and calling the result verified is what this page exists to prevent.
#What still limits this
- The formats are an international published standard, not a private one — but rendering agreement is only claimed where it was seen: macOS opened these files 4.
- The workbook capability is held by the accounting role, and the deck, memo and bundle capabilities by the deal-lead role. A request for a format convenes the role that owns it, even when the sentence contains no word from that trade.
- No delegation tree produced any of this: the sub-agent boundary is written, tested, and still called by nothing.
#Sources
- Finexia OS — product state at 0.0.24, providers and MCPFinexiaInternal document, not published
- Finexia OS — product state at 0.0.23FinexiaInternal document, not published
- The tool registry, mirrored on this siteFinexiaInternal document, not published
- ISO/IEC 29500 — Office Open XML File FormatsISO/IEChttps://www.iso.org/standard/71691.html