Commit 3046f207 by PLN (Algolia)

CHANGELOG, TODO.d: Sprint 13, the recorder clock fix and what is still open

parent 0f12c9bd
......@@ -4,6 +4,17 @@ Sprint entries, newest first. Player-facing: what changed about *playing*, not
about the code. Task IDs reference the L'Armada board; `n/a` where the work was
unplanned (which, on a gig night, is most of it).
## Sprint 13 — 2026-10-13 · one Quit, and the black box mends its own clock
### Fixed
- **A tray that vanished under a running rig.** Quit used to close only the tray, and nothing
brought it back: dark for 42 h while the rig played. Now `parvagues-sc` starts the tray, and
there is one Quit: rig up, it ends the session; rig down, it closes the tray.
- **A recorder that kept a broken clock.** After an overnight suspend its input timestamps
stepped back ~2 h and ffmpeg never exited: 255,000 warnings, 100,000 s segment durations,
a 56 s hole in the file. The recorder now notices the broken clock and restarts itself
(alone, never the sound, at most every 2 minutes).
## Sprint 12 — 2026-10-11 · the rig says when its own signal path is dead
Four faults on one afternoon, every unit `active` the whole time: the faders did
......
# The black box after a suspend: found, not yet fixed (2026-10-13)
# The black box after a suspend: found and fixed (2026-10-13)
Owner saw a sticky "rig: recording is down" at 10:00. Two separate facts, one of them
a wrong first guess worth keeping out of the next investigation.
......@@ -17,7 +17,22 @@ a wrong first guess worth keeping out of the next investigation.
audio is probably intact; the clock under it is not, and a muxer on a clock that runs backward
is a plausible source of the 56 s hole. Not proven.
## What to do (measure before mechanism)
## Resolved the same day
- Restarted `gig-record` alone: the DTS lines stopped, health `ok`.
- Durable fix in the recorder's own script (`guard_clock` in `tools/gig_record.sh`, tested by
`tools/tests/test_gig_record_clock_guard.py`): it watches the new log lines for
`Non-monotonic DTS` (zero in a healthy recorder) and restarts the recorder alone, at most
once per 120 s. Proven live: one injected line restarted the unit into a fresh segment.
- Rejected, measured: `-use_wallclock_as_timestamps 1` makes the steady state worse (140
"backward in time" lines in 20 s).
- No health-side grace added: the guard restarts within a second of a bad clock and the new
segment lands at once, so a grace would be a screw with no nut. Still open: the unexplained
56 s write gap at 09:59:43 (cause unknown, no resume involved). If it recurs, the evidence
file in `~/.local/share/parvagues/health-evidence/` is where to start.
- Not done: nobody has closed the lid on the fixed recorder. A real suspend is the final proof.
## Original plan (kept for the reasoning)
1. Restart `gig-record` alone at a quiet moment: `systemctl --user restart gig-record`. It never
touches the sound; it costs the second or two between segments, and it gives the recorder a
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment