You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Eliminate the remaining first-party Python scripts, validators, and test harnesses so Platform follows the portfolio-wide Bash-or-Go scripting constitution.
Current inventory
The repository still tracks Python on these first-party automation surfaces:
scripts/validate-embedded-json.py
scripts/validate-homepage-bookmarks.py
scripts/validate-naming.py
scripts/tests/test_validate_homepage_bookmarks.py
scripts/tests/test_refresh_flux_ghcr_auth.py
tracked .pyc or pycache artifacts under scripts
PR #2635 also introduced an alert-coverage test harness in Python while expanding the GHCR harness. Those additions must be replaced with native Go tests before that PR can land; they are part of this migration, not an exception to it.
Delivery shape
Port one focused surface at a time to a small Go command or native Go test package. Preserve every accepted input, diagnostic, exit code, failure-path assertion, and fail-closed safety rule before removing the superseded Python source or CI invocation. Bash remains acceptable for small direct shell-function tests; larger harnesses belong in Go.
Checklist
Embedded-JSON validation has an equivalent Go implementation and tests.
Homepage-bookmark validation has an equivalent Go implementation and tests.
Naming validation has an equivalent Go implementation and tests.
The Flux GHCR credential-bridge harness is native Go with equivalent success, failure, ordering, and rollout-race coverage.
Alert-coverage validation tests are native Go.
CI, path filters, documentation, and local examples invoke only Bash or Go.
No first-party .py, .pyc, or pycache artifacts remain under scripts.
go test -race ./..., go vet ./..., actionlint, ShellCheck, and the affected repository validators pass.
No validation or rollout safety rule is weakened.
Dependencies
Builds on the Go module and validator pattern introduced by #2622. The embedded-JSON validator originated in #2480. PR #2635 is the active delivery surface for the GHCR and alert-test slices.
Notes
This is an umbrella issue. Each slice should remain reviewable and may close a child issue while staying Part of #2623 until the inventory is empty.
Objective
Eliminate the remaining first-party Python scripts, validators, and test harnesses so Platform follows the portfolio-wide Bash-or-Go scripting constitution.
Current inventory
The repository still tracks Python on these first-party automation surfaces:
PR #2635 also introduced an alert-coverage test harness in Python while expanding the GHCR harness. Those additions must be replaced with native Go tests before that PR can land; they are part of this migration, not an exception to it.
Delivery shape
Port one focused surface at a time to a small Go command or native Go test package. Preserve every accepted input, diagnostic, exit code, failure-path assertion, and fail-closed safety rule before removing the superseded Python source or CI invocation. Bash remains acceptable for small direct shell-function tests; larger harnesses belong in Go.
Checklist
Dependencies
Builds on the Go module and validator pattern introduced by #2622. The embedded-JSON validator originated in #2480. PR #2635 is the active delivery surface for the GHCR and alert-test slices.
Notes
This is an umbrella issue. Each slice should remain reviewable and may close a child issue while staying Part of #2623 until the inventory is empty.