• v3.10.0 b0a8e9e19c

    v3.10.0
    Some checks failed
    Release / Create Forgejo release (push) Failing after 19s
    CI / Docker image build (push) Successful in 54s
    CI / Backend lint (ruff) (push) Successful in 1m39s
    Release / Build and push versioned images (push) Successful in 1m16s
    CI / Frontend tests, audit, and build (push) Successful in 2m35s
    CI / Bot tests and audit (push) Successful in 4m55s
    CI / Backend migration, tests, and audit (push) Successful in 7m42s
    Stable

    claude-bot released this 2026-07-22 02:17:42 +00:00 | 602 commits to main since this release

    GM Workbench: campaign-grounded generation, right where you plan.

    GM Planning becomes a GM Workbench — a unified surface of AI tools that read your campaign's lore, plot threads, and session history to generate material you can drop straight into play or land into the wiki, all through one generation engine with a persistent scratchpad and the existing draft-review rail (nothing auto-overwrites your canon). BOT_CONTRACT_VERSION stays 1; no new migrations beyond the Phase-0 scratchpad table.

    Added

    • Generation engine + scratchpad foundation — a tool registry and one generalized POST …/workbench/{tool}/generate endpoint (sync inline or async via Celery), an extracted LLM transport, and a GenerationResult history/scratchpad. (#134, #136, #138)
    • Read-aloud descriptions, rumor mill, random tables, loot parcels, the flagship session prep sheet, instant NPCs + voice cues, and recurring-series title suggestions — each grounded in your campaign and landing through the draft-review rail. (#141, #144, #147, #149, #158, #155, #191)
    • Two-pane Workbench layout — a grouped tool palette, a center generation surface, and a persistent history rail. (#153)

    Changed

    • "GM Planning" is now the "GM Workbench" — renamed throughout (nav and header), with the eight generator tools collapsed onto one config-driven panel. (#234)
    • Searchable lore grounding — a searchable, type-grouped picker replaces the flat checkbox list, scaling to large campaigns. (#234)

    Fixed

    • Reasoning LLMs no longer break structured generation — json-mode llama.cpp / vLLM calls disable the model's think block (chat_template_kwargs.enable_thinking=false), so reasoning models (e.g. Qwen3) work with the Workbench.
    • "Nothing to convert" is no longer an error — stat conversion on an entry with no mappable stats shows a gentle informational note (nudging you to generate a stat block from scratch) instead of a red failure banner. (#233)
    Downloads