Skip to content

0.0.32

Choose a tag to compare

@b10x-bot b10x-bot released this 07 Oct 02:12
· 197 commits to main since this release
c3d9da3

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.