# Scripts DOX ## Purpose - Own maintainer and automation scripts that live outside GitHub workflow directories. - Keep scripts deterministic, documented by nearby callers, and safe to run in clean checkouts. ## Ownership - `openrouter_release_notes_system_prompt.md` is consumed by `.github/scripts/docker_release_plan.py`. - `spynel_resolver.py` owns the read-only deterministic routing CLI and the shared resolver imported by the existing Spynel dispatcher; active discovery uses the framework registry. Its shared execution gate validates main-model selections and workspace references without making any inference request; the profile audit is read-only. - `deploy_hf_space.py` rejects dirty tracked/untracked state, resolves an exact committed SHA, prints source/target identity, archives only that commit, and can require live `/health` provenance with `--verify`. HF push credentials stay out of Git remote URLs/output. Push success alone is not deployment qualification. - Additional repository maintenance scripts belong here when they are not runtime application code. ## Local Contracts - Do not commit secrets, generated credentials, private release notes, or local machine paths. - Scripts used by CI must have stable inputs and fail with actionable errors. - Keep script behavior synchronized with `.github/AGENTS.md`, workflow YAML, and tests. ## Work Guidance - Prefer standard library Python or simple shell-compatible assets unless a dependency already exists for the script's runtime. - Keep prompts and automation inputs concise and version-controlled. - Update callers when renaming or moving scripts. ## Verification - Run targeted tests for any automation script with coverage. For Spynel recognition, run `tests/test_spynel_resolver.py` and the existing `tests/test_spynel.py`; neither requires provider keys. - For release-note prompt changes, inspect generated output format expectations in `.github/scripts/docker_release_plan.py`. ## Child DOX Index No child DOX files.