Minutes after test-sc-watchdog exited, PLN got a STICKY desktop notification:
"3 restarts in 10 min. Giving up — this needs your eyes.
journalctl --user -u scwd-test-1269280.service -n 50"
scwd-test-1269280.service was the test's own FAKE transient unit. By the time the
notification was read, it had been torn down — so the suggested command returns
nothing, about a failure that never happened, while the real rig was playing fine.
Two defects in one message. The test could reach a real notification daemon at all;
and the give-up path is deliberately urgency=critical/sticky, which is correct for a
real outage and actively harmful for a fake one — it cannot be dismissed by waiting.
Fix: SCWD_NO_NOTIFY=1, honoured by notify() and set by the harness. A test must never
be able to page a human about something that is not real.
Re-run green: 7 passed, 0 failed, and silent. The log still shows the rate limiter
walking (0 prior) -> (1 prior) -> (2 prior) -> GIVING UP, so suppressing the toast
did not suppress the evidence — the assertion reads the log, not the notification.
Same family as the flap it was written to catch: a supervisory tool whose side
effects escape the scope it was reasoning about.
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| at | Loading commit data... | |
| bridge | Loading commit data... | |
| foundry | Loading commit data... | |
| pulsar-parvagues-hud | Loading commit data... | |
| pvlint | Loading commit data... | |
| tests | Loading commit data... | |
| README.md | Loading commit data... | |
| analyze_samples.py | Loading commit data... | |
| button_roles.py | Loading commit data... | |
| cheat-sheet.py | Loading commit data... | |
| check-boot-blocks.py | Loading commit data... | |
| check-boot.sh | Loading commit data... | |
| check-drift.sh | Loading commit data... | |
| check-mix.py | Loading commit data... | |
| check-tracks.sh | Loading commit data... | |
| control-lens.py | Loading commit data... | |
| deshadow-helpers.py | Loading commit data... | |
| fan_check.sh | Loading commit data... | |
| fix-button-roles.py | Loading commit data... | |
| fix-mute-roles.py | Loading commit data... | |
| gen_tokens.py | Loading commit data... | |
| gen_ts_types.py | Loading commit data... | |
| gig-log.py | Loading commit data... | |
| gig-up.sh | Loading commit data... | |
| gig_record.sh | Loading commit data... | |
| lcxl-init.py | Loading commit data... | |
| lcxl-leds-watch.service | Loading commit data... | |
| lcxl-leds.py | Loading commit data... | |
| lcxl_grid.json | Loading commit data... | |
| lcxl_grid.py | Loading commit data... | |
| migrate-columns.py | Loading commit data... | |
| mock-lcxl.py | Loading commit data... | |
| mute.tidal | Loading commit data... | |
| orphan-orbits.py | Loading commit data... | |
| parvagues-sc-watchdog.service | Loading commit data... | |
| probe-chain.py | Loading commit data... | |
| sample_tfidf.py | Loading commit data... | |
| sc-watchdog.sh | Loading commit data... | |
| set-coherence.py | Loading commit data... | |
| setlist_samples.py | Loading commit data... | |
| shipowiz.py | Loading commit data... | |
| silent-eval.py | Loading commit data... | |
| solo.tidal | Loading commit data... | |
| surface-columns.py | Loading commit data... | |
| take-lens.py | Loading commit data... | |
| tempo-lens.py | Loading commit data... | |
| tidal-remote.py | Loading commit data... | |
| tools.png | Loading commit data... | |
| unmute.tidal | Loading commit data... | |
| unsolo.tidal | Loading commit data... |