Skip to content

Commit 76cd78a

Browse files
committed
docs: complete v0.5.4 candidate handoff
1 parent 0f4a64e commit 76cd78a

1 file changed

Lines changed: 38 additions & 2 deletions

File tree

docs/V0.5.4_ENGINEERING_PLAN.md

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# v0.5.4 engineering plan
22

33
Date: 2026-08-16
4-
Status: in progress
4+
Status: awaiting release approval
55
Release boundary: candidate source may be committed and pushed; tag, GitHub Release, npm publish
66
and the movable `v1` Action tag require a separate author approval.
77

@@ -42,7 +42,7 @@ opens a lower-friction support channel and submits the one currently eligible cu
4242
| G3 | First-trial and v0.5.4 candidate surfaces | Main-branch first trial is unpinned; CI/release/trusted install examples stay pinned; candidate version surfaces agree on 0.5.4 while published release state remains 0.5.3 | completed |
4343
| G4 | Focused and final verification | New focused tests pass, generated artifacts are byte-current, one bounded complete-suite pass and Skill Creator validation pass | completed |
4444
| G5 | Authorized external actions | Discussions is enabled and verified; awesome-devsecops rules are rechecked and a factual v0.5.3 PR is submitted if still eligible | completed |
45-
| G6 | Release approval checkpoint | Candidate commits and external evidence are pushed; exact release operations and residual risks are presented to the author | in progress |
45+
| G6 | Release approval checkpoint | Candidate commits and external evidence are pushed; exact release operations and residual risks are presented to the author | completed |
4646
| G7 | Public v0.5.4 release | Signed tag/assets, GitHub Release, npm provenance, `v1` consumer verification and release-state update | blocked on explicit approval |
4747

4848
## G0 - Scope and baseline
@@ -255,6 +255,42 @@ Before asking for release approval, report:
255255
- current published state still pinned to v0.5.3;
256256
- the exact G7 commands/actions that approval would authorize.
257257

258+
Completion record (2026-08-16):
259+
260+
- Implementation candidate `0f4a64e34bdd0b426d72be5e1989d4b19f9c653e` is pushed to `main`.
261+
Remote CI and CodeQL both completed successfully:
262+
[CI run 31948081852](https://github.com/parousia8888/web-app-security-skill/actions/runs/31948081852)
263+
and [CodeQL run 31948081858](https://github.com/parousia8888/web-app-security-skill/actions/runs/31948081858).
264+
- Rule-contract conformance: 22 contracts, 22 positive passes, 22 negative passes, 0 positive
265+
failures, 0 negative failures and 0 evidence-state mismatches. This remains an author-maintained
266+
planted contract suite, not production precision or recall evidence.
267+
- Real-world regression corpus: 5 cases passed, 0 failed; 4 resolved historical regressions and
268+
1 unsuppressed expected benign match. These minimized cases guard named failures only and are not
269+
a representative vulnerability benchmark.
270+
- GitHub Discussions reads back enabled at
271+
<https://github.com/parousia8888/web-app-security-skill/discussions>. The awesome-devsecops
272+
submission remains OPEN and mergeable at
273+
[devsecops/awesome-devsecops#172](https://github.com/devsecops/awesome-devsecops/pull/172),
274+
head `b24339b5ac2e16cda9eca5e92ecd847493bd38bc`; it is not an accepted listing or endorsement.
275+
- `npm pack --dry-run --json` produced candidate `0.5.4` with 140 files and 335872 packed bytes.
276+
Both new evidence sets are included; tests, adoption working material and engineering plans are
277+
excluded from the package.
278+
- Public state remains unchanged: npm `latest` is `0.5.3`; signed `v0.5.3` and movable `v1` both
279+
resolve to `621e0bc2ad044f9390fa9d567bf4b9fca138a959`; release-state and installer trust still record
280+
v0.5.3.
281+
- A bounded live-surface check found one pre-existing metadata drift: the public v0.5.3 GitHub
282+
Release body does not contain the repository's current canonical promise, so
283+
`node scripts/check-p7-surfaces.mjs --live` exits 1. The old published Release was not rewritten;
284+
v0.5.4 must publish its own canonical text and then pass the live check against the new state.
285+
- Residual product limits are unchanged: v0.5.4 adds no detector family, data-flow analysis,
286+
generic suppression engine or production accuracy claim. The real-world corpus is deliberately
287+
small, and the curated-list PR remains third-party pending work.
288+
- Release approval authorizes only G7: freeze the candidate; create and push signed `v0.5.4`;
289+
publish GitHub assets, SBOM, checksums and provenance; publish npm `0.5.4` with provenance and
290+
compare its tarball to the tag; move signed `v1`; run consumer verification; then update
291+
release-state, installer trust and public metadata from observed facts. None of these release
292+
mutations has been performed at this checkpoint.
293+
258294
## G7 - Release procedure after approval
259295

260296
1. Freeze the approved candidate commit and update release evidence/checksums.

0 commit comments

Comments
 (0)