Skip to content

v0.13.13

Choose a tag to compare

@github-actions github-actions released this 06 Jul 20:16
d38e4c2

Changes since v0.13.10 (0.13.11 and 0.13.12 were develop-only
intermediate versions, rolled into this release).

Changed — librarian timeout durability (#337)

  • A timeout-killed librarian run no longer strands its compile output.
    The nightly pre-dawn sweep bounds the librarian with a wall-clock
    timeout (SIGTERM, then KILL after a grace). Previously a timeout landing
    between the start-of-run pre-processing snapshot commit and the terminal
    librarian: processed N file(s) commit left every wiki page written so far
    uncommitted — silently absorbed by the next run's git add -A
    snapshot under a misleading message. athenaeum run now installs a
    SIGTERM/SIGINT handler for the writing phase that commits partial progress
    with a distinct, greppable message — librarian: partial run (interrupted after N file(s), …CUE F) — and exits 124 (matching coreutils timeout).
    Interrupt-commit contract: an interrupted run leaves the knowledge tree
    clean and attributes its work to a partial run commit, not the next run's
    snapshot. A normally-completing run is unchanged (still one processed N
    commit). The handler is opt-in (CLI-only) so in-process callers (the MCP
    server, tests) keep their own signal handling. Newly relevant under the
    claude-cli backend (v0.13.10), whose per-call subprocess latency makes
    timeouts more frequent.
  • Hardening (post-review): the writing phase is wrapped in try/finally
    so the handlers are restored on every exit path — normal, interrupt, or an
    exception from rebuild_index / the terminal commit — and can never outlive
    the run for an in-process caller. Batch-mode interrupt accounting is
    documented as out of scope (a batch interrupt still commits written pages
    with a clean tree, but reports 0 file(s)). Test coverage over both
    SIGTERM (timeout) and SIGINT (Ctrl-C).

Documentation (#336)

  • Surfaced the claude-cli subscription backend in the two top-level docs a
    reader scans first: the README env-var table now documents
    ATHENAEUM_LLM_PROVIDER (api | claude-cli, default api),
    ATHENAEUM_CLAUDE_CLI_BIN, and ATHENAEUM_CLAUDE_CLI_TIMEOUT; SECURITY.md's
    scope now names the claude-cli subprocess backend (argv-list construction,
    ambient Claude Code auth, neutral-cwd invocation). docs/configuration.md
    remains the source of truth.

Full per-version detail in CHANGELOG.md (§ 0.13.11–0.13.13).