docs: record P1 status for 1.24.15

This commit is contained in:
mARTin-B78 2026-09-04 10:15:56 +02:00
parent 0f1d93c9df
commit 06763a4602
3 changed files with 21 additions and 4 deletions

View File

@ -7,6 +7,11 @@ Follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) · versioned wi
## [Unreleased]
### Changed
- **P1 Roadmap status.** Documented the completed namespace/manifest foundations and durable background artifacts,
while keeping true lazy feature loading, responsibility-level frontend extraction, provider-health consolidation,
full workload measurements, and browser image-cache eviction explicitly open.
### Added
- **Bounded Rehearser Audio Cache.** Decoded/synthesized line audio now uses a 128-entry LRU cache so long scripts
cannot grow browser memory without limit.

18
TODO.md
View File

@ -15,6 +15,17 @@ hours, **M** = 1–2 days, **L** = several days, **XL** = multi-week or iterativ
Within each priority, tasks are ordered from smallest to largest effort. Complete
the first block before investing in architecture or polish.
## Current status — 2026-09-04
All P0 safety, security, data-integrity, and release-protection work is complete.
P1 implementation is active: pagination, shared voice caching, bounded decoded-audio
caching, background jobs, canonical character identity, forms, and the frontend
namespace/manifest foundations are working and regression-tested. Remaining P1 work
is intentionally open where it needs a real architecture change or workload
measurement: true feature-module lazy loading, the larger Audiobook/Rehearser/style
split, centralized provider-health handling, full constrained-device workloads, and
browser image/profile-cache eviction.
### P0 — do first
- [x] **S — Stop provider API keys from reaching frontend JavaScript or logs.** Provider keys are masked in settings
@ -67,7 +78,7 @@ the first block before investing in architecture or polish.
- [x] **L — Add background jobs and bounded queues.** Image generation already has the full interactive job path,
and transcription, voice design, and casting now have optional ID/status/cancel/timeout paths while preserving
synchronous callers. Job metadata now persists in SQLite and marks interrupted work after restart; durable binary
result storage remains; outbound TTS and LLM calls now share a bounded transient-failure retry policy, and `/api/jobs`
result storage is bounded and authenticated; outbound TTS and LLM calls now share a bounded transient-failure retry policy, and `/api/jobs`
exposes sanitized recent job history. Completed voice-design audio and consistent-image outputs now use bounded,
atomic artifact files with authenticated download URLs; transcription text remains deliberately non-persistent.
Failed live transcription, voice-design, and casting jobs now offer bounded in-memory retries; after restart they
@ -78,8 +89,9 @@ the first block before investing in architecture or polish.
- [x] **L — Add character forms inside one character record.** `sheet.forms[]` stores bounded alternate appearances,
prompts, and per-form visual assets; the detail-page switcher preserves one character ID and voice, and selected
forms feed prompt generation and identity fingerprints.
- [ ] **L — Modularize the frontend.** Split Audiobook, Rehearser and styles, replace
broad globals with namespaces, and consolidate the loader/module manifest.
- [ ] **L — Modularize the frontend.** The shared manifest and compatibility namespace
bridge are complete foundations; responsibility-level extraction, true feature-module
lazy loading, and the Audiobook/Rehearser/style split remain.
### P2 — after behavior and safety stabilize

View File

@ -1 +1 @@
1.24.14
1.24.15