You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Changed
ekr explain --documents and the MCP explain tool with documents: true answer at most
64 KiB of each evidence record, centred on the cited text (the first string value of an
assertion on the chain that the record holds), instead of the whole record. A link that answers
less than its whole record carries offset, record_length and truncated: true; a record
within the bound is answered whole and unchanged. Proposal records and commit receipts are
still answered whole.
Added
ekr explain --documents --offset N --limit N, and offset and limit on the MCP explain
tool, read any byte range of each evidence record. Offsets are raw byte offsets: a range that
cuts a character answers payload without text. Steps of limit from offset 0 to record_length reassemble the record byte for byte. Both refuse without documents, and a limit of 0 is refused.
An ekr.postgres/1 configuration takes an optional password_file holding exactly {"password": "..."}, the document a saved PostgreSQL connection hands a launched program, so
the connection file and the configuration directory hold no secret. An absolute path such as /proc/self/fd/3 is used as written. A connection file that already carries a password, a
document with another field or a non-string password, and a document over 64 KiB are refused
as postgres-configuration without echoing the value.
Fixed
A running ekr mcp, ekr view or ekr session no longer answers a discarded revision after
its SQLite store is restored to an older snapshot through SQLite's online backup and a new
commit reuses the revision number. Their indexes and /projection and /roles answers are
kept under the revision's identity — its revision id and root — and each read drops one the
store no longer holds, so search, overview, describe_node, expand, timeline and changes_since answer the new revision. While anything is kept, a read also reads the store's
retained transaction records. ekr_views::LoadedRevisionEntry carries each revision's revision_id and root; ekr_views::RevisionIdentity and ekr_views::Lineage are new.