#!/usr/bin/env python3 """Regenerate the golden master settings snapshot. Usage: python scripts/dev/regenerate_golden_master.py NOTE: This script is called by the pre-commit hook .pre-commit-hooks/check-golden-master-settings.py — do not delete. """ import json import sys from pathlib import Path # --------------------------------------------------------------------------- # Resolve paths # --------------------------------------------------------------------------- PROJECT_ROOT = Path(__file__).resolve().parent.parent.parent SRC_DIR = PROJECT_ROOT / "src" GOLDEN_MASTER_PATH = ( PROJECT_ROOT / "tests" / "settings" / "golden_master_settings.json" ) # Ensure the package is importable if str(SRC_DIR) not in sys.path: sys.path.insert(0, str(SRC_DIR)) def main() -> int: from local_deep_research.settings.manager import SettingsManager manager = SettingsManager(db_session=None) defaults = manager.default_settings current = {key: dict(defaults[key]) for key in sorted(defaults.keys())} output = ( json.dumps( current, indent=2, sort_keys=True, default=str, ensure_ascii=False ) + "\n" ) GOLDEN_MASTER_PATH.write_text(output, encoding="utf-8") print(f"Wrote {len(current)} settings to {GOLDEN_MASTER_PATH}") return 0 if __name__ == "__main__": sys.exit(main())