diff --git a/CHANGELOG.md b/CHANGELOG.md
index ebff20e..46e00a2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,6 +8,8 @@ Follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) · versioned wi
## [Unreleased]
### Changed
+- **Namespace migration surface.** Extracted Rehearser and Audiobook modules now publish parse, stage, voice-picker,
+ and persistence APIs through `window.TTVC` while retaining legacy globals for the ongoing migration.
- **CI frontend gate.** The manifest-driven JavaScript syntax and top-level declaration collision check now runs in the
SonarQube quality workflow, alongside Python compilation, regressions, and the production bundle build.
- **Structured request correlation.** API and MCP requests now receive a bounded `X-Request-ID` and emit sanitized
diff --git a/TODO.md b/TODO.md
index 0c145c7..409374e 100644
--- a/TODO.md
+++ b/TODO.md
@@ -93,6 +93,7 @@ architecture change: the larger Audiobook/Rehearser/style split.
duration logs; route-specific logs retain provider/job context without request bodies.
- [x] **L — Add linting and duplicate-function checks.** The manifest-driven frontend syntax/declaration gate now runs
locally and in the SonarQube quality workflow alongside the existing Python and bundle checks.
+- [x] Expose extracted Rehearser and Audiobook parser APIs through the `window.TTVC` namespace bridge.
### P2 — after behavior and safety stabilize
diff --git a/VERSION b/VERSION
index f3d13e4..4dc8bed 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.24.29
+1.24.30
diff --git a/static/index.html b/static/index.html
index 895ab2a..d7bc86e 100644
--- a/static/index.html
+++ b/static/index.html
@@ -10,7 +10,7 @@
-
+
@@ -27,7 +27,7 @@
-
+
@@ -392,7 +392,7 @@ window.toggleNavTree = function(treeId, chevronId) {
-
+