Skip to content

Replace Python SDLC validator with strict shell gate - #89

Merged
IchenDEV merged 1 commit into
mainfrom
chore/shell-sdlc-gate
Aug 30, 2026
Merged

IchenDEV merged 1 commit into
mainfrom
chore/shell-sdlc-gate

Conversation

@IchenDEV

Copy link
Copy Markdown
Owner

Summary

Resolves the conflict between the parallel SDLC implementations by converging on main's process documents but replacing the Python toolchain:

  • Adds scripts/sdlc-checks.sh (pure bash): enforces per-stage approval — no stage approved before the previous one; approved requires Approved-by/Approved-date; malformed statuses fail closed. Wired into ci-basic-checks.sh and the SDLC Gate CI job.
  • Stage state now lives in each artifact's **Status:** header (templates updated); per-bundle state.json removed as a second source of truth.
  • Removes scripts/sdlc.py, scripts/sdlc_policy.py, scripts/tests/test_sdlc.py and all state.json files.
  • AGENTS.md, docs/sdlc/README.md, README.md, README_zh.md updated to the shell gate and the strict per-stage approval contract.

Verification

  • bash scripts/sdlc-checks.sh — pass
  • bash scripts/ci-basic-checks.sh — pass
  • swift test not run locally: mlx-swift Metal compilation fails under the local CommandLineTools SDK (pre-existing environment issue, unrelated to these docs/script changes); CI runs swift test on macos-26.
  • Residual risk: the py validator's governed-changed-paths check is not reimplemented; PR CI still runs full checks, unit tests, and a release-style build. Recorded in change 2026-08-31-shell-sdlc-gate.

Historical bundles keep their original evidence text (including past sdlc.py runs) — records of what actually happened are not rewritten.

- scripts/sdlc-checks.sh enforces per-stage approval order and approval fields
  (Status/Approved-by/Approved-date); legacy bundles without Status headers are
  grandfathered
- templates gain strict status headers; docs and CI (SDLC Gate) rewired
- removes scripts/sdlc.py, scripts/sdlc_policy.py, scripts/tests/test_sdlc.py,
  and all per-bundle state.json (change 2026-08-31-shell-sdlc-gate)
@IchenDEV
IchenDEV merged commit 30c7e17 into main Aug 30, 2026
3 checks passed
@IchenDEV
IchenDEV deleted the chore/shell-sdlc-gate branch August 30, 2026 19:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant