Rebuild the in-memory JTMS and taxonomy from the persistent stores — the store-to-belief
recover, and the two rebuild steps and the certificate it composes.
It sits just below vaelii.core, above settle, so the two callers that recover a store
both reach it downward and neither reaches up: vaelii.core exposes it as the public
recover, and vaelii.impl.io.import recovers the records a dump just landed
(docs/namespaces.md, "The layering"). recover orchestrates the layers below —
rebuild-tms over the JTMS, special/rebuild-taxonomy, the roster rebuilds in kb, and
the closing settle — so the top of that orchestration lives here rather than inside any
one of them. The contract recover holds to is on vaelii.core/recover; docs/taxonomy.md
and docs/nmtms.md carry the mechanism.
Rebuild the in-memory JTMS and taxonomy from the persistent stores — the store-to-belief `recover`, and the two rebuild steps and the certificate it composes. It sits just below `vaelii.core`, above `settle`, so the two callers that recover a store both reach it downward and neither reaches up: `vaelii.core` exposes it as the public `recover`, and `vaelii.impl.io.import` recovers the records a dump just landed (docs/namespaces.md, "The layering"). `recover` orchestrates the layers below — `rebuild-tms` over the JTMS, `special/rebuild-taxonomy`, the roster rebuilds in `kb`, and the closing `settle` — so the top of that orchestration lives here rather than inside any one of them. The contract `recover` holds to is on `vaelii.core/recover`; docs/taxonomy.md and docs/nmtms.md carry the mechanism.
(recover kb)The implementation of vaelii.core/recover — rebuild the in-memory JTMS and taxonomy
from the persistent stores. The public contract, and when a caller runs it, are on
vaelii.core/recover; the mechanism is here and in docs/taxonomy.md.
What the taxonomy ends up holding is a composition, and the contract is the whole
of it rather than either half. The JTMS is rebuilt first, so there is belief to read.
The taxonomy then replays every stored special-predicate sentex rather than the
believed ones — :support must record every asserting sentex, or a disbelieved
supporter would be lost and clearing its defeat could never revive the entry
(docs/taxonomy.md) — so that replay over-reads by construction, and the reconcile
against belief immediately after it is what narrows the caches to what the KB entails.
Belief is settled last.
The implementation of `vaelii.core/recover` — rebuild the in-memory JTMS and taxonomy from the persistent stores. The public contract, and when a caller runs it, are on `vaelii.core/recover`; the mechanism is here and in docs/taxonomy.md. What the taxonomy ends up holding is a **composition**, and the contract is the whole of it rather than either half. The JTMS is rebuilt first, so there is belief to read. The taxonomy then replays every **stored** special-predicate sentex rather than the believed ones — `:support` must record every asserting sentex, or a disbelieved supporter would be lost and clearing its defeat could never revive the entry (docs/taxonomy.md) — so that replay over-reads by construction, and the reconcile against belief immediately after it is what narrows the caches to what the KB entails. Belief is settled last.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |