Use this page when reviewing dependency monitoring, GitHub security settings, or secret-alert evidence. Read it with .github/dependabot.yml, docs/supply_chain_security.md, docs/stale_dependabot_alert_evidence_examples.md, docs/post_publish_checklist.md, docs/post_publish_warning_examples.md, docs/github_repository_settings.md, and docs/command_output_troubleshooting_map.md.
The core rule: checked-in policy files, GitHub account-level security settings, generated alerts, and local safety scans prove different things. Do not claim Dependabot or secret-scanning setup is complete until public/account-level evidence confirms it.
Local dependency policy evidence:
python -B scripts/dev.py dependency-surface
python -B scripts/dev.py safety
python -B scripts/dev.py qualityRemote repository evidence:
python -B scripts/dev.py github-readinessAuthenticated account-level planning evidence:
python -B scripts/dev.py github-maintenance.github/dependabot.yml proves the desired update surfaces are tracked in source. It does not prove GitHub security features, Dependabot alerts, Dependabot security updates, secret scanning, or push protection are enabled in the repository settings.
Symptom:
.github/dependabot.ymlis missing.dependency-surfacereports missing Dependabot coverage.- GitHub security settings might still exist, but the source policy is absent.
Wrong fix:
- Claim dependency monitoring from GitHub UI settings alone.
- Add a broad package-manager manifest just to make Dependabot active.
- Disable the dependency-surface gate.
Safe fix:
python -B scripts/dev.py dependency-surface
python -B scripts/dev.py governanceKeep the checked-in config narrow: GitHub Actions and the three Dockerfile directories are the current monitored update surfaces.
Symptom:
- GitHub shows old dependency alerts after source policy changed.
- A Dependabot PR targets an ignored or intentionally coordinated runtime baseline.
- Local
dependency-surfacepasses, but alert state has not refreshed yet.
Wrong fix:
- Treat a stale alert as proof that local policy failed.
- Merge a runtime baseline PR without the coordinated release process.
- Close alerts by weakening Docker digest pinning or Dependabot policy.
Safe fix:
python -B scripts/dev.py dependency-surface
python -B scripts/dev.py container-release
python -B scripts/dev.py github-maintenanceUse docs/development_issue_solutions.md for guarded Dependabot runtime-baseline PR handling. Keep alert state separate from local policy evidence.
Use docs/stale_dependabot_alert_evidence_examples.md before treating old security alert screenshots, wrong dependency scopes, dismissed alert rows, private security-tab crops, or local safety-scan output as current repository security-setting evidence.
Symptom:
scripts/configure_github_launch.pydry-runs secret scanning and push-protection setup.- GitHub UI still shows secret scanning or push protection as disabled, unavailable, or plan-dependent.
- Local safety checks pass.
Wrong fix:
- Claim secret scanning is enabled because the dry-run command exists.
- Commit screenshots of private security settings, account menus, or alert pages.
- Add real or fake secrets to test scanning.
Safe fix:
python -B scripts/dev.py github-maintenance
python -B scripts/dev.py safetyTreat secret scanning and push protection as account-level settings until authenticated maintenance output or GitHub UI evidence confirms them.
Symptom:
- GitHub reports a possible secret that is actually a fixture, placeholder, or documentation example.
- Local
safetypasses. - The alert contains account-level UI or private repository metadata.
Wrong fix:
- Paste alert screenshots or secret-like strings into source docs.
- Silence safety checks because one GitHub alert is false positive.
- Publish private alert metadata as evidence.
Safe fix:
python -B scripts/dev.py safety
python -B scripts/dev.py qualityRecord the technical resolution in neutral terms. Keep alert IDs, screenshots, account names, and private UI outside git unless a reviewed release process explicitly requires redacted evidence.
Symptom:
python -B scripts/dev.py safetypasses.- A reviewer asks whether that proves secret scanning and push protection are enabled on GitHub.
github-readinesshas warning/manual rows for account-level setup.
Wrong fix:
- Treat local safety as proof of GitHub account settings.
- Remove manual follow-up rows from post-publish docs.
- Claim push protection from local grep or safety output.
Safe fix:
python -B scripts/dev.py safety
python -B scripts/dev.py github-readiness
python -B scripts/dev.py github-maintenanceLocal safety proves the tracked source does not contain known public-safety hazards. GitHub security features require account-level verification.
.github/dependabot.ymlstill covers GitHub Actions and all three Dockerfile directories.- Python Docker semver-minor and semver-major runtime baseline updates remain ignored until a coordinated runtime upgrade is planned.
docs/supply_chain_security.mdremains the source for local dependency posture.docs/github_repository_settings.mdremains the source for account-level security setup expectations.- Secret scanning, push protection, Dependabot alerts, and Dependabot security updates remain manual/account-level claims until verified.
- Private alert screenshots, real secrets, account security pages, and generated alert IDs are not committed.
docs/stale_dependabot_alert_evidence_examples.mdis used before stale alert evidence becomes a public repository security-setting claim.python -B scripts/dev.py dependency-surface,python -B scripts/dev.py safety, andpython -B scripts/dev.py qualitypass after changing dependency or secret-scanning wording.