FACTUM

Catalogue

Declared questions, not open-ended ones.

Factum answers only questions that have been declared in advance: a checklist, the rules that answer it and the boundary of what it certifies. 16 report types across 7 shelves are in the running catalogue.

Each entry is the report type's own declaration, as the engine states it, limits included. A new version of a report type does not reinterpret an old certificate. Company names are generalized.

logistics1

Demurrage / detention invoice — completeness under 46 CFR part 541
fmc-demurrage-detention-invoice-completeness
Reads HTML, EDI. Declares 18 data points · 2 statement points · 4 arithmetic points · 5 sections.
Commercial contract — first-pass review
commercial-contract-first-pass-review
Reads HTML. Declares 1 data point · 9 statement points · 5 sections.
11 of 12 obligated questions are answerable today; 1 is blocked and it names its blocker. A certificate answers what is answerable and names the rest.
Contract revision - what changed between two declared drafts
contract-revision-comparison
Reads HTML. Declares 9 statement points · 5 sections.
Compares a DECLARED PAIR of contract drafts - the baseline and the candidate, roles declared by the caller and never inferred - on the first-pass review checklist: per item, unchanged, changed, removed or added, naming the equality rule and the checklist version. It does NOT certify which draft is correct, the legal effect of any clause or change, or completeness beyond the checklist; a clause reported as removed is one no declared form located in the candidate, never a statement that the agreement lacks the obligation. Send both drafts to POST /certify-revision.

finance5

SEC filing — internal consistency of one rendered financial statement
sec-filing-self-consistency
Reads HTML. Declares 15 data points · 5 computations · 3 sections.
15 of 18 questions are answerable today; 3 are blocked and each names its blocker.
Earnings release against the filing it restates
earnings-release-vs-filing
Reads HTML. Declares 3 data points · 1 section.
4 of 6 questions are answerable today; 2 are blocked and each names its blocker.
Credit agreement — financial covenant compliance
credit-agreement-covenant-compliance
Reads HTML. Declares 2 data points · 4 statement points · 2 sections.
3 of 10 questions are answerable today; 7 are blocked and each names its blocker.
Internal report against the filed figures — A NAMED STUB
internal-report-vs-filed-figures
Reads HTML.
A DECLARED STUB. This report type has NO document in any corpus here and none is public - an internal report is by definition not filed - so 5 of 5 questions are blocked by the CORPUS before any machinery. A certify run of it REFUSES at the report type and names the blocker; it does not emit gap lines, because a gap line asserts that a document was read and was silent, and nothing was read.
Trade-proposal arithmetic - every line's quantity x unit price and every grand total, recomputed exactly
trade-proposal-arithmetic
Reads XLSX.
Certifies the ARITHMETIC of a single-sheet xlsx trade proposal, read from the workbook's bytes: each line's quantity x unit price recomputed exactly from the stored cell values rounded at the places their number formats declare, compared with the stated line total under a declared rounding rule, and each grand total recomputed from the stated lines. Each is CONSISTENT, INCONSISTENT or refused by name - a price in another currency with no declared rate, a total that matches only at an undeclared power of ten, a line or total that cannot be read. It does NOT certify that the prices are fair, current or correctly sourced, that the quantities are the ones intended, or anything about a cell the declared columns do not name.

brief1

Brief citation check — existence, identity and quotation against a stated corpus
brief-citation-check
Reads plain text. Declares 1 section.
Verifies EXISTENCE, IDENTITY and QUOTATION against a stated corpus of held opinions. It consults NO CITATOR, so it says nothing about whether a case was later reversed, overruled or superseded, and it does not certify that a citation supports the proposition it is offered for. A citation reported as not located is a statement about the corpus searched and its stated date. Scanned filings with no text layer are refused by name; OCR is not built.
A recorded run: The citations report

reconciliation1

Entity reconciliation - every subject key in exactly one disposition under the declared registry and recorded merges
entity-reconciliation
Reads CSV, HTML, EDI.
Certifies how the tenant's DECLARED entity registry and RECORDED merge events resolve each distinct subject key of the document: every key in exactly one disposition, every standalone key named, and each input counted exactly once. It does NOT certify that no real-world entity is split - an unmatched spelling of a known entity is standalone by design and is reported, not guessed - nor that keys joined by a declaration or a recorded merge ARE one entity beyond that declaration or event.

dev-records2

Dev-records structure index - sections, fences and links of a markdown development document, with line coordinates
dev-records-structure-index
Reads plain text.
Certifies the STRUCTURE of a markdown development document, sent as text/plain: every section its headings open, with line spans and fence counts, its fenced code blocks, and its links, with internal links resolved against the document's own headings and anchors under the common heading-slug convention. It reads NO meaning - nothing is summarised or judged - and its three findings (an internal link resolving to no heading, headings sharing an anchor, a fence with no language tag) are reported, not judged. External links are never fetched.
Dev-records reading - a markdown development document read into its claim-bearing lines, verbatim with line coordinates
dev-records-reading
Reads plain text.
Certifies a COMPACT READING of a markdown development document, sent as text/plain: the structure index above, plus each section's claim-bearing lines - headings, table rows, the first line of every paragraph and list item (and one more where its first sentence wraps), and any line carrying bold - every one VERBATIM at its own line coordinate, with every dropped line counted. It is a SELECTION and is certified as one: it does not attest that it carries every fact the document states, and it reads no meaning.

narrator4

Energy company — financial summary
energy-financial-summary
Reads HTML. Declares 13 data points · 7 computations · 4 sections.
Retail company — financial summary
retail-financial-summary
Reads HTML. Declares 4 data points · 3 sections.
COVID-19 — Brazil, 22 January 2020
covid-country-day
Reads CSV. Declares 3 data points · 2 computations · 2 sections.
GDP — United States (the shape the store cannot answer unambiguously)
gdp-country-profile
Reads CSV. Declares 2 data points · 1 section.

Composed checklists

A checklist of one's own is composed from the items above. A composition names report types and takes some of their items: data points, statement points, computations, arithmetic checks.

It is sent with the document on the same certify call. The certificate answers exactly the items taken, under the same rules and the same boundary as the report types they came from.

A composition takes declared items. It does not write a question. A question no report type declares is added to the catalogue as a declaration: a checklist, the rules that answer it, and the boundary of what it certifies.

That is how any question comes to be asked of Factum. It is declared first, in the open, and then it is asked the same way every time.

A question that is not here

A document sent under a report type that is not registered is refused by name, and the refusal lists the types that are. Factum does not answer a question nobody declared.