Here the diagram is text first: each view is ~30 lines of mermaid a model can regenerate in seconds, rendered to SVG at build time so your phone never loads the 3.5MB library. Auto-layout decides positions — the trade: effortless regeneration and clean diffs, weaker control over where boxes land, smaller text. The source of one view is shown at the bottom, because the source IS the point of this direction.
How a bedtime recording becomes a published episode.
Levels 1–2 of 3 — each frame is a level-1 block, the nodes inside are its level-2 parts.
A father tells a story with the kids in the room. The performance is sacred: never re-recorded, only improved.
Levels 2–3 of 3 — frames are level-2 parts, nodes inside are level-3 detail.
Audit FIRST. Baseline the raw capture before anything is touched, so every later score is a delta and “was it the recording or did we cause it” becomes answerable.
Levels 2–3 of 3 — frames are level-2 parts, nodes inside are level-3 detail.
Plan the fixes explicitly, repair in batches, verify, converge — with a stop rule that hands the hard calls to Amit.
Levels 2–3 of 3 — frames are level-2 parts, nodes inside are level-3 detail.
Assemble the episode: what we remove, what we add, and the one encode.
Levels 2–3 of 3 — frames are level-2 parts, nodes inside are level-3 detail.
Amit listens on a review page; his notes come back numbered and become the next round's findings.
Levels 2–3 of 3 — frames are level-2 parts, nodes inside are level-3 detail.
The only irreversible act. USER-GATED, ask every time.
Levels 2–3 of 3 — frames are level-2 parts, nodes inside are level-3 detail.
flowchart TD
subgraph planner["Plan the fixes"]
direction TB
p1{"Route: automatic or Amit"}
p2["Order whole-file fixes first"]
p3["Merge overlapping fixes"]
p4["Group fixes into batches"]
end
queue{"Decide: the taste calls (A…"}
subgraph repair["Repair the audio"]
direction TB
r1["Remove noise (subtractive …"]
r2["Refill holes with room tone"]
r3["Restore the original voice"]
r4["Fix dropouts, knocks, dupl…"]
end
subgraph verify["Check the repairs (scoped audit T1)"]
direction TB
v1["Check the stitching (5 rul…"]
v2["Check no word was lost"]
v3["Halve the batch to find th…"]
end
subgraph converge["Decide: done or another round"]
direction TB
c1["Ask the five questions"]
c2["Re-detect after whole-file…"]
c3{"Stop after three rounds"}
end
planner -- "human-gated classes" --> queue
queue -. "decisions return" .-> planner
planner --> repair
repair --> verify
verify --> converge
converge -. "next batch" .-> planner
style planner fill:#12343b,stroke:#5FD3C4,color:#DCE4EC,stroke-dasharray:2 4
style p1 fill:#12343b,stroke:#5FD3C4,color:#DCE4EC,stroke-dasharray:2 4
style p2 fill:#12343b,stroke:#5FD3C4,color:#DCE4EC,stroke-dasharray:2 4
style p3 fill:#12343b,stroke:#5FD3C4,color:#DCE4EC,stroke-dasharray:2 4
style p4 fill:#12343b,stroke:#5FD3C4,color:#DCE4EC,stroke-dasharray:2 4
style queue fill:#3b2c14,stroke:#E8A34A,color:#DCE4EC,stroke-dasharray:6 4
style repair fill:#12343b,stroke:#5FD3C4,color:#DCE4EC
style r1 fill:#12343b,stroke:#5FD3C4,color:#DCE4EC
style r2 fill:#12343b,stroke:#5FD3C4,color:#DCE4EC
style r3 fill:#12343b,stroke:#5FD3C4,color:#DCE4EC
style r4 fill:#12343b,stroke:#5FD3C4,color:#DCE4EC
style verify fill:#12343b,stroke:#5FD3C4,color:#DCE4EC,stroke-dasharray:6 4
style v1 fill:#12343b,stroke:#5FD3C4,color:#DCE4EC,stroke-dasharray:6 4
style v2 fill:#12343b,stroke:#5FD3C4,color:#DCE4EC
style v3 fill:#12343b,stroke:#5FD3C4,color:#DCE4EC,stroke-dasharray:2 4
style converge fill:#12343b,stroke:#5FD3C4,color:#DCE4EC,stroke-dasharray:6 4
style c1 fill:#12343b,stroke:#5FD3C4,color:#DCE4EC,stroke-dasharray:2 4
style c2 fill:#12343b,stroke:#5FD3C4,color:#DCE4EC,stroke-dasharray:6 4
style c3 fill:#3b2c14,stroke:#E8A34A,color:#DCE4EC