@windyroad/risk-scorer 0.6.0-preview.282 → 0.6.0-preview.283

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@windyroad/risk-scorer",
3
- "version": "0.6.0-preview.282",
3
+ "version": "0.6.0-preview.283",
4
4
  "description": "Pipeline risk scoring, commit/push gates, and secret leak detection",
5
5
  "bin": {
6
6
  "windyroad-risk-scorer": "./bin/install.mjs"
@@ -18,11 +18,56 @@ setup() {
18
18
  git config user.email "drain-test@example.com"
19
19
  git config user.name "Drain Test"
20
20
  git commit --quiet --allow-empty -m "init"
21
- # Mock template + README
21
+ # Mock template + README + a single seeded R-file
22
+ # NOTE: TEMPLATE.md was wiped from canonical docs/risks/ per the 2026-05-04
23
+ # user direction ("FFS WIPE THE RXXX risks ... THEY ARE WRONG"; commit 8edaf7b).
24
+ # The drain script (ADR-056 Phase 2b) still gates on TEMPLATE.md existence at
25
+ # line 66 and accepts the path as an unused argument; the gate is vestigial
26
+ # but unchanged in this iter. Tests synthesise fixture-local TEMPLATE.md +
27
+ # an old-shape R001-...active.md inline so the drain contract is exercised
28
+ # end-to-end without depending on the canonical (post-wipe) state. The
29
+ # divergence between the drain script's expected R-file shape (.active.md
30
+ # with structured frontmatter) and the canonical post-wipe R-file shape
31
+ # (bare .md without status frontmatter, slug-only body) is captured as P171
32
+ # (docs/problems/171-drain-register-queue-script-and-tests-reference-
33
+ # obsolete-pre-wipe-r-file-shape.open.md). This synthetic-fixture pattern
34
+ # is the workaround until P171's fix lands.
22
35
  mkdir -p docs/risks .afk-run-state
23
- cp "$REPO_ROOT/docs/risks/TEMPLATE.md" docs/risks/TEMPLATE.md
36
+ cat > docs/risks/TEMPLATE.md <<'TEMPLATE_EOF'
37
+ # Risk RNNN: <title>
38
+
39
+ **Status**: Active
40
+ **Category**: <category>
41
+ **Identified**: <YYYY-MM-DD>
42
+ **Owner**: <owner>
43
+
44
+ ## Description
45
+
46
+ <description>
47
+ TEMPLATE_EOF
24
48
  cp "$REPO_ROOT/docs/risks/README.md" docs/risks/README.md
25
- cp "$REPO_ROOT/docs/risks/R001-confidential-info-leak-via-public-repo-push.active.md" docs/risks/
49
+ cat > docs/risks/R001-confidential-info-leak-via-public-repo-push.active.md <<'R001_EOF'
50
+ # Risk R001: Confidential info leak via public repo push
51
+
52
+ **Status**: Active
53
+ **Category**: information-disclosure
54
+ **Identified**: 2026-04-17
55
+ **Owner**: maintainer
56
+
57
+ ## Description
58
+
59
+ Test fixture for drain-register-queue dedupe path — slug
60
+ `confidential-info-leak-via-public-repo-push` matches an existing R-file
61
+ with `## Evidence Log` semantics.
62
+
63
+ ## Evidence Log
64
+
65
+ - 2026-04-17: seeded fixture entry
66
+
67
+ ## Change Log
68
+
69
+ - 2026-04-17: created (test fixture)
70
+ R001_EOF
26
71
  git add docs/risks
27
72
  git commit --quiet -m "seed risks"
28
73
  }
@@ -51,8 +51,14 @@ setup() {
51
51
  [ "$status" -eq 0 ]
52
52
  }
53
53
 
54
- @test "bootstrap-catalog SKILL.md requires docs/risks/ scaffold" {
55
- run grep -qE "docs/risks/.*directory exists|docs/risks/ scaffold" "$SKILL"
54
+ @test "bootstrap-catalog SKILL.md owns docs/risks/ directory lifecycle (no separate scaffold required)" {
55
+ # Updated 2026-05-05: the previous "requires scaffold" assertion is obsolete.
56
+ # Per user direction 2026-05-04 (commit 8edaf7b), the Phase 1 scaffold step
57
+ # + TEMPLATE.md were wiped because the scaffolded entries were wrong content;
58
+ # bootstrap-catalog now owns the directory's full lifecycle (mkdir -p on demand,
59
+ # writes README + per-slug entries, no separate scaffold step required).
60
+ # The SKILL.md was rewritten accordingly; this test now asserts the new contract.
61
+ run grep -qE "may or may not exist|creates it on demand|owns the directory's full lifecycle" "$SKILL"
56
62
  [ "$status" -eq 0 ]
57
63
  }
58
64