bigpowers 2.86.4 → 2.86.5
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/.agents/skills/craft-skill/SKILL.md +2 -2
- package/.agents/skills/define-success/SKILL.md +6 -59
- package/.agents/skills/deploy/SKILL.md +1 -1
- package/.agents/skills/elaborate-spec/SKILL.md +1 -1
- package/.agents/skills/harden-vps/SKILL.md +63 -60
- package/.agents/skills/investigate-bug/SKILL.md +2 -2
- package/.agents/skills/orchestrate-project/SKILL.md +1 -1
- package/.agents/skills/plan-refactor/SKILL.md +2 -2
- package/.agents/skills/plan-release/SKILL.md +2 -2
- package/.agents/skills/plan-work/SKILL.md +1 -1
- package/.agents/skills/using-bigpowers/SKILL.md +2 -2
- package/.agents/skills/wire-ci/SKILL.md +11 -14
- package/.codebuddy/skills/craft-skill/SKILL.md +2 -2
- package/.codebuddy/skills/define-success/SKILL.md +6 -59
- package/.codebuddy/skills/deploy/SKILL.md +1 -1
- package/.codebuddy/skills/elaborate-spec/SKILL.md +1 -1
- package/.codebuddy/skills/harden-vps/SKILL.md +63 -60
- package/.codebuddy/skills/investigate-bug/SKILL.md +2 -2
- package/.codebuddy/skills/orchestrate-project/SKILL.md +1 -1
- package/.codebuddy/skills/plan-refactor/SKILL.md +2 -2
- package/.codebuddy/skills/plan-release/SKILL.md +2 -2
- package/.codebuddy/skills/plan-work/SKILL.md +1 -1
- package/.codebuddy/skills/using-bigpowers/SKILL.md +2 -2
- package/.codebuddy/skills/wire-ci/SKILL.md +11 -14
- package/.codex/skills/craft-skill/SKILL.md +2 -2
- package/.codex/skills/define-success/SKILL.md +6 -59
- package/.codex/skills/deploy/SKILL.md +1 -1
- package/.codex/skills/elaborate-spec/SKILL.md +1 -1
- package/.codex/skills/harden-vps/SKILL.md +63 -60
- package/.codex/skills/investigate-bug/SKILL.md +2 -2
- package/.codex/skills/orchestrate-project/SKILL.md +1 -1
- package/.codex/skills/plan-refactor/SKILL.md +2 -2
- package/.codex/skills/plan-release/SKILL.md +2 -2
- package/.codex/skills/plan-work/SKILL.md +1 -1
- package/.codex/skills/using-bigpowers/SKILL.md +2 -2
- package/.codex/skills/wire-ci/SKILL.md +11 -14
- package/.hermes/skills/craft-skill/SKILL.md +2 -2
- package/.hermes/skills/define-success/SKILL.md +6 -59
- package/.hermes/skills/deploy/SKILL.md +1 -1
- package/.hermes/skills/elaborate-spec/SKILL.md +1 -1
- package/.hermes/skills/harden-vps/SKILL.md +63 -60
- package/.hermes/skills/investigate-bug/SKILL.md +2 -2
- package/.hermes/skills/orchestrate-project/SKILL.md +1 -1
- package/.hermes/skills/plan-refactor/SKILL.md +2 -2
- package/.hermes/skills/plan-release/SKILL.md +2 -2
- package/.hermes/skills/plan-work/SKILL.md +1 -1
- package/.hermes/skills/using-bigpowers/SKILL.md +2 -2
- package/.hermes/skills/wire-ci/SKILL.md +11 -14
- package/.kilocode/rules/craft-skill.md +2 -2
- package/.kilocode/rules/define-success.md +6 -59
- package/.kilocode/rules/deploy.md +1 -1
- package/.kilocode/rules/elaborate-spec.md +1 -1
- package/.kilocode/rules/harden-vps.md +63 -60
- package/.kilocode/rules/investigate-bug.md +2 -2
- package/.kilocode/rules/orchestrate-project.md +1 -1
- package/.kilocode/rules/plan-refactor.md +2 -2
- package/.kilocode/rules/plan-release.md +2 -2
- package/.kilocode/rules/plan-work.md +1 -1
- package/.kilocode/rules/using-bigpowers.md +2 -2
- package/.kilocode/rules/wire-ci.md +11 -14
- package/.mimocode/skills/craft-skill/SKILL.md +2 -2
- package/.mimocode/skills/define-success/SKILL.md +6 -59
- package/.mimocode/skills/deploy/SKILL.md +1 -1
- package/.mimocode/skills/elaborate-spec/SKILL.md +1 -1
- package/.mimocode/skills/harden-vps/SKILL.md +63 -60
- package/.mimocode/skills/investigate-bug/SKILL.md +2 -2
- package/.mimocode/skills/orchestrate-project/SKILL.md +1 -1
- package/.mimocode/skills/plan-refactor/SKILL.md +2 -2
- package/.mimocode/skills/plan-release/SKILL.md +2 -2
- package/.mimocode/skills/plan-work/SKILL.md +1 -1
- package/.mimocode/skills/using-bigpowers/SKILL.md +2 -2
- package/.mimocode/skills/wire-ci/SKILL.md +11 -14
- package/.pi/package.json +1 -1
- package/.pi/prompts/craft-skill.md +2 -2
- package/.pi/prompts/define-success.md +5 -58
- package/.pi/prompts/deploy.md +1 -1
- package/.pi/prompts/elaborate-spec.md +1 -1
- package/.pi/prompts/harden-vps.md +63 -60
- package/.pi/prompts/investigate-bug.md +2 -2
- package/.pi/prompts/orchestrate-project.md +1 -1
- package/.pi/prompts/plan-refactor.md +2 -2
- package/.pi/prompts/plan-release.md +2 -2
- package/.pi/prompts/plan-work.md +1 -1
- package/.pi/prompts/using-bigpowers.md +2 -2
- package/.pi/prompts/wire-ci.md +11 -14
- package/.pi/skills/craft-skill/SKILL.md +2 -2
- package/.pi/skills/define-success/SKILL.md +6 -59
- package/.pi/skills/deploy/SKILL.md +1 -1
- package/.pi/skills/elaborate-spec/SKILL.md +1 -1
- package/.pi/skills/harden-vps/SKILL.md +63 -60
- package/.pi/skills/investigate-bug/SKILL.md +2 -2
- package/.pi/skills/orchestrate-project/SKILL.md +1 -1
- package/.pi/skills/plan-refactor/SKILL.md +2 -2
- package/.pi/skills/plan-release/SKILL.md +2 -2
- package/.pi/skills/plan-work/SKILL.md +1 -1
- package/.pi/skills/using-bigpowers/SKILL.md +2 -2
- package/.pi/skills/wire-ci/SKILL.md +11 -14
- package/.trae/skills/craft-skill/SKILL.md +2 -2
- package/.trae/skills/define-success/SKILL.md +6 -59
- package/.trae/skills/deploy/SKILL.md +1 -1
- package/.trae/skills/elaborate-spec/SKILL.md +1 -1
- package/.trae/skills/harden-vps/SKILL.md +63 -60
- package/.trae/skills/investigate-bug/SKILL.md +2 -2
- package/.trae/skills/orchestrate-project/SKILL.md +1 -1
- package/.trae/skills/plan-refactor/SKILL.md +2 -2
- package/.trae/skills/plan-release/SKILL.md +2 -2
- package/.trae/skills/plan-work/SKILL.md +1 -1
- package/.trae/skills/using-bigpowers/SKILL.md +2 -2
- package/.trae/skills/wire-ci/SKILL.md +11 -14
- package/.windsurf/rules/craft-skill.md +2 -2
- package/.windsurf/rules/define-success.md +6 -59
- package/.windsurf/rules/deploy.md +1 -1
- package/.windsurf/rules/elaborate-spec.md +1 -1
- package/.windsurf/rules/harden-vps.md +63 -60
- package/.windsurf/rules/investigate-bug.md +2 -2
- package/.windsurf/rules/orchestrate-project.md +1 -1
- package/.windsurf/rules/plan-refactor.md +2 -2
- package/.windsurf/rules/plan-release.md +2 -2
- package/.windsurf/rules/plan-work.md +1 -1
- package/.windsurf/rules/using-bigpowers.md +2 -2
- package/.windsurf/rules/wire-ci.md +11 -14
- package/.zcode/skills/craft-skill/SKILL.md +2 -2
- package/.zcode/skills/define-success/SKILL.md +6 -59
- package/.zcode/skills/deploy/SKILL.md +1 -1
- package/.zcode/skills/elaborate-spec/SKILL.md +1 -1
- package/.zcode/skills/harden-vps/SKILL.md +63 -60
- package/.zcode/skills/investigate-bug/SKILL.md +2 -2
- package/.zcode/skills/orchestrate-project/SKILL.md +1 -1
- package/.zcode/skills/plan-refactor/SKILL.md +2 -2
- package/.zcode/skills/plan-release/SKILL.md +2 -2
- package/.zcode/skills/plan-work/SKILL.md +1 -1
- package/.zcode/skills/using-bigpowers/SKILL.md +2 -2
- package/.zcode/skills/wire-ci/SKILL.md +11 -14
- package/CHANGELOG.md +7 -0
- package/SKILL-INDEX.md +2 -2
- package/package.json +1 -1
- package/scripts/check-skill-links.py +35 -0
- package/scripts/land-branch.sh +9 -3
- package/scripts/lib/__pycache__/link_utils.cpython-312.pyc +0 -0
- package/scripts/lib/__pycache__/srp_engine_links.cpython-312.pyc +0 -0
- package/scripts/lib/golden-suite-gates.sh +4 -0
- package/scripts/lib/target-contracts.sh +37 -1
- package/scripts/test-target-contracts.sh +73 -0
- package/scripts/tombstone-skill.sh +6 -0
- package/skills/craft-skill/SKILL.md +2 -2
- package/skills/define-success/SKILL.md +7 -61
- package/skills/deploy/SKILL.md +1 -1
- package/skills/elaborate-spec/SKILL.md +1 -1
- package/skills/harden-vps/REFERENCE.md +39 -36
- package/skills/harden-vps/SKILL.md +24 -24
- package/skills/investigate-bug/SKILL.md +2 -2
- package/skills/orchestrate-project/REFERENCE.md +1 -1
- package/skills/plan-refactor/SKILL.md +2 -2
- package/skills/plan-release/SKILL.md +2 -2
- package/skills/plan-work/SKILL.md +1 -1
- package/skills/security-review/fixtures/CWE-639-idor-negative.go +1 -1
- package/skills/security-review/fixtures/CWE-639-idor-positive.go +1 -1
- package/skills/using-bigpowers/SKILL.md +2 -2
- package/skills/wire-ci/REFERENCE.md +11 -14
- package/skills-lock.json +12 -12
- package/.fix_regex.sh +0 -16
- package/.hermes-verify-sed-fix.py +0 -53
- package/_test_e28s01.sh +0 -2
- package/audit-independent-unwaived-2026-07-06.md +0 -49
- package/hermes-verify-sed-fix.py +0 -30
- package/instructions +0 -1
- package/scripts/hermes-verify-e39s02.sh +0 -28
- package/test_figlet.py +0 -17
package/skills-lock.json
CHANGED
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
},
|
|
49
49
|
"craft-skill": {
|
|
50
50
|
"description": "Create new bigpowers skills with proper structure, progressive disclosure, and bundled resources. Use when user wants to create, write, or build a new skill for the bigpowers lifecycle.",
|
|
51
|
-
"sha256": "
|
|
51
|
+
"sha256": "f3b08c24979f1857",
|
|
52
52
|
"path": "skills/craft-skillSKILL.md"
|
|
53
53
|
},
|
|
54
54
|
"deepen-architecture": {
|
|
@@ -62,8 +62,8 @@
|
|
|
62
62
|
"path": "skills/define-languageSKILL.md"
|
|
63
63
|
},
|
|
64
64
|
"define-success": {
|
|
65
|
-
"description": "
|
|
66
|
-
"sha256": "
|
|
65
|
+
"description": "\"TOMBSTONE — renamed/merged to plan-work. This stub resolves for one release then is removed.\"",
|
|
66
|
+
"sha256": "b0aeb8c0d870fe2e",
|
|
67
67
|
"path": "skills/define-successSKILL.md"
|
|
68
68
|
},
|
|
69
69
|
"delegate-task": {
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
},
|
|
74
74
|
"deploy": {
|
|
75
75
|
"description": "\"Build → verify artifact → deploy → wait → smoke deployment pipeline. Platform-agnostic (MCP or CLI), with configurable timeout, retry with exponential backoff, and integrated health-check. The deploy half of CI/CD: run after build to push to production.\"",
|
|
76
|
-
"sha256": "
|
|
76
|
+
"sha256": "ddfcbfbfc464c620",
|
|
77
77
|
"path": "skills/deploySKILL.md"
|
|
78
78
|
},
|
|
79
79
|
"design-interface": {
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
},
|
|
109
109
|
"elaborate-spec": {
|
|
110
110
|
"description": "Refine a rough idea into a clear, detailed specification through dialogue. Does not produce code. Use when user has a vague idea, wants to think through a feature before planning, or needs to turn \"I want X\" into a concrete spec.",
|
|
111
|
-
"sha256": "
|
|
111
|
+
"sha256": "67385bef84425f6d",
|
|
112
112
|
"path": "skills/elaborate-specSKILL.md"
|
|
113
113
|
},
|
|
114
114
|
"enforce-first": {
|
|
@@ -167,8 +167,8 @@
|
|
|
167
167
|
"path": "skills/guard-gitSKILL.md"
|
|
168
168
|
},
|
|
169
169
|
"harden-vps": {
|
|
170
|
-
"description": "\"Harden a production Linux VPS for
|
|
171
|
-
"sha256": "
|
|
170
|
+
"description": "\"Harden a production Linux VPS for your application across three layers — application (systemd hardening, monitoring alerts, backup automation), Ubuntu OS (UFW firewall, fail2ban SSH, unattended-upgrades, SSH hardening), and VPS provider (health checks, daily backups, monthly snapshots). Use when the user wants to secure a production server, harden a VPS, audit server security, or mentions production hardening, VPS security, or harden the server.\"",
|
|
171
|
+
"sha256": "38db97ca3c00d736",
|
|
172
172
|
"path": "skills/harden-vpsSKILL.md"
|
|
173
173
|
},
|
|
174
174
|
"hook-commits": {
|
|
@@ -183,7 +183,7 @@
|
|
|
183
183
|
},
|
|
184
184
|
"investigate-bug": {
|
|
185
185
|
"description": "Investigate a bug or issue by exploring the codebase to find root cause, then write a TDD-based fix plan to specs/bugs/BUG-*.md. Use when user reports a bug, wants to investigate a problem, mentions \"triage\", or wants to plan a fix.",
|
|
186
|
-
"sha256": "
|
|
186
|
+
"sha256": "b842fd329d1f7741",
|
|
187
187
|
"path": "skills/investigate-bugSKILL.md"
|
|
188
188
|
},
|
|
189
189
|
"kickoff-branch": {
|
|
@@ -223,12 +223,12 @@
|
|
|
223
223
|
},
|
|
224
224
|
"plan-refactor": {
|
|
225
225
|
"description": "Create a detailed refactor plan with tiny commits via user interview, then save it as specs/REFACTOR_LATEST.md. Use when user wants to plan a refactor, create a refactoring RFC, or break a refactor into safe incremental steps.",
|
|
226
|
-
"sha256": "
|
|
226
|
+
"sha256": "c418c850806e2f16",
|
|
227
227
|
"path": "skills/plan-refactorSKILL.md"
|
|
228
228
|
},
|
|
229
229
|
"plan-release": {
|
|
230
230
|
"description": "\"RELEASE-INDEX BUILDER — Sequence elaborated epics into specs/release-plan.yaml with WSJF ordering and BCP baselines. NOT a planning-spine substitute: it does not scope work (scope-work) or write story tasks (plan-work). Use after elaborate-spec when the user wants a versioned release index of epics.\"",
|
|
231
|
-
"sha256": "
|
|
231
|
+
"sha256": "071acc0626c2a203",
|
|
232
232
|
"path": "skills/plan-releaseSKILL.md"
|
|
233
233
|
},
|
|
234
234
|
"plan-tests": {
|
|
@@ -238,7 +238,7 @@
|
|
|
238
238
|
},
|
|
239
239
|
"plan-work": {
|
|
240
240
|
"description": "\"PLANNING SPINE STEP 3 of 3 — Plan the work: write detailed implementation tasks into the active epic capsule (specs/epics/eNN-slug/). Produces countable-story-format .md specs and runnable -tasks.yaml files. Use after slice-tasks (step 2). Not a substitute for scope-work (step 1) or slice-tasks (step 2).\"",
|
|
241
|
-
"sha256": "
|
|
241
|
+
"sha256": "32c2bcaf16cb4ad2",
|
|
242
242
|
"path": "skills/plan-workSKILL.md"
|
|
243
243
|
},
|
|
244
244
|
"publish-package": {
|
|
@@ -363,7 +363,7 @@
|
|
|
363
363
|
},
|
|
364
364
|
"using-bigpowers": {
|
|
365
365
|
"description": "One-time bootstrap that introduces the bigpowers skills system, the PMBOK lifecycle arc, and tells you which skill to call first for your situation. Use when starting with bigpowers for the first time, when user asks \"where do I start?\", or when the skills system needs to be explained.",
|
|
366
|
-
"sha256": "
|
|
366
|
+
"sha256": "a6d780440a936929",
|
|
367
367
|
"path": "skills/using-bigpowersSKILL.md"
|
|
368
368
|
},
|
|
369
369
|
"validate-contracts": {
|
package/.fix_regex.sh
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# Fix the broken regex in migrate-version.sh
|
|
3
|
-
cd /Users/danielvm/Developer/bigpowers
|
|
4
|
-
python3 -c '
|
|
5
|
-
path = "scripts/migrate-version.sh"
|
|
6
|
-
with open(path) as f:
|
|
7
|
-
content = f.read()
|
|
8
|
-
|
|
9
|
-
old = """ pat = re.compile(rf\"^\"+re.escape(md_key.rstrip(\":\"))+\"\\\\s*[:=]\\\\s*(.+)$\", re.MULTILINE | re.IGNORECASE)"""
|
|
10
|
-
new = """ pat = re.compile(r\"^\" + re.escape(md_key.rstrip(\":\")) + r\"\\s*[:=]\\s*(.+)$\", re.MULTILINE | re.IGNORECASE)"""
|
|
11
|
-
|
|
12
|
-
content = content.replace(old, new)
|
|
13
|
-
with open(path, "w") as f:
|
|
14
|
-
f.write(content)
|
|
15
|
-
print("Fixed")
|
|
16
|
-
'
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import subprocess
|
|
2
|
-
|
|
3
|
-
REPO = "/Users/danielvm/Developer/bigpowers"
|
|
4
|
-
names = ["kickoff-branch","develop-tdd","wire-observability","hook-commits",
|
|
5
|
-
"request-review","dispatch-agents","investigate-bug","define-language",
|
|
6
|
-
"assess-impact","guard-git","smoke-test","respond-review","enforce-first"]
|
|
7
|
-
|
|
8
|
-
errs = 0
|
|
9
|
-
print("=== 1. Old sed vs new python3 (13 skills) ===")
|
|
10
|
-
for name in names:
|
|
11
|
-
old = subprocess.run(["sed", "-E", r"s/-/ /g; s/\b(.)/\U\1/g"],
|
|
12
|
-
input=name, capture_output=True, text=True).stdout.strip()
|
|
13
|
-
new = name.replace("-", " ").title()
|
|
14
|
-
if old != new:
|
|
15
|
-
print(f" BROKEN: {name:22s} -> old='{old}' new='{new}'")
|
|
16
|
-
errs += 1
|
|
17
|
-
|
|
18
|
-
print(f"\n {errs}/13 titles broken by BSD sed")
|
|
19
|
-
|
|
20
|
-
print("\n=== 2. Generated files match new fix ===")
|
|
21
|
-
ok = 0
|
|
22
|
-
for name in ["kickoff-branch","develop-tdd","wire-observability","dispatch-agents","guard-git"]:
|
|
23
|
-
path = f"{REPO}/specs/skills-wiki/skills/{name}.md"
|
|
24
|
-
expected = f'title: "{name.replace("-", " ").title()}"'
|
|
25
|
-
actual = "MISSING"
|
|
26
|
-
try:
|
|
27
|
-
with open(path) as f:
|
|
28
|
-
for line in f:
|
|
29
|
-
if line.startswith("title:"):
|
|
30
|
-
actual = line.strip()
|
|
31
|
-
break
|
|
32
|
-
except FileNotFoundError:
|
|
33
|
-
pass
|
|
34
|
-
match = "OK" if actual == expected else "MISMATCH"
|
|
35
|
-
if match == "OK": ok += 1
|
|
36
|
-
print(f" {match:8s} {name:22s} {actual}")
|
|
37
|
-
|
|
38
|
-
print(f"\n {ok}/5 generated files verified")
|
|
39
|
-
|
|
40
|
-
print("\n=== 3. validate-okf.sh ===")
|
|
41
|
-
r = subprocess.run(["bash", f"{REPO}/scripts/validate-okf.sh",
|
|
42
|
-
"--dir", f"{REPO}/specs/skills-wiki/skills"],
|
|
43
|
-
capture_output=True, text=True)
|
|
44
|
-
print(f" PASS={r.stdout.count('PASS ')} FAIL={r.stdout.count('FAIL ')} exit={r.returncode}")
|
|
45
|
-
|
|
46
|
-
print("\n=== 4. Patch applied ===")
|
|
47
|
-
with open(f"{REPO}/scripts/sync-skills.sh") as f:
|
|
48
|
-
for i, line in enumerate(f, 1):
|
|
49
|
-
if "python3" in line and "title()" in line:
|
|
50
|
-
print(f" line {i}: {line.strip()}")
|
|
51
|
-
break
|
|
52
|
-
|
|
53
|
-
print(f"\nVERDICT: {errs}/13 sed bug confirmed, {ok}/5 outputs correct, validate-okf pass")
|
package/_test_e28s01.sh
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
# Independent Compliance Audit (Unwaived Mode)
|
|
2
|
-
|
|
3
|
-
**Date**: 2026-07-06
|
|
4
|
-
**Mode**: Strict (All waivers disabled)
|
|
5
|
-
**Target**: `specs/verifications/features/`
|
|
6
|
-
**Result**: GATE: FAIL
|
|
7
|
-
|
|
8
|
-
## Summary of Execution
|
|
9
|
-
I executed the verification gates by temporarily bypassing `waivers.yaml` to run an independent compliance audit against the `bigpowers` principles and conventions without any exceptions. The `audit-compliance.sh` and `validate-doctrine.sh` scripts were successfully executed.
|
|
10
|
-
|
|
11
|
-
## Failed Verification Steps & Offending Scripts
|
|
12
|
-
|
|
13
|
-
By disabling the waivers, I isolated **4 failing verification steps**. Below is the mapping of each failure to its offending files and corresponding `bigpowers` skills:
|
|
14
|
-
|
|
15
|
-
### 1. Unique Public Symbols (`grep` < 5 results)
|
|
16
|
-
**Feature**: `akita.feature` (sourced from `conventions.feature`)
|
|
17
|
-
- **Reason**: Duplicate function names across multiple files (e.g., `agent_dry_run`, `assign_tier`, `cleanup`, `emit_json`, `fail`, `parse_frontmatter`, `pass`, `show_help`, `usage`).
|
|
18
|
-
- **Affected Core/Skills**: Common shared scripts and lifecycle utilities.
|
|
19
|
-
|
|
20
|
-
### 2. Context Window Constraint (< 300 lines)
|
|
21
|
-
**Feature**: `akita.feature`
|
|
22
|
-
- **Reason**: Scripts exceeding the 300-line limit for agent context windows.
|
|
23
|
-
- **Offending Files**:
|
|
24
|
-
- `scripts/sync-skills.sh` (Mapped to: `craft-skill`, `evolve-skill`, `maintain-wiki`)
|
|
25
|
-
- `scripts/migrate-version.sh` (Mapped to: `migrate-spec`)
|
|
26
|
-
- `scripts/run-verification-gates.sh` (Core harness)
|
|
27
|
-
- `scripts/validate-okf.sh` (Core harness)
|
|
28
|
-
- `scripts/audit-compliance.sh` (Core harness / `audit-code`)
|
|
29
|
-
- `scripts/run-golden-suite.sh` (Core harness)
|
|
30
|
-
- `scripts/lib/trace-matrix.py` (Mapped to: `gate-trace`)
|
|
31
|
-
- `scripts/lib/trace-stories.py` (Mapped to: `trace-requirement`)
|
|
32
|
-
|
|
33
|
-
### 3. Newspaper Metaphor (< 500 lines)
|
|
34
|
-
**Feature**: `cleancode.feature`
|
|
35
|
-
- **Reason**: Critical scripts exceeding the absolute 500-line hard cap.
|
|
36
|
-
- **Offending Files**:
|
|
37
|
-
- `scripts/sync-skills.sh` (Mapped to: `craft-skill`, `evolve-skill`)
|
|
38
|
-
- `scripts/migrate-version.sh` (Mapped to: `migrate-spec`)
|
|
39
|
-
- `scripts/lib/trace-matrix.py` (Mapped to: `gate-trace`)
|
|
40
|
-
|
|
41
|
-
### 4. Boolean Encapsulation (G28)
|
|
42
|
-
**Feature**: `cleancode.feature`
|
|
43
|
-
- **Reason**: Complex, multi-clause bash conditional logic not encapsulated in named functions.
|
|
44
|
-
- **Offending Files**:
|
|
45
|
-
- `scripts/migrate-version.sh` (Mapped to: `migrate-spec`)
|
|
46
|
-
- `scripts/check-spec-version-gap.sh` (Mapped to: `plan-release`)
|
|
47
|
-
|
|
48
|
-
## Restoration
|
|
49
|
-
After the test run concluded, the original `waivers.yaml` was restored to preserve environment integrity. No actual code modifications were made.
|
package/hermes-verify-sed-fix.py
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import subprocess
|
|
2
|
-
names=["kickoff-branch","develop-tdd","wire-observability","hook-commits","request-review","dispatch-agents","investigate-bug","define-language","assess-impact","guard-git","smoke-test","respond-review","enforce-first"]
|
|
3
|
-
errs=0
|
|
4
|
-
print("=== 1. Old sed vs new python3 ===")
|
|
5
|
-
for name in names:
|
|
6
|
-
old=subprocess.run(["sed","-E",r"s/-/ /g; s/\b(.)/\U\1/g"],input=name,capture_output=True,text=True).stdout.strip()
|
|
7
|
-
new=name.replace("-"," ").title()
|
|
8
|
-
if old!=new:
|
|
9
|
-
print(f" BROKEN: {name:22s} old={old!r:22s} new={new!r}")
|
|
10
|
-
errs+=1
|
|
11
|
-
print(f" {errs}/13 broken")
|
|
12
|
-
print("\n=== 2. Generated files ===")
|
|
13
|
-
ok=0
|
|
14
|
-
for name in ["kickoff-branch","develop-tdd","wire-observability","dispatch-agents","guard-git"]:
|
|
15
|
-
path=f"specs/skills-wiki/skills/{name}.md"
|
|
16
|
-
expected="title: \\"%s\\""%name.replace("-"," ").title()
|
|
17
|
-
actual="MISSING"
|
|
18
|
-
try:
|
|
19
|
-
with open(path) as f:
|
|
20
|
-
for line in f:
|
|
21
|
-
if line.startswith("title:"):actual=line.strip();break
|
|
22
|
-
except:pass
|
|
23
|
-
match="OK" if actual==expected else "MISMATCH"
|
|
24
|
-
if match=="OK":ok+=1
|
|
25
|
-
print(f" {match:8s} {name}")
|
|
26
|
-
print(f" {ok}/5 ok")
|
|
27
|
-
print("\n=== 3. validate-okf ===")
|
|
28
|
-
r=subprocess.run(["bash","scripts/validate-okf.sh","--dir","specs/skills-wiki/skills"],capture_output=True,text=True)
|
|
29
|
-
print(f" exit={r.returncode} pass_lines={r.stdout.count(chr(80)+chr(65)+chr(83)+chr(83))}")
|
|
30
|
-
print(f"\nVERDICT: {errs}/13 sed bug, {ok}/5 outputs correct, validate-okf exit={r.returncode}")
|
package/instructions
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
AGENTS.md: AGENTS.md
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# Ad-hoc verification: e39s02 agent-locks protocol
|
|
3
|
-
REPO="/Users/danielvm/Developer/bigpowers"
|
|
4
|
-
ERR=0
|
|
5
|
-
echo "=== e39s02 agent-locks verification ==="
|
|
6
|
-
|
|
7
|
-
echo -n "1. agent-locks.yaml: "
|
|
8
|
-
test -f "$REPO/specs/agent-locks.yaml" || { echo "MISSING"; ERR=1; }
|
|
9
|
-
LOCKS=$(yq '.locks | length' "$REPO/specs/agent-locks.yaml" 2>/dev/null)
|
|
10
|
-
[ "$LOCKS" = "0" ] && echo "OK (0 locks)" || { echo "FAIL ($LOCKS)"; ERR=1; }
|
|
11
|
-
|
|
12
|
-
echo -n "2. kickoff-branch: "
|
|
13
|
-
grep -q 'agent-locks' "$REPO/skills/kickoff-branch/SKILL.md" && echo "OK" || { echo "FAIL"; ERR=1; }
|
|
14
|
-
|
|
15
|
-
echo -n "3. release-branch: "
|
|
16
|
-
grep -q 'agent-locks' "$REPO/skills/release-branch/SKILL.md" && echo "OK" || { echo "FAIL"; ERR=1; }
|
|
17
|
-
|
|
18
|
-
echo -n "4. CI workflow: "
|
|
19
|
-
grep -rq 'agent-locks' "$REPO/.github/workflows/" && echo "OK" || { echo "FAIL"; ERR=1; }
|
|
20
|
-
echo -n " 24h threshold: "
|
|
21
|
-
grep -q 'timedelta(hours=24)' "$REPO/.github/workflows/agent-locks.yml" && echo "OK" || { echo "FAIL"; ERR=1; }
|
|
22
|
-
echo -n " exit(1): "
|
|
23
|
-
grep -q 'sys.exit(1)' "$REPO/.github/workflows/agent-locks.yml" && echo "OK" || { echo "FAIL"; ERR=1; }
|
|
24
|
-
echo -n " hourly cron: "
|
|
25
|
-
grep -q 'cron: "0 \* \* \* \*"' "$REPO/.github/workflows/agent-locks.yml" && echo "OK" || { echo "FAIL"; ERR=1; }
|
|
26
|
-
|
|
27
|
-
[ $ERR -eq 0 ] && echo "ALL CHECKS PASSED" || echo "SOME FAILED"
|
|
28
|
-
exit $ERR
|
package/test_figlet.py
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import sys
|
|
2
|
-
try:
|
|
3
|
-
import pyfiglet
|
|
4
|
-
except ImportError:
|
|
5
|
-
import subprocess
|
|
6
|
-
subprocess.run([sys.executable, '-m', 'pip', 'install', 'pyfiglet'])
|
|
7
|
-
import pyfiglet
|
|
8
|
-
|
|
9
|
-
text = "BIGPOWERS"
|
|
10
|
-
fonts = ['ansi_shadow', 'block', 'colossal', 'epic', 'banner3', 'cyberlarge', 'isometric1', 'rectangles', 'alligator', 'alpha']
|
|
11
|
-
|
|
12
|
-
for f in fonts:
|
|
13
|
-
try:
|
|
14
|
-
print(f"Font: {f}")
|
|
15
|
-
print(pyfiglet.figlet_format(text, font=f))
|
|
16
|
-
except Exception as e:
|
|
17
|
-
print(f"Error with {f}: {e}")
|