An undated upload stores doc_time = now() with doc_time_source = 'upload_time' (crates/utopia-store/src/documents.rs). That time is when the ledger learned of the document, the transaction axis. Only crates/utopia-store/src/temporal.rs filters on doc_time_source; extraction uses doc.doc_time as if it were the document's own date:
crates/utopia-server/src/extraction.rs passes it to the prompt, where crates/utopia-extract/src/lib.rs tells the model "Document date: {t}. Resolve relative time expressions … using it as the reference." A "today" or "last year" in an undated document resolves against the upload day.
validity_of sets attested_at: doc_time, so facts from an undated document are attested at the upload moment, and open-started facts hold from it.
- name facts are recorded with
doc.doc_time as their time.
Seen on 2026-09-15: every document in the recall-bench KB has doc_time_source = 'upload_time' and doc_time equal to the upload day; a prototype that passed it as "dated" produced "the 2024 statistical bulletin — dated → 2026-09-14".
Expected: a doc_time whose source is upload_time is treated as no document date in extraction (prompt says the date is unknown, no relative resolution against it, attested_at not taken from it). The document's own date should come from the source or from its content.
An undated upload stores
doc_time = now()withdoc_time_source = 'upload_time'(crates/utopia-store/src/documents.rs). That time is when the ledger learned of the document, the transaction axis. Onlycrates/utopia-store/src/temporal.rsfilters ondoc_time_source; extraction usesdoc.doc_timeas if it were the document's own date:crates/utopia-server/src/extraction.rspasses it to the prompt, wherecrates/utopia-extract/src/lib.rstells the model "Document date: {t}. Resolve relative time expressions … using it as the reference." A "today" or "last year" in an undated document resolves against the upload day.validity_ofsetsattested_at: doc_time, so facts from an undated document are attested at the upload moment, and open-started facts hold from it.doc.doc_timeas their time.Seen on 2026-09-15: every document in the recall-bench KB has
doc_time_source = 'upload_time'anddoc_timeequal to the upload day; a prototype that passed it as "dated" produced "the 2024 statistical bulletin — dated → 2026-09-14".Expected: a
doc_timewhose source isupload_timeis treated as no document date in extraction (prompt says the date is unknown, no relative resolution against it,attested_atnot taken from it). The document's own date should come from the source or from its content.