Current score → target
Docs & release hygiene / architecture documentation: 4/5 → 5/5.
Defect class prevented
A syntactically broken or dangling-reference C4 model merging silently — discovered only when someone next opens Structurizr Lite locally.
Evidence
workspace.dsl sits at the repo root; the dev stack ships structurizr/lite (docker-compose.override.yml:25); a repo skill (structurizr-architecture-sync) mandates updating the DSL on every architectural change.
grep -rn structurizr .github/ Makefile → zero hits. Nothing parses the file in CI.
Proposed fix
# path-filtered on workspace.dsl, with a skip-fallback job so it can be required
structurizr-validate:
timeout-minutes: 5
steps:
- uses: actions/checkout@<sha>
- run: docker run --rm -v "$PWD":/usr/local/structurizr structurizr/cli:<ver>@sha256:<digest> validate -workspace workspace.dsl
~15s including image pull. Deterministic parser, zero false positives.
Effort
XS
Acceptance criteria
Filed by an automated CI/CD verification-coverage audit (OpenSSF Scorecard baseline: aggregate 6.0/10, local mode — SAST 0, Fuzzing 0, Token-Permissions 0, Pinned-Dependencies 5, Vulnerabilities 4). Audit method: inventory → gap analysis → git-history evidence mining → 3-iteration adversarial critique loop.
Generated by Claude Code
Current score → target
Docs & release hygiene / architecture documentation: 4/5 → 5/5.
Defect class prevented
A syntactically broken or dangling-reference C4 model merging silently — discovered only when someone next opens Structurizr Lite locally.
Evidence
workspace.dslsits at the repo root; the dev stack shipsstructurizr/lite(docker-compose.override.yml:25); a repo skill (structurizr-architecture-sync) mandates updating the DSL on every architectural change.grep -rn structurizr .github/ Makefile→ zero hits. Nothing parses the file in CI.Proposed fix
~15s including image pull. Deterministic parser, zero false positives.
Effort
XS
Acceptance criteria
Filed by an automated CI/CD verification-coverage audit (OpenSSF Scorecard baseline: aggregate 6.0/10, local mode — SAST 0, Fuzzing 0, Token-Permissions 0, Pinned-Dependencies 5, Vulnerabilities 4). Audit method: inventory → gap analysis → git-history evidence mining → 3-iteration adversarial critique loop.
Generated by Claude Code