Extract
Every checkable claim a document actually states — figures, dates, roles, obligations — pulled out as a standalone fact with its own type, value, unit and time scope.
fact_type is chosen by the model, not picked from a list.
The fact knowledge layer
FactPulse extracts every checkable claim from a PDF, pins each one to the exact rectangle it came from, and works out whether facts across documents agree, genuinely conflict, or only look like they do.
RBI Annual Report · p6
The global economy grew by 3.3 per cent in 2024.
Economic Survey · p5
The IMF projected global growth of 3.2 per cent for 2024.
differs by definition
One is an outcome, the other a forecast. Same metric, same year, and not a contradiction — the engine names the axis instead of raising a flag a human then has to investigate.
What happens to a document
PDF → text + layout
~900 tokens, overlapped
facts, typed by the model
quote → page → bbox
cosine → verdict
Every checkable claim a document actually states — figures, dates, roles, obligations — pulled out as a standalone fact with its own type, value, unit and time scope.
fact_type is chosen by the model, not picked from a list.
Each fact carries the verbatim quote that supports it, the page it sits on, and the rectangle it occupies. A quote that cannot be found in the source is flagged, not kept quietly.
No fact exists here without a page and a box you can point at.
Facts from different sources are compared against each other. Two documents agreeing raises confidence; two genuinely conflicting under the same scope is surfaced as a contradiction.
Every verdict comes with a rationale citing both sides.
Most apparent conflicts are not conflicts. $4.2M and $5.1M disagree until you notice one is FY2024 consolidated GAAP and the other CY2024 non-GAAP — and a resigned director is not a contradiction, it is a change.
Different period, scope, unit, basis — or simply a later date.
0 of 0 facts · whole knowledge layer
loading facts…