diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6d52905..4779c22 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,6 +8,10 @@ Follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) · versioned wi
## [Unreleased]
### Changed
+- **Production bundle refresh.** Rebuilt `static/dist/main.min.js` from the current manifest so the release path
+ includes the validated frontend fixes and retry-history behavior.
+- **Rehearser recording extraction.** Microphone recording, level metering, overlay state, and recorded-line controls
+ now live in `rehearser-recording.js`.
- **Audiobook preview/export extraction.** Editable cast review, Rehearser handoff, chapter-aware synthesis/export,
pause settings, and export browsing now live in `audiobook-preview-export.js`.
- **Audiobook casting-pipeline extraction.** LLM casting, unknown-speaker recast, automatic repair, and cast-view
diff --git a/TODO.md b/TODO.md
index 9765119..77dd762 100644
--- a/TODO.md
+++ b/TODO.md
@@ -121,7 +121,7 @@ architecture change: the larger Audiobook/Rehearser/style split.
## P1 — Modular frontend architecture
- [ ] Split `audiobook.js`, `rehearser.js`, and `style.css` by responsibility; Rehearser casting, playback, training,
- voice design, I/O, library, and stage blocks are now isolated, with import/event wiring and remaining Audiobook orchestration
+ voice design, I/O, library, stage, and recording blocks are now isolated, with import/event wiring and remaining Audiobook orchestration
still in the monolith; Audiobook LLM orchestration and preview/export are now isolated from core Reader wiring.
- [x] Extract Rehearser stage display and cast-sidebar controls into `rehearser-stage.js`.
- [ ] Replace broad globals with namespaces such as `window.TTVC.audiobook`; a compatibility namespace bridge now
diff --git a/VERSION b/VERSION
index 3ad2df4..1bbb1cb 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.24.53
+1.24.54
diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md
index b4f0201..1fb62b7 100644
--- a/docs/ARCHITECTURE.md
+++ b/docs/ARCHITECTURE.md
@@ -35,6 +35,7 @@ Done incrementally as global-scope ordered files (no ES-module change needed)
- ✅ `rehearser-stage.js` — stage font/cast sidebar controls and cast-strip rendering.
- ✅ `rehearser-playback.js` — WebAudio playback, transport state, bounded decoded-audio prefetch, and persistent line-audio cache/synthesis controls.
- ✅ `rehearser-io.js` — rehearsal serialization, library save/load, autosave, session/file export, and screenplay/PDF imports.
+- ✅ `rehearser-recording.js` — microphone recording overlay, level meter, and recorded-line controls.
- ✅ `rehearser-voice-picker.js` — voice preview state, local matching, fish.audio search/import, and candidate assignment; DOM event registration remains in `rehearser-cast.js`.
- ✅ `rehearser-cast.js` — cast view, full cast-card rendering, sort/filter state handlers, and delegated cast toolbar wiring.
- ✅ `rehearser-voice-design.js` — character development, backend selection, and backend-refresh synchronization.
diff --git a/static/index.html b/static/index.html
index 0d923ff..f15d7eb 100644
--- a/static/index.html
+++ b/static/index.html
@@ -10,7 +10,7 @@
-
+
@@ -27,12 +27,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
@@ -397,7 +397,7 @@ window.toggleNavTree = function(treeId, chevronId) {
-
+