Skip to content

v1.1.0-rc2 — Session E (Ollama + cache + candidates scaffolds)

Pre-release
Pre-release

Choose a tag to compare

@Pratiyush Pratiyush released this 17 Apr 22:21
· 274 commits to master since this release
v1.1.0-rc2
3cd166f

Closes out the code-only tickets in the v1.1.0 scope (Session E).

What's new since v1.1.0-rc1

Added

  • #51wiki/candidates/ approval workflow. New llmwiki/candidates.py module (list / promote / merge / discard / stale_candidates), /wiki-review slash command, llmwiki candidates <action> CLI, 12th lint rule (stale_candidates). Non-destructive discard archives to wiki/archive/candidates/<timestamp>/ with a .reason.txt audit file.
  • #35 — Ollama backend scaffold for local LLM synthesis. New llmwiki/synth/ollama.py (OllamaSynthesizer + config + privacy-by-default localhost check). resolve_backend() picks backend from synthesis.backend config (dummy / ollama). New llmwiki synthesize [--check | --dry-run | --force | --estimate] CLI subcommand. Stdlib urllib only — no new dependencies.
  • #50 — Prompt caching + batch API scaffold. New llmwiki/cache.py module with CachedPrompt, make_cached_block, build_messages, estimate_tokens / estimate_cost / MODEL_PRICING rate card (Sonnet 4.6 / Haiku 4 / Opus 4), and persistent BatchState for message_batches tracking. llmwiki synthesize --estimate prints a cached-vs-fresh token + dollar preview without calling any API.

Fixed

  • #51 follow-up — StaleCandidates lint rule. Added missing Path import so the seeded-wiki lint CI job no longer crashes. Regression test added.
  • #51 follow-up — Python 3.9 f-string compatibility. tests/test_candidates.py had a nested f-string with a backslash that Python 3.9 rejects; extracted the default body into a local variable.

Stats

  • 1524 tests passing, 10 skipped (up from 1431 in rc1).
  • 3 feature PRs + 1 fix PR (#232 #236 #230 #233), all GPG-signed.
  • No new runtime dependencies. All scaffolds are stdlib-only; the Anthropic backend that consumes llmwiki/cache.py lands in v1.2 behind a separate PR.

Still open for v1.1.0 final

  • #118 — interactive force-directed graph viewer (largest remaining code item)
  • #101 / #102 / #129 — manual / UX items