bigpowers 2.59.2 → 2.59.4
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
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## [2.59.4](https://github.com/danielvm-git/bigpowers/compare/v2.59.3...v2.59.4) (2026-07-04)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **ci:** recompile golden lock file, purge stale e37 ids ([646afc4](https://github.com/danielvm-git/bigpowers/commit/646afc4aefe8d88a4dfbc986fc5f29f79499da4a))
|
|
7
|
+
|
|
8
|
+
## [2.59.3](https://github.com/danielvm-git/bigpowers/compare/v2.59.2...v2.59.3) (2026-07-04)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **repo:** gitignore Python virtualenvs and add G-11 golden gate ([a0f2ff0](https://github.com/danielvm-git/bigpowers/commit/a0f2ff076978ad06bc4bfeecedfaa4ea3d460478))
|
|
14
|
+
|
|
1
15
|
## [2.59.2](https://github.com/danielvm-git/bigpowers/compare/v2.59.1...v2.59.2) (2026-07-04)
|
|
2
16
|
|
|
3
17
|
|
package/package.json
CHANGED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# golden-g11-gitignore-venv.sh — Python venv gitignore gate (G-11)
|
|
3
|
+
#
|
|
4
|
+
# Prevents recurrence of BUG-2026-07-03-venv-not-gitignored: a root .venv/
|
|
5
|
+
# must be ignored before `git add .` can accidentally commit vendored packages.
|
|
6
|
+
#
|
|
7
|
+
# Asserts:
|
|
8
|
+
# 1. .gitignore contains .venv/, venv/, __pycache__/, *.pyc
|
|
9
|
+
# 2. git check-ignore .venv succeeds (when .venv exists or as path rule)
|
|
10
|
+
#
|
|
11
|
+
# Exit 0 on all assertions passing; exit 1 on first failure.
|
|
12
|
+
#
|
|
13
|
+
# Usage: bash scripts/golden-g11-gitignore-venv.sh
|
|
14
|
+
|
|
15
|
+
set -euo pipefail
|
|
16
|
+
|
|
17
|
+
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
18
|
+
cd "$REPO_ROOT"
|
|
19
|
+
|
|
20
|
+
RED='\033[0;31m'
|
|
21
|
+
GREEN='\033[0;32m'
|
|
22
|
+
NC='\033[0m'
|
|
23
|
+
|
|
24
|
+
PASS=0
|
|
25
|
+
FAIL=0
|
|
26
|
+
|
|
27
|
+
g11_pass() { echo -e "${GREEN}PASS${NC} $*"; PASS=$((PASS + 1)); }
|
|
28
|
+
g11_fail() { echo -e "${RED}FAIL${NC} $*"; FAIL=$((FAIL + 1)); }
|
|
29
|
+
|
|
30
|
+
required_patterns=( '.venv/' 'venv/' '__pycache__/' '*.pyc' )
|
|
31
|
+
|
|
32
|
+
for pattern in "${required_patterns[@]}"; do
|
|
33
|
+
if grep -qxF "$pattern" .gitignore; then
|
|
34
|
+
g11_pass ".gitignore contains $pattern"
|
|
35
|
+
else
|
|
36
|
+
g11_fail ".gitignore missing $pattern"
|
|
37
|
+
fi
|
|
38
|
+
done
|
|
39
|
+
|
|
40
|
+
if git check-ignore -q .venv 2>/dev/null; then
|
|
41
|
+
g11_pass "git check-ignore .venv"
|
|
42
|
+
else
|
|
43
|
+
g11_fail "git check-ignore .venv (path not ignored)"
|
|
44
|
+
fi
|
|
45
|
+
|
|
46
|
+
echo ""
|
|
47
|
+
echo "G-11 summary: $PASS passed, $FAIL failed"
|
|
48
|
+
if [[ "$FAIL" -gt 0 ]]; then
|
|
49
|
+
exit 1
|
|
50
|
+
fi
|
|
51
|
+
exit 0
|
|
@@ -35,6 +35,7 @@ GATES=(
|
|
|
35
35
|
"g08-anti-vacuity:bash scripts/golden-g08-anti-vacuity.sh:false"
|
|
36
36
|
"g09-yaml-roundtrip:bash scripts/golden-g09-yaml-roundtrip.sh:false"
|
|
37
37
|
"g10-trace-anti-vacuity:bash scripts/golden-g10-trace-anti-vacuity.sh:false"
|
|
38
|
+
"g11-gitignore-venv:bash scripts/golden-g11-gitignore-venv.sh:false"
|
|
38
39
|
"specs-parse:bash scripts/validate-specs-yaml.sh:false"
|
|
39
40
|
)
|
|
40
41
|
|
|
@@ -67,7 +67,7 @@ sys.exit(0 if ($py_check) else 1)
|
|
|
67
67
|
fi
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
-
need_key "$SPECS/state.yaml" "isinstance(d.get('active_flow'), str)" 'missing active_flow'
|
|
70
|
+
need_key "$SPECS/state.yaml" "'active_flow' in d and (d.get('active_flow') is None or isinstance(d.get('active_flow'), str))" 'missing or invalid active_flow'
|
|
71
71
|
need_key "$SPECS/release-plan.yaml" "isinstance(d.get('release'), dict)" 'missing release block'
|
|
72
72
|
need_key "$SPECS/release-plan.yaml" "isinstance(d.get('release'), dict) and 'version' in d['release']" 'missing release.version'
|
|
73
73
|
need_key "$SPECS/release-plan.yaml" "isinstance(d.get('epics'), list) and len(d['epics']) > 0" 'missing epics list'
|