A document retrieval system answers “where is the file that mentions X?” Troml answers “what is true about X right now, and how do you know?”
The second requires everything the first does, plus three things the first does not have: every fragment bound to the entity it concerns, a typed model of the obligations the business has taken on, and a loop that turns human corrections into permanent corpus knowledge.
A deployment that cannot do all three is a search tool. We do not ship it as Troml.
Troml was built inside a live property operation. The public benches are how we test whether the substrate travels. The losses are published because we found them first.
A new vertical is built to this, which is why a second deployment is configuration rather than construction.
Domain identity, entity schema, source taxonomy, and the resolver that binds every fragment to the thing it is actually about. Written before any ingestion code exists.
Scan, classify, extract, de-duplicate, link, write. Two ways of splitting, chosen by document class. Language-model-free wherever the source is already structured.
Obligation and commitment extraction, drafting, domain agents. This is the tier that turns a corpus into a state you can query. It is mandatory.
Several independent search paths, combined and checked for sufficiency, then synthesised into one answer that cites every claim.
Answers about what is true now, assembled across correspondence, documents and extracted obligations. Every factual claim carries a citation. The answer can be checked rather than trusted.
A typed taxonomy of time-bound commitments — deadlines, callbacks, deliverables, promises — pulled from natural language and bound to the responsible party and the entity. This is what separates interrogating a business from searching it.
Every approved human correction enters the corpus and permanently changes future answers. Day-one quality is the floor. The loop is verified live, because a loop that writes and is never read is worse than none.
Retrieval algorithms are public. The differentiation is ingestion, because output specificity is a direct function of input specificity. These rules are enforced on every deployment.
Every fragment is bound to an entity at write time. A chunk that is not tied to the building, client, matter or project it belongs to will bleed into another one’s answer. We never backfill this.
Structured documents are split along their own structure. Policies, minutes, legislation and contracts are cut on the publisher’s hierarchy. People ask questions at clause level. A generic splitter cuts the clause in half, and the miss is invisible.
Chunk text is verbatim. Always. No model rewrites source text on the way in. Dollar limits, dates and conditions survive exactly as written. Rewriting at ingest puts hallucination at the deepest layer of the stack.
Nothing is silently dropped. A record that cannot be matched to an entity is written to an unresolved register, not skipped. If your resolution rate is 85%, 15% of the corpus is unfindable, and that number belongs on a dashboard.
Re-running ingestion is always safe — idempotent at two levels, batch and row. A nightly job that runs for years must not duplicate work or re-bill for it.
Language models are used only where structure is absent. Parsing a CSV with a known schema does not need a model. Model calls in the ingest path add cost, latency and non-determinism.
We do not need to hire your industry before we start. Domain conventions come out of failure diagnosis. Your operators still approve the corrections. The expert is not gone. The six-month workshop is.
General-purpose AI cannot answer. It has no record of what you said, and no concept of an obligation with an owner and a date.
Troml lists each commitment extracted from the correspondence, who made it, when it fell due, and what has happened since — assembled from the emails and documents themselves.
General-purpose AI describes what firms in your industry typically decide. Confidently. Without ever having seen your file.
Troml surfaces the prior instances, the decision taken, and any correction your team later made — each cited to its source.
General-purpose AI summarises what policies of this type usually cover. That is the failure mode that gets people in trouble.
Troml quotes the governing clause verbatim from your document, with its section reference, and states plainly when the corpus does not contain an answer.