bigpowers 2.76.2 → 2.77.0
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 +2 -2
- package/.pi/prompts/build-epic.md +10 -0
- package/.pi/prompts/commit-message.md +1 -0
- package/.pi/prompts/generate-allure-report.md +284 -0
- package/.pi/prompts/harden-vps.md +287 -0
- package/.pi/prompts/plan-release.md +3 -8
- package/.pi/prompts/plan-work.md +14 -1
- package/.pi/prompts/release-branch.md +3 -0
- package/.pi/skills/build-epic/SKILL.md +10 -0
- package/.pi/skills/commit-message/SKILL.md +1 -0
- package/.pi/skills/generate-allure-report/SKILL.md +285 -0
- package/.pi/skills/harden-vps/SKILL.md +288 -0
- package/.pi/skills/plan-release/SKILL.md +3 -8
- package/.pi/skills/plan-work/SKILL.md +14 -1
- package/.pi/skills/release-branch/SKILL.md +3 -0
- package/CHANGELOG.md +15 -0
- package/README.md +1 -1
- package/SKILL-INDEX.md +1 -1
- package/allure-results/categories.json +23 -0
- package/allure-results/executor.json +6 -0
- package/allure-results/junit-results.xml +2743 -0
- package/hooks/pre-tool-use.sh +5 -0
- package/package.json +1 -1
- package/scripts/generate-allure-report.sh +146 -0
- package/scripts/land-branch.sh +10 -0
- package/scripts/record-cycle-time.sh +28 -0
- package/scripts/sync-status-from-epics.sh +247 -24
- package/scripts/validate-skill-catalog.sh +1 -1
- package/skills/build-epic/SKILL.md +10 -0
- package/skills/commit-message/SKILL.md +1 -0
- package/skills/generate-allure-report/REFERENCE.md +243 -0
- package/skills/generate-allure-report/SKILL.md +40 -0
- package/skills/harden-vps/REFERENCE.md +179 -0
- package/skills/harden-vps/SKILL.md +107 -0
- package/skills/plan-release/SKILL.md +3 -8
- package/skills/plan-work/REFERENCE.md +13 -0
- package/skills/plan-work/SKILL.md +1 -1
- package/skills/release-branch/SKILL.md +3 -0
- package/skills-lock.json +15 -5
|
@@ -38,7 +38,6 @@ specs/epics/e01-auth-system/
|
|
|
38
38
|
**Rationale:** Capsule dirs achieve change isolation (C9), enable archive pruning (C2/C6), and enforce SRP by decoupling spec `.md` from execution `-tasks.yaml` (C1).
|
|
39
39
|
|
|
40
40
|
## Process
|
|
41
|
-
|
|
42
41
|
### 1. Draft epics and stories
|
|
43
42
|
|
|
44
43
|
From the conversation context, define:
|
|
@@ -48,15 +47,12 @@ From the conversation context, define:
|
|
|
48
47
|
WSJF-sort epics: score = (Business Value + Time Criticality + Risk Reduction) / Job Size. Highest score first.
|
|
49
48
|
|
|
50
49
|
> **Security risk boost:** If an epic's `specs/security/epics/<id>/THREAT_MODEL.md` identifies HIGH or CRITICAL risk, add +2 to the WSJF numerator (BV + TC + RR + 2) to reflect the urgency of addressing security concerns before they ship. Document the boost in the epic's note field in release-plan.yaml.
|
|
51
|
-
|
|
52
50
|
### 2. Write acceptance criteria (Gherkin)
|
|
53
51
|
|
|
54
52
|
For each story, write at least one happy-path and one edge-case scenario (countable format §17 if maturity ≥ 3).
|
|
55
|
-
|
|
56
53
|
### 3. Write tasks with verify commands
|
|
57
54
|
|
|
58
55
|
Every task must have a `verify:` command. No verify command = not a task.
|
|
59
|
-
|
|
60
56
|
### 4. Save specs/release-plan.yaml
|
|
61
57
|
|
|
62
58
|
> **Do NOT hand-track the real version.** semantic-release decides it at merge. `version` here is a
|
|
@@ -80,7 +76,6 @@ epics:
|
|
|
80
76
|
wsjf: 3.8
|
|
81
77
|
capsule_dir: epics/e02-user-profile
|
|
82
78
|
```
|
|
83
|
-
|
|
84
79
|
### 5. Save epic manifest (`epic.yaml`)
|
|
85
80
|
|
|
86
81
|
Each epic capsule directory contains an `epic.yaml` manifest:
|
|
@@ -105,11 +100,9 @@ stories:
|
|
|
105
100
|
spec: e01s02-jwt.md
|
|
106
101
|
tasks: e01s02-tasks.yaml
|
|
107
102
|
```
|
|
108
|
-
|
|
109
103
|
### 6. Save story specs (countable-story-format .md)
|
|
110
104
|
|
|
111
105
|
Each story becomes a standalone `.md` file following [countable-story-format.md](file:///Users/danielvm/Developer/bigpowers/countable-story-format.md). Minimum: maturity 3 (Countable) with all 20 sections present. Acceptance criteria in §17 use Gherkin scenarios.
|
|
112
|
-
|
|
113
106
|
### 7. Save decoupled task files (`-tasks.yaml`)
|
|
114
107
|
|
|
115
108
|
Each story has a decoupled `-tasks.yaml` with implementation steps:
|
|
@@ -133,6 +126,9 @@ tasks:
|
|
|
133
126
|
> **HARD GATE** — Every task MUST have a runnable `verify:` command. No `verify:` = not a task.
|
|
134
127
|
|
|
135
128
|
→ verify: `bash scripts/validate-specs-yaml.sh`
|
|
129
|
+
### 7b. Generate bug registry summary
|
|
130
|
+
|
|
131
|
+
Read `specs/bugs/registry.yaml` and add a `bugs:` section to `release-plan.yaml` with totals by status (`fixed`, `deferred`, `wontfix`, `open`): `bugs: { total: N, fixed: N, deferred: N, wontfix: N, registry: specs/bugs/registry.yaml }`.
|
|
136
132
|
|
|
137
133
|
### 8. Sync execution status
|
|
138
134
|
|
|
@@ -142,7 +138,6 @@ bash scripts/sync-status-from-epics.sh
|
|
|
142
138
|
### 9. Snapshot on planning close (optional)
|
|
143
139
|
|
|
144
140
|
Copy to `specs/product/snapshots/release-<version>/` when the user approves the plan.
|
|
145
|
-
|
|
146
141
|
### 10. Suggest next steps
|
|
147
142
|
|
|
148
143
|
- Run `assess-impact` before `plan-work` for any story touching existing modules.
|
|
@@ -45,7 +45,7 @@ If this plan touches an existing module, run `assess-impact` first to understand
|
|
|
45
45
|
|
|
46
46
|
2. **Draft steps** — Break implementation into the smallest possible steps where each step leaves the codebase working, has one observable outcome, and can be verified with a single command. Red-flag check: name any rationalization you caught before moving to step 3.
|
|
47
47
|
|
|
48
|
-
3. **Write capsule story spec + tasks** — Output two files inside the active epic capsule. See [REFERENCE.md](REFERENCE.md) for file formats and the plan-template. Each task MUST include a `risk:` field (`P0` | `P1` | `P2` | `P3`) based on BCP + story type heuristics (see REFERENCE.md). If a test plan artifact (`specs/tech-architecture/eNN-TEST_PLAN_LATEST.md`) exists, read it and inherit its P0/P1 risk classifications and scenario IDs (`SC-eNNsYY-P0-NN`). Each task optionally includes a `security:` field (`none` / `low` / `medium` / `high`) sourced from the epic's `specs/security/epics/<id>/THREAT_MODEL.md`. Tasks with `security: medium` or `security: high` MUST include "no new security findings in affected paths" in their verify steps.
|
|
48
|
+
3. **Write capsule story spec + tasks** — Output two files inside the active epic capsule. See [REFERENCE.md](REFERENCE.md) for file formats and the plan-template. Each task MUST include a `risk:` field (`P0` | `P1` | `P2` | `P3`) based on BCP + story type heuristics (see REFERENCE.md). If a test plan artifact (`specs/tech-architecture/eNN-TEST_PLAN_LATEST.md`) exists, read it and inherit its P0/P1 risk classifications and scenario IDs (`SC-eNNsYY-P0-NN`). Each task optionally includes a `security:` field (`none` / `low` / `medium` / `high`) sourced from the epic's `specs/security/epics/<id>/THREAT_MODEL.md`. Tasks with `security: medium` or `security: high` MUST include "no new security findings in affected paths" in their verify steps. Each task should also include an `allure:` block to drive test reporting: `severity:` maps risk to Allure severity (`P0→critical`, `P1→high`, `P2→normal`, `P3→minor`), and `categories:` is a list of relevant tags like `"Security Review"`, wave names, or test categories (see REFERENCE.md for the full template).
|
|
49
49
|
|
|
50
50
|
**Requirement delta tags (e45s29):** When a story modifies existing behavior, the story spec § Requirements MUST use OpenSpec-style delta tags with mandatory before/after content:
|
|
51
51
|
|
|
@@ -133,8 +133,21 @@ tasks:
|
|
|
133
133
|
verify: "npm test -- login-form.test.tsx"
|
|
134
134
|
risk: P1
|
|
135
135
|
status: failing # flip to passing only after verify exits 0 (e45s06)
|
|
136
|
+
allure:
|
|
137
|
+
severity: high # P0→critical, P1→high, P2→normal, P3→minor
|
|
138
|
+
categories:
|
|
139
|
+
- "Auth"
|
|
140
|
+
- "Security Review"
|
|
136
141
|
```
|
|
137
142
|
|
|
143
|
+
**Allure severity mapping:**
|
|
144
|
+
- `P0` → `critical`
|
|
145
|
+
- `P1` → `high`
|
|
146
|
+
- `P2` → `normal`
|
|
147
|
+
- `P3` → `minor`
|
|
148
|
+
|
|
149
|
+
`categories` is a list of relevant tags — wave names, test categories (e.g. `"unit"`, `"integration"`), or thematic groupings (e.g. `"Security Review"`).
|
|
150
|
+
|
|
138
151
|
Update `specs/epics/<capsule>/epic.yaml` manifest to list the story and its BCPs. Run `bash scripts/sync-status-from-epics.sh` after structural changes.
|
|
139
152
|
|
|
140
153
|
## Plan template
|
|
@@ -41,9 +41,12 @@ If unsure, prefer **solo-local**.
|
|
|
41
41
|
```bash
|
|
42
42
|
<full test command> && <typecheck command> && <lint command>
|
|
43
43
|
git log main...HEAD --oneline | grep -vE "^[a-f0-9]+ (feat|fix|docs|style|refactor|perf|test|build|ci|chore|revert)(\(.+\))?!?: .+$" && echo "❌ Non-conventional commits found" || echo "✅ Commits verified"
|
|
44
|
+
# Block AI agent attribution (P1)
|
|
45
|
+
git log main...HEAD --format="%B" | grep -qiE 'co[- ]authored[- ]by' && echo "❌ Co-authored-by footer found — blocked" || echo "✅ No AI attribution"
|
|
44
46
|
```
|
|
45
47
|
|
|
46
48
|
- [ ] All tests pass, no type errors, no lint violations, all commits follow Conventional Commits
|
|
49
|
+
- [ ] **NO `Co-authored-by` or `Co-Authored-By`** in any commit body — P1 rule (CONVENTIONS.md § Git Attribution). `land-branch.sh` blocks the merge if found.
|
|
47
50
|
|
|
48
51
|
### 2. Coverage check
|
|
49
52
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
# [2.77.0](https://github.com/danielvm-git/bigpowers/compare/v2.76.3...v2.77.0) (2026-07-13)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* **e76:** enrich YAML metadata for Allure dashboards ([94c4417](https://github.com/danielvm-git/bigpowers/commit/94c4417cab844f86c794466ea38812b7e0b36a44))
|
|
7
|
+
|
|
8
|
+
## [2.76.3](https://github.com/danielvm-git/bigpowers/compare/v2.76.2...v2.76.3) (2026-07-11)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **scripts:** move Co-authored-by feature branch scan after DEFAULT_BRANCH is set ([842dfb3](https://github.com/danielvm-git/bigpowers/commit/842dfb3c8caf710f75b1bc234f3178596d2e78df))
|
|
14
|
+
* **security:** enforce Co-authored-by ban across all commit paths ([b8610cd](https://github.com/danielvm-git/bigpowers/commit/b8610cdb060faebf94b614354c80c052d985c40d))
|
|
15
|
+
|
|
1
16
|
## [2.76.2](https://github.com/danielvm-git/bigpowers/compare/v2.76.1...v2.76.2) (2026-07-09)
|
|
2
17
|
|
|
3
18
|
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|

|
|
4
4
|

|
|
5
|
-

|
|
6
6
|
|
|
7
7
|
**Agent skills synthesizing 17 years of software engineering discipline — from Clean Code to AI-native architecture — into a single, prescriptive methodology for solo developers.**
|
|
8
8
|
|
package/SKILL-INDEX.md
CHANGED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"name": "P0 Risk",
|
|
4
|
+
"matchedStatuses": [
|
|
5
|
+
"failed"
|
|
6
|
+
],
|
|
7
|
+
"messageRegex": ".*risk.*P0.*"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"name": "Security Review",
|
|
11
|
+
"matchedStatuses": [
|
|
12
|
+
"failed"
|
|
13
|
+
],
|
|
14
|
+
"messageRegex": ".*security.*(?:medium|high).*"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"name": "Open Bugs",
|
|
18
|
+
"matchedStatuses": [
|
|
19
|
+
"failed"
|
|
20
|
+
],
|
|
21
|
+
"messageRegex": ".*Bug.*"
|
|
22
|
+
}
|
|
23
|
+
]
|