Skip to content
This repository was archived by the owner on Jun 13, 2026. It is now read-only.

v0.2.0

Choose a tag to compare

@JimJafar JimJafar released this 28 May 20:22
· 9 commits to main since this release

Added

  • Release runbook + per-repo release doc. A new
    docs/release.md captures the per-repo release
    steps (package.json bump, CHANGELOG move, tag, GitHub release,
    then npm publish — this is the only plugin in the family with an
    npm artifact
    ). AGENTS.md is thinned and points at it; the
    cross-family runbook lives in the monorepo at
    the-librarian/docs/release-runbook.md.

Changed

  • Sessions rethink — breaking change (sessions-rethink PR 4). The
    entire session-lifecycle stack is retired in favour of a four-verb
    agent surface. The OpenCode plugin had the heaviest hook surface of
    any harness; this PR is correspondingly the largest deletion:
    • Removed hooks: chat.message (privacy gate), event switch
      on session.created / session.idle / session.compacted. Only
      experimental.chat.system.transform survives, and only to do
      conv-state injection (spec §4.9).
    • Removed handlers: src/handlers/chat-message.ts,
      checkpoint-policy.ts, session-bootstrap.ts,
      session-compacted.ts, session-created.ts, session-idle.ts.
    • Removed source: src/state-store.ts, src/privacy-detector.ts,
      src/mcp-parse.ts. The state-store file (with its per-cwd lock)
      and the natural-language private detector are gone — private mode
      is now an in-conversation [librarian:private=on|off] marker the
      LLM handles directly via /toggle-private.
    • Removed commands: the seven commands/lib-session-*.md files.
    • Added commands: commands/handoff.md, takeover.md,
      learn.md, toggle-private.md — installed via the existing
      ensureCommands mechanism at plugin init (instead of on
      session.created).
    • Server compatibility: requires a Librarian server running the
      sessions-rethink PR 1 build (the store_handoff / list_handoffs
      / claim_handoff and conv_state_* MCP tools must exist).
    • Migration: existing operators should restart opencode. The
      install dir is now resolved via LIBRARIAN_COMMANDS_DIR (override)
      then $XDG_CONFIG_HOME/opencode/commands, then
      ~/.config/opencode/commands. The old lib-session-*.md files
      written by prior versions can be deleted by hand — the new build
      never touches them.

Added

  • Conv-state injection via experimental.chat.system.transform.
    Implements §4.9 of the upstream memory-domain-isolation rollout. A
    new handler fires once per turn after opencode assembles the system
    prompt, resolves the calling conversation_state row via
    conv_state_get, and .push()es the canonical
    <conversation-state> block onto output.system. The LLM sees the
    current domain / session_id / off_record on every turn,
    defeating context-compaction-driven state loss. Fail-soft per
    AGENTS.md §2 — off-record / missing sessionID / missing row /
    network failure / timeout / unexpected throw all leave
    output.system untouched.
  • AGENTS.md §5 — monitoring plan for the experimental hook. Four
    mechanisms (pinned SDK + CI typecheck; CHANGELOG grep on bumps;
    namespace-graduation watch; quarterly eyeball re-test) so the
    experimental.* namespace can be tracked without surprise.

Changed

  • Privacy detector documentation: AGENTS.md §2 and §4 updated to
    reflect that the canonical TS source in the-librarian was deleted
    when the family went fully standalone. The privacy detector is now
    one of five peer implementations across the family (Claude Code,
    Codex, Hermes, this repo, Pi); coordinate any marker-list change
    across all five repos.
  • scripts/validate.ts: removed the byte-identity check against
    the canonical TS source (the canonical no longer exists). All other
    shape checks (package.json, entrypoint, commands frontmatter) are
    unchanged.