bigpowers 2.73.5 → 2.73.6

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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bigpowers",
3
- "version": "2.73.5",
3
+ "version": "2.73.6",
4
4
  "description": "75 skills — 73 agent skills synthesizing 17 years of software engineering discipline into a prescriptive methodology for solo developers",
5
5
  "keywords": [
6
6
  "pi-package"
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [2.73.6](https://github.com/danielvm-git/bigpowers/compare/v2.73.5...v2.73.6) (2026-07-06)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **plan-release:** encapsulate G28 boolean logic in check-spec-version-gap ([#61](https://github.com/danielvm-git/bigpowers/issues/61)) ([613e45c](https://github.com/danielvm-git/bigpowers/commit/613e45c00a636f66783a220f35ec4e26916649ee))
7
+
1
8
  ## [2.73.5](https://github.com/danielvm-git/bigpowers/compare/v2.73.4...v2.73.5) (2026-07-06)
2
9
 
3
10
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bigpowers",
3
- "version": "2.73.5",
3
+ "version": "2.73.6",
4
4
  "description": "73 agent skills synthesizing 17 years of software engineering discipline into a prescriptive methodology for solo developers",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -62,6 +62,35 @@ version_lt() {
62
62
  return 1
63
63
  }
64
64
 
65
+ is_protected_branch() {
66
+ [[ "$1" == "main" || "$1" == "master" ]]
67
+ }
68
+
69
+ on_feature_branch() {
70
+ local branch="$1"
71
+ [[ -n "$branch" ]] || return 1
72
+ is_protected_branch "$branch" && return 1
73
+ return 0
74
+ }
75
+
76
+ yaml_value_set() {
77
+ local value="$1"
78
+ [[ -n "$value" ]] || return 1
79
+ [[ "$value" == "null" || "$value" == "None" ]] && return 1
80
+ return 0
81
+ }
82
+
83
+ has_dirty_specs() {
84
+ [[ -d "$SPECS" ]] && git -C "$PROJECT_DIR" status --porcelain -- specs/ 2>/dev/null | grep -q .
85
+ }
86
+
87
+ is_blocking_active_flow() {
88
+ local flow="$1"
89
+ yaml_value_set "$flow" || return 1
90
+ case "$flow" in build_epic|develop_tdd|fix_bug) return 0 ;; esac
91
+ return 1
92
+ }
93
+
65
94
  find_migrations() {
66
95
  local ver="$1" reg="$BP_ROOT/specs/migrations/registry.okf.md"
67
96
  [[ ! -f "$reg" ]] && { echo "[]"; return; }
@@ -83,13 +112,12 @@ print(json.dumps(out))
83
112
  }
84
113
 
85
114
  check_active_work() {
86
- local branch; branch=$(git -C "$PROJECT_DIR" branch --show-current 2>/dev/null || echo "")
87
- if [[ -n "$branch" && "$branch" != "main" && "$branch" != "master" ]]; then echo "true"; return; fi
88
- if [[ -d "$SPECS" ]] && git -C "$PROJECT_DIR" status --porcelain -- specs/ 2>/dev/null | grep -q .; then echo "true"; return; fi
89
- local af; af=$(yaml_get "$SPECS/state.yaml" "active_flow")
90
- if [[ -n "$af" && "$af" != "null" && "$af" != "None" ]]; then
91
- case "$af" in build_epic|develop_tdd|fix_bug) echo "true"; return ;; esac
92
- fi
115
+ local branch af
116
+ branch=$(git -C "$PROJECT_DIR" branch --show-current 2>/dev/null || echo "")
117
+ if on_feature_branch "$branch"; then echo "true"; return; fi
118
+ if has_dirty_specs; then echo "true"; return; fi
119
+ af=$(yaml_get "$SPECS/state.yaml" "active_flow")
120
+ if is_blocking_active_flow "$af"; then echo "true"; return; fi
93
121
  echo "false"
94
122
  }
95
123
 
@@ -103,7 +131,7 @@ fi
103
131
 
104
132
  SV=$(yaml_get "$SPECS/state.yaml" "bigpowers_version")
105
133
 
106
- if [[ -n "$SV" && "$SV" != "null" && "$SV" != "None" ]]; then
134
+ if yaml_value_set "$SV"; then
107
135
  if [[ "$SV" == "$IV" ]]; then
108
136
  emit_json '{"gap":false,"stamp":true,"detected_version":"'"$SV"'","installed_version":"'"$IV"'","detection_method":"stamp","confidence":"high"}'
109
137
  exit 0
@@ -123,7 +151,7 @@ for f in release-plan.yaml execution-status.yaml product/SCOPE_LATEST.yaml metri
123
151
  done
124
152
  if [[ -f "$SPECS/state.yaml" ]]; then
125
153
  ec=$(yaml_get "$SPECS/state.yaml" "epic_cycle.current_step")
126
- if [[ -n "$ec" && "$ec" != "null" && "$ec" != "None" ]]; then
154
+ if yaml_value_set "$ec"; then
127
155
  MARKERS+=("epic_cycle"); [[ "$DV" == "2.0.0" ]] && DV="2.20.0"
128
156
  fi
129
157
  fi