feat(editorial): Phase D synergy commander enrichment, augmentation, lint & docs\n\nAdds Phase D editorial tooling: synergy-based commander selection with 3/2/1 pattern, duplicate filtering, annotated synergy_commanders, promotion to minimum examples, and augmentation heuristics (e.g. Counters Matter/Proliferate injection). Includes new scripts (generate_theme_editorial_suggestions, lint, validate, catalog build/apply), updates orchestrator & web routes, expands CI workflow, and documents usage & non-determinism policies. Updates lint rules, type definitions, and docker configs.

This commit is contained in:
matt 2025-09-18 10:59:20 -07:00
parent 16261bbf09
commit f2a76d2ffc
35 changed files with 2818 additions and 509 deletions

View file

@ -14,11 +14,19 @@ router = APIRouter(prefix="/setup")
def _kickoff_setup_async(force: bool = False):
"""Start setup/tagging in a background thread.
Previously we passed a no-op output function, which hid downstream steps (e.g., theme export).
Using print provides visibility in container logs and helps diagnose export issues.
"""
def runner():
try:
_ensure_setup_ready(lambda _m: None, force=force) # type: ignore[arg-type]
except Exception:
pass
_ensure_setup_ready(print, force=force) # type: ignore[arg-type]
except Exception as e: # pragma: no cover - background best effort
try:
print(f"Setup thread failed: {e}")
except Exception:
pass
t = threading.Thread(target=runner, daemon=True)
t.start()