bigpowers 2.57.0 → 2.58.1
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/.pi/package.json +1 -1
- package/CHANGELOG.md +14 -0
- package/README.md +3 -1
- package/package.json +1 -1
- package/scripts/golden-g07-negative-path.sh +87 -0
- package/scripts/run-golden-suite.sh +1 -0
package/.pi/package.json
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## [2.58.1](https://github.com/danielvm-git/bigpowers/compare/v2.58.0...v2.58.1) (2026-07-03)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **specs:** sync epic capsule release labels to release trains ([15b18f4](https://github.com/danielvm-git/bigpowers/commit/15b18f4a45f43cade81e19250458e404eea1b24f))
|
|
7
|
+
|
|
8
|
+
# [2.58.0](https://github.com/danielvm-git/bigpowers/compare/v2.57.0...v2.58.0) (2026-07-03)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* **compliance:** add G-07 negative-path self-test for step scripts ([43a05b7](https://github.com/danielvm-git/bigpowers/commit/43a05b756cb0313cb52aba3d40ac77c1bce0bc56))
|
|
14
|
+
|
|
1
15
|
# [2.57.0](https://github.com/danielvm-git/bigpowers/compare/v2.56.1...v2.57.0) (2026-07-03)
|
|
2
16
|
|
|
3
17
|
|
package/README.md
CHANGED
|
@@ -324,7 +324,9 @@ npm run validate-specs
|
|
|
324
324
|
|
|
325
325
|
### Changelog
|
|
326
326
|
|
|
327
|
-
See [CHANGELOG.md](CHANGELOG.md) or [Releases](https://github.com/danielvm-git/bigpowers/releases).
|
|
327
|
+
See [CHANGELOG.md](CHANGELOG.md) for the auto-generated commit history, or [Releases](https://github.com/danielvm-git/bigpowers/releases) for GitHub release notes.
|
|
328
|
+
|
|
329
|
+
For an executive narrative of the project's history — 98 releases across 41 days, 4 phases, 19 epics delivered — read [RELEASE-HISTORY.md](docs/RELEASE-HISTORY.md).
|
|
328
330
|
|
|
329
331
|
### Links
|
|
330
332
|
|
package/package.json
CHANGED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# golden-g07-negative-path.sh — Step Script Negative-Path Self-Test (G-07)
|
|
3
|
+
#
|
|
4
|
+
# Proves that compliance step scripts CAN detect violations (GAP-1 bug class).
|
|
5
|
+
# Each step script is run against a deliberately broken fixture and MUST
|
|
6
|
+
# return a non-zero exit code (i.e., detect the violation).
|
|
7
|
+
#
|
|
8
|
+
# If any step script exits 0 on the broken fixture, it may be failing-open
|
|
9
|
+
# (passing vacuously) — the same class of bug that caused GAP-1.
|
|
10
|
+
#
|
|
11
|
+
# Usage: bash scripts/golden-g07-negative-path.sh
|
|
12
|
+
# Exit 0: all step scripts detected their violations (negative path verified)
|
|
13
|
+
# Exit 1: at least one step script failed to detect a violation (fail-open risk)
|
|
14
|
+
|
|
15
|
+
set -euo pipefail
|
|
16
|
+
|
|
17
|
+
RED='\033[0;31m'
|
|
18
|
+
GREEN='\033[0;32m'
|
|
19
|
+
YELLOW='\033[0;33m'
|
|
20
|
+
NC='\033[0m'
|
|
21
|
+
|
|
22
|
+
PASS=0
|
|
23
|
+
FAIL=0
|
|
24
|
+
|
|
25
|
+
g07_pass() { echo -e " ${GREEN}PASS${NC} $*"; PASS=$((PASS + 1)); }
|
|
26
|
+
g07_fail() { echo -e " ${RED}FAIL${NC} $*"; FAIL=$((FAIL + 1)); }
|
|
27
|
+
|
|
28
|
+
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
29
|
+
FIXTURE_DIR="$REPO_ROOT/specs/verifications/fixtures/negative-path"
|
|
30
|
+
STEPS_DIR="$REPO_ROOT/specs/verifications/steps"
|
|
31
|
+
|
|
32
|
+
if [[ ! -d "$FIXTURE_DIR" ]]; then
|
|
33
|
+
echo "ERROR: Fixture directory not found: $FIXTURE_DIR"
|
|
34
|
+
exit 1
|
|
35
|
+
fi
|
|
36
|
+
|
|
37
|
+
echo "=== G-07: Negative-Path Self-Test ==="
|
|
38
|
+
echo "Fixture: $FIXTURE_DIR"
|
|
39
|
+
echo ""
|
|
40
|
+
|
|
41
|
+
# Each entry: "step_script|violation_description"
|
|
42
|
+
TESTS=(
|
|
43
|
+
"and-files-should-be-small-enough-to-avoid-context-window-truncation-300-lines.sh|300-line cap: fixture has a 350-line script"
|
|
44
|
+
"and-files-should-remain-under-500-lines-newspaper-metaphor.sh|500-line cap: fixture has a 550-line step script"
|
|
45
|
+
"and-it-must-mandate-file-size-limits-300-lines.sh|CONVENTIONS.md: missing '300 lines' mandate"
|
|
46
|
+
"then-it-must-mandate-conventional-commits-1-0-0-and-semver-2-0-0.sh|CONVENTIONS.md: missing Conventional Commits mandate"
|
|
47
|
+
"then-skills-should-include-bold-hard-gate-callout-blocks.sh|SKILL.md: missing HARD GATE blocks"
|
|
48
|
+
)
|
|
49
|
+
|
|
50
|
+
for entry in "${TESTS[@]}"; do
|
|
51
|
+
step_script="${entry%%|*}"
|
|
52
|
+
description="${entry##*|}"
|
|
53
|
+
|
|
54
|
+
script_path="$STEPS_DIR/$step_script"
|
|
55
|
+
if [[ ! -f "$script_path" ]]; then
|
|
56
|
+
g07_fail "$step_script: step script not found"
|
|
57
|
+
continue
|
|
58
|
+
fi
|
|
59
|
+
|
|
60
|
+
# Run the step script from the fixture directory so it finds fixture files
|
|
61
|
+
# (scripts/, CONVENTIONS.md, SKILL.md) instead of the real repo files.
|
|
62
|
+
# Use set +e temporarily because the step script IS expected to exit non-zero.
|
|
63
|
+
set +e
|
|
64
|
+
actual_output=$(cd "$FIXTURE_DIR" && bash "$script_path" 2>&1)
|
|
65
|
+
actual_exit=$?
|
|
66
|
+
set -e
|
|
67
|
+
|
|
68
|
+
if [[ $actual_exit -ne 0 ]]; then
|
|
69
|
+
g07_pass "$step_script ($description) — correctly detected violation"
|
|
70
|
+
else
|
|
71
|
+
g07_fail "$step_script ($description) — FAILED TO DETECT violation (exit 0 on broken fixture, possible fail-open)"
|
|
72
|
+
echo " output: $actual_output"
|
|
73
|
+
fi
|
|
74
|
+
done
|
|
75
|
+
|
|
76
|
+
echo ""
|
|
77
|
+
echo "──────────────────────────────────────────"
|
|
78
|
+
echo -e "Results: ${GREEN}${PASS} passed${NC}, ${RED}${FAIL} failed${NC}"
|
|
79
|
+
echo "──────────────────────────────────────────"
|
|
80
|
+
|
|
81
|
+
if [[ "$FAIL" -gt 0 ]]; then
|
|
82
|
+
echo "G-07: FAIL — $FAIL step script(s) may be failing-open (GAP-1 bug class)"
|
|
83
|
+
exit 1
|
|
84
|
+
fi
|
|
85
|
+
|
|
86
|
+
echo "G-07: PASS — all step scripts correctly detect violations on negative-path fixture"
|
|
87
|
+
exit 0
|