Repository navigation
0.0.34
Added
-
ekr compare --other <store>says whether two stores hold the same knowledge, on any providers,
each at its head or at--atand--other-at: theekr.store-comparison/1document, equal or
not, and per category (types, properties, nodes, edges, assertions, evidence) the counts on each
side and the first differing ids with the fields that differ. Commit times and transaction ids
are not compared, so two stores built from the same documents at different times compare equal.
It writes to neither store.docs/cli.mddescribes it. -
A schema change can cite the evidence that introduced it.
!CiteEvidence <evidence id>beside
the schema changes of a transaction names evidence the store retains, or evidence an
!AddEvidenceof the same transaction adds, and that!AddEvidenceno longer makes the
transactionmixed-schema-transaction; any other data operation still does. The schema version
the commit makes records every cited id, andekr ontology(with or without--at) prints them
asschema_version_evidence. Under validation profiles v2 and v3 only; v1 refuses the kind as
unsupported-operation. A citation is refused asunresolved-evidence,
citation-without-schema-change,duplicate-citationorevidence-set-mismatch(the cited id
belongs intransaction.evidence).ekr operationslists seventeen kinds. A version that cites
nothing encodes as before, so no existing ontology root moves; a store holding a citing version
is refused by earlier binaries. The projection (ekr.graph-projection/1, whatekr view
serves at/projection) carries a version's citations asevidenceon itsschema.versions
entry, omitted when it cites none, so a projection without a citation is unchanged; the viewer
page does not display them yet. Inekr-sdk,read::Ontologycarries
schema_version_evidence, andTransactionBuilder::buildrefuses a citation without a schema
change asDocumentError::CitationWithoutSchemaChange, the kernel's
citation-without-schema-change, rather thanMixedSchemaTransaction.
Changed
-
One-shot
ekr snapshotandekr ontologyanswer from the retained replay checkpoint, which
serves as a persisted read model, when the kernel verifies it for the revision read. They then
load the revision's record, the seed envelope and every evidence payload, and decode the
record with the checkpoint. They replay nothing and no longer read, hash or decode every record of the history
(design § 108). Answers are byte for byte what a complete read prints. A model that does not
verify is ignored, and the read answers as before.- Still served by a complete read, as before: a snapshot of a head past the checkpoint's
revision (up to four commits made one process each, § 99.5.1), a snapshot--atany revision
other than the checkpoint's, a schema changed since the checkpoint, any head read after a
proposal or validation no checkpoint pointer covers yet,--full-replay, and every read after
the first on a long-lived handle (ekr session). - A retained record damaged after the checkpoint pointer that covers it was written is no longer
refused by anekr snapshotorekr ontologyserved from the model, which does not load it.
This is whatekr headalready did since § 99.2. The next read that loads the record refuses
it: any write verb,ekr explain,ekr transactions, or any verb under--full-replay.
A damaged or absent seed envelope or evidence payload is still refused by both verbs: the
model loads and verifies each one a complete read requires (design § 108.2 item 7).
- Still served by a complete read, as before: a snapshot of a head past the checkpoint's
-
overviewanswersekr.graph-overview/2and takessections, any ofontology,schema,
rolesandtimeline, onGET /overview(sections=ontology,schema), the MCP tool
("sections": ["ontology"]) and the session verb (--sections ontology,schema). Named none, the
answer is the counts, the type counts and the top nodes only, so its size no longer grows with
the ontology's properties, the schema's versions or the revisions committed. Named all four, it
isekr.graph-overview/1's content under the new format name. A section not named is absent,
never empty. A client that reads the ontology, schema, roles or timeline fromoverviewnow
names them; the viewer page and the SDK'sReader::overviewname all four. The SDK's
Overviewholdsontology,schema,rolesandtimelineasOptions, and
Reader::overview_sectionsnames the sections to read.