* fix: exclude the character's own name from the max_attributes budget (#162)
* fix: stop the unified character prompt spending an attribute slot on the name (#162)
* fix: keep an unbudgeted Name wherever it sits in the sheet; pin the cap instruction (#162 review)
* docs: describe the Fast-mode prompt change rather than the sheet it produces (#162 review)
* feat: make action enable toggles scene-overridable by default and scene-aware quick-toggle chips (#155)
* fix: address PR #157 review — effective-value reads outside the agent panel, refusal reconciliation, no scene write per chip toggle
* fix: restore the agent-settings opt-out flag when an override write fails
* Card import: keep the card's description and example dialogue when generation fails (#154)
* Document the empty-description contract and scope the import fallback note (PR 156 review)
* Scope the import fallback admonition title and link Fast Character Generation (PR 156 review round 2)
* fix(agent settings): honor config conditions in the scene-override panel (#143)
* fix(agent settings): keep active scene overrides visible when their gate closes (#143 review)
* test: derive DEFAULT_CONSOLIDATE from production and pin the shipped Consolidate default (#149)
* test: tighten test_consolidate_default comment to what the pin actually catches (PR #150 review)
* fix: one header per application settings page (#148)
* fix: registry-owned page header copy, searchable for markup descriptions (#148)
* fix: host descriptionHtml in a div, not an inline span (#148)
* fix#147: pass the imported character as sheet-prompt context in split-mode card import
* test: pin the default-config split-import sheet prompt content (#147 review)
* fix: Pocket TTS reloads the model after a HF token is set so the gated voice-cloning download is retried (#133)
* review: limit unused-api agent details to warnings, honor env HF_TOKEN in reload decision
* review: clear stale exported HF_TOKEN, resolve tokens via get_token, semantic surface_when_unused flag on AgentDetail, color Literal, negative filter test
* review: restore displaced user HF_TOKEN when config token is cleared, move reload test back to its class
* review: reset env-token bookkeeping on out-of-band change, honest docstring, steady-state and collision round-trip tests
* review: pin adopt-newest recapture round-trip, localize failure in bookkeeping-reset test
* review: pin out-of-band deletion recapture (restore target becomes unset)
* fix: system_time template function crashed on Windows (glibc-only strftime codes) #131
* review: type system_time format as Literal, pin C locale in exact-string tests
* fix: node code bugs from docstring audit (#115) - runtime crashes, phantom/duplicate sockets, registry typo aliases, property default mismatches
* fix: address PR #122 review - register template scene types on intent_state, StageExit node_state_pop, annotations, shared graph-test helpers, migration round-trip test
* docs: correct the circular-import chain named in apply_to_scene's deferral comment
* fix: SetScenePhase defaults to the shipped roleplay scene type instead of an empty string that errors on run
* fix: refuse deleting the save file of the currently loaded scene (#114)
* refactor: extract shared active-scene realpath helper, pin full_path-None delete behavior (PR #121 review)
* docs: note that the loaded scene's save file and project cannot be deleted; broaden delete test module docstring (PR #121 review)
* ux: make quick-load recent scene cards smaller and responsive to viewport (#117)
* ux: fit a full 10-entry quick-load list in one row at the landing container max width
* fix: spawn pi via resolved binary path and quiet missing-pi startup (#116)
* fix: pass pi system prompt as a file and resolve the binary once (#116 review)
* docs: complete node editor node reference glossary (#107) - generated by new nodes.tools glossary subcommand, 47 categorized pages covering all 403 nodes, docstring gap fixes, help-agent docs-index entries
* docs: fix Jinja2 Format discoverability - document dynamic-input template variables, move node to string page, link key inference from dynamic-input notes, strip links from index summaries
* help agent: keep node reference out of the chat prompt - collapse glossary entries to one pointer line (~19k chars saved), agent retrieves node info via search_docs/read_doc tool calls
* help agent: replace in-prompt docs index with find_docs lookup tool - prompt carries a 13-line section overview (~1.5k chars vs ~66k), pages located via keyword-scored find_docs at runtime
* changelog: help agent prompt slimming + find_docs lookup
* docs: sort node reference index and nav alphabetically by page title
* review: move module constants into top-of-file constant blocks (glossary MAX_DEFAULT_LENGTH; docs SECTION_DESCRIPTIONS, _FIND_STOPWORDS, FIND_DOCS_LIMIT)
* review: word-boundary find_docs scoring with plural/-ing folds, find_docs+section_overview unit tests, jinja2 template field description override
* docs: help agent overview no longer claims an in-prompt index of all documentation pages
* docs: full node docstring audit pass - 335 classes audited by 5 agents, ~89 accuracy fixes (nonexistent/misnamed sockets, wrong behavior claims), ~94 expansions, 5 factually-wrong PropertyField descriptions corrected, glossary regenerated
* refactor: move application settings from modal to main-view Settings tab with sidebar nav, search, and dirty tracking (#108)
* fix: address settings-view review findings (system prompt defaults lost after save, dirty-on-type for prompt overrides, scoped embeddings busy-lock, external-change false positives)
* style: give settings pages a surface-colored canvas so reused editors blend like they did in the modal; anchor env variables in a card with empty state
* style: rename settings groups Creator->Storytelling and General/Gameplay->Game/General, distinct group icons; drop content-classification influence claim
* docs: refresh settings screenshots for the Storytelling and Game/General relabels
* fix: address PR review - decouple settings working copy from shared ws payload, clear saving flag on failed save, gate help-agent config writes on dirty state instead of open settings view, data-drive provider icons
* chore: drop dead null-guard on system-prompt-defaults binding (card is v-if gated on app_config)
* docs: update remaining pages describing the removed settings modal (apis/, client presets, outline, runpod note), fresh per-provider screenshots, help docs-index paths; reword system-prompts client hint
* docs: recapture per-provider API key screenshots as card element shots so each page shows its own provider
* Scene browser landing page: full-page home view with scenes tree, project/file/card deletion, prominent import (#109)
* review: anchor scenes dir on talemate.path.SCENES_DIR, share character card spec detection with loader
* docs: scene browser landing page - new Home Screen & Scene Library page, refresh load/import/harness docs and screenshots, update help docs index
* review: refuse deleting the active scene's project, root-anchored cover asset paths, share media-type map, dedupe delete button template
* import dropzone: accept and document .zip scene archives
* Docker support for Pi Bridge client + encrypted environment variable store (#105)
* Address PR #106 review: env name validation on backend, add-form value/duplicate guards, stale openrouter convenience docs
* feat: per-client auto retry for empty, rate-limited and missing-reasoning responses (#102)
* fix: scope auto-retry alert close to the emitting client
* fix: make auto-retry Abort effective between attempts in scene-free generations
* fix: auto-retry alert was invisible for fast retry sequences - enforce minimum display time, keep content through fade-out, offset below status snackbar
* fix: reset auto-retry alert display window on client content handoff
* fix: address auto-retry review round 3 - client-owned abort latch, reasoning retry extraction, clamped retry config, countdown and layout polish
* fix: discard stale auto-retry abort latch at sequence entry, disable Abort during linger
* fix: explicit dialog choice discards stale auto-retry abort latch
* fix: key auto-retry abort and alert by per-sequence generation id - same-client concurrency (FOCAL streaks, background chats) is normal operation, not experimental
* test: update direct _generate_with_error_handling callers for generation id param
* docs: concurrent requests are used beyond visual prompt generation
* fix: don't consume an active scene's interrupt flag in retry checks, ignore late aborts for finished sequences
* refactor: unify the three auto-retry policy blocks into _auto_retry_or_prompt
* docs: add Mistral to concurrent requests supported clients
* fix: show Context Length input in client edit modal for all client types (#92)
* review: use the dedicated rulesMaxTokenLength ruleset on the Context Length input
* feat: simplified character card import - optional AI generation steps (#98)
* refactor: single source of truth for generation option keys/defaults; document auto-direct coverage of story intent toggle
* ui: collapse granular AI generation options by default, toggle via section header
* docs: note AI generation toggles are collapsed behind the section header
* feat: Pi Bridge client - drive generations through the pi coding agent RPC mode (#97)
* fix: pi bridge - refresh pi model catalog on config save so models.json changes appear without restart
* fix: pi bridge - raise subprocess stream limit so oversized RPC event lines (long thinking blocks) do not fail generation
* docs: pi bridge - note that thinking budgets are provider-enforced and may be advisory
* fix: pi bridge - address PR review (surface pi error text in dialog, drain stderr to avoid deadlock, drop dead get_model_name, docs concurrency list)
* fix: scene export with Reset Progress no longer wipes the live scene
* test: parity guard between scene_export_json reset and Scene.reset()
* refactor: address PR #90 review - shared scene_data_dumps helper, faithful stub serialize, broader parity guard
* refactor: route save_restore through scene_data_dumps; drop now-unused json import
* feat: help chat regenerate moves to a per-message action on the last answer, matching director chat (#74)
* refactor: render the help chat message-actions wrapper only on the last help answer (PR #75 review)
* feat: example dialogue guidance during character creation (#69)
* docs: document example dialogue generation option; update stale test docstring
* docs: refresh character creation screenshots for example dialogue option
* feature(world-state): unify tracked-state quick actions into a single Track State action
* refactor(world-state): address PR review - drop unused character prop, rename defaultInsert, remove comment noise
* Add API handles prompt template option to Text-Generation-WebUI and llama.cpp clients
* Hide prompt-template alert when API handles the prompt template
* Handle reasoning models when API handles the prompt template
* Address PR review: resolve system message on event loop, dedupe llamacpp base url
* Move test imports to top of file per review