Post-merge #801 follow-ups: un-silence the retry engine's logs + register origin-history.js

Review findings from PR #801, fixed as promised after merge:

- core/imports/version_mismatch_fallback.py and core/downloads/task_worker.py
  used bare getLogger(__name__) — outside the soulsync.* namespace where
  handlers attach, so the entire retry story (the [Modal Worker] search/retry
  walk and, critically, the "accepting best quarantined candidate as last
  resort" warning) never reached app.log. Same bug class as the prepare.py
  fix; both moved to get_logger. A repo sweep shows 61 more modules with the
  same pattern — noted as its own cleanup project.

- the full-suite run also caught a miss of MINE, not the PR's: the new
  origin-history.js wasn't registered in the script-split integrity test, so
  openDownloadOriginsModal failed onclick coverage. Registered — and the
  onclick scan now iterates the NON_SPLIT_JS registry instead of its own
  hardcoded copy, so the next standalone module can't silently skip coverage.

Merged dev verified: PR's 77 tests + 4233 full-suite tests pass (the only
exclusion is the eternal soundcloud /app file); integrity suite 64/64.
This commit is contained in:
BoulderBadgeDad 2026-06-07 00:58:09 -07:00
parent 79f020b3b4
commit 157d19f3b9
3 changed files with 18 additions and 7 deletions

View file

@ -19,7 +19,6 @@ a large web_server.py helper that will get its own lift in subsequent PRs.
from __future__ import annotations
import logging
import re
import traceback
from dataclasses import dataclass
@ -27,8 +26,13 @@ from typing import Any, Callable, Optional
from core.runtime_state import download_batches, download_tasks, tasks_lock
from core.spotify_client import Track as SpotifyTrack
from utils.logging_config import get_logger
logger = logging.getLogger(__name__)
# Must live under the soulsync.* namespace — handlers only attach there. The
# old bare getLogger(__name__) ("core.downloads.task_worker") had no handler,
# so the entire [Modal Worker] story — search queries, retry walks, candidate
# decisions — never reached app.log.
logger = get_logger("downloads.task_worker")
def _resolve_worker_source(username):

View file

@ -26,11 +26,16 @@ quarantine store + re-import dispatch via injected callables.
from __future__ import annotations
import logging
import re
from typing import Any, Callable, Dict, List, Optional
logger = logging.getLogger(__name__)
from utils.logging_config import get_logger
# Must live under the soulsync.* namespace — handlers only attach there, so a
# bare getLogger(__name__) sent every line (including the critical "accepting
# best quarantined candidate as last resort" warning) into the void instead of
# app.log. Same bug class as the prepare.py fix.
logger = get_logger("imports.version_fallback")
# Matches the reason string written by acoustid_verification's version gate:
# "Version mismatch: expected '<title>' (<exp>) but file is '<title>' (<got>)"

View file

@ -52,7 +52,7 @@ SPLIT_MODULES = [
# Other JS files that exist in static/ but are NOT part of the split
NON_SPLIT_JS = {"setup-wizard.js", "docs.js", "helper.js", "particles.js", "worker-orbs.js",
"enrichment-manager.js"}
"enrichment-manager.js", "origin-history.js"}
# Pre-existing duplicate helper functions that lived in the original monolith.
# In a plain <script> context the last-loaded declaration wins. These are NOT
@ -216,8 +216,10 @@ class TestOnclickCoverage:
text = _read(_STATIC / module)
self.all_fns.update(_all_function_decls(text))
# Also include non-split JS files that are loaded
for extra in ("setup-wizard.js", "docs.js", "helper.js", "enrichment-manager.js"):
# Also include non-split JS files that are loaded — driven by the
# NON_SPLIT_JS registry so a newly added standalone module can't be
# silently missing from onclick coverage (origin-history.js was).
for extra in sorted(NON_SPLIT_JS):
path = _STATIC / extra
if path.exists():
self.all_fns.update(_all_function_decls(_read(path)))