bigpowers 2.90.1 → 2.91.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/.agents/skills/build-epic/SKILL.md +1 -1
- package/.agents/skills/commit-message/SKILL.md +1 -0
- package/.agents/skills/release-branch/SKILL.md +4 -5
- package/.agents/skills/run-planning/SKILL.md +6 -1
- package/.agents/skills/verify-work/SKILL.md +2 -1
- package/.cline/skills/build-epic/SKILL.md +1 -1
- package/.cline/skills/commit-message/SKILL.md +1 -0
- package/.cline/skills/release-branch/SKILL.md +4 -5
- package/.cline/skills/run-planning/SKILL.md +6 -1
- package/.cline/skills/verify-work/SKILL.md +2 -1
- package/.codebuddy/skills/build-epic/SKILL.md +1 -1
- package/.codebuddy/skills/commit-message/SKILL.md +1 -0
- package/.codebuddy/skills/release-branch/SKILL.md +4 -5
- package/.codebuddy/skills/run-planning/SKILL.md +6 -1
- package/.codebuddy/skills/verify-work/SKILL.md +2 -1
- package/.codex/skills/build-epic/SKILL.md +1 -1
- package/.codex/skills/commit-message/SKILL.md +1 -0
- package/.codex/skills/release-branch/SKILL.md +4 -5
- package/.codex/skills/run-planning/SKILL.md +6 -1
- package/.codex/skills/verify-work/SKILL.md +2 -1
- package/.copilot/skills/build-epic/SKILL.md +1 -1
- package/.copilot/skills/commit-message/SKILL.md +1 -0
- package/.copilot/skills/release-branch/SKILL.md +4 -5
- package/.copilot/skills/run-planning/SKILL.md +6 -1
- package/.copilot/skills/verify-work/SKILL.md +2 -1
- package/.cursor/rules/build-epic.mdc +1 -1
- package/.cursor/rules/commit-message.mdc +1 -0
- package/.cursor/rules/release-branch.mdc +4 -5
- package/.cursor/rules/run-planning.mdc +6 -1
- package/.cursor/rules/verify-work.mdc +2 -1
- package/.gemini/extensions/bigpowers/commands/prompts/build-epic.md +1 -1
- package/.gemini/extensions/bigpowers/commands/prompts/commit-message.md +1 -0
- package/.gemini/extensions/bigpowers/commands/prompts/release-branch.md +4 -5
- package/.gemini/extensions/bigpowers/commands/prompts/run-planning.md +6 -1
- package/.gemini/extensions/bigpowers/commands/prompts/verify-work.md +2 -1
- package/.gemini/extensions/bigpowers/gemini-extension.json +1 -1
- package/.gemini/extensions/bigpowers/skills/build-epic/SKILL.md +1 -1
- package/.gemini/extensions/bigpowers/skills/commit-message/SKILL.md +1 -0
- package/.gemini/extensions/bigpowers/skills/release-branch/SKILL.md +4 -5
- package/.gemini/extensions/bigpowers/skills/run-planning/SKILL.md +6 -1
- package/.gemini/extensions/bigpowers/skills/verify-work/SKILL.md +2 -1
- package/.hermes/skills/build-epic/SKILL.md +1 -1
- package/.hermes/skills/commit-message/SKILL.md +1 -0
- package/.hermes/skills/release-branch/SKILL.md +4 -5
- package/.hermes/skills/run-planning/SKILL.md +6 -1
- package/.hermes/skills/verify-work/SKILL.md +2 -1
- package/.kilocode/rules/build-epic.md +1 -1
- package/.kilocode/rules/commit-message.md +1 -0
- package/.kilocode/rules/release-branch.md +4 -5
- package/.kilocode/rules/run-planning.md +6 -1
- package/.kilocode/rules/verify-work.md +2 -1
- package/.mimocode/skills/build-epic/SKILL.md +1 -1
- package/.mimocode/skills/commit-message/SKILL.md +1 -0
- package/.mimocode/skills/release-branch/SKILL.md +4 -5
- package/.mimocode/skills/run-planning/SKILL.md +6 -1
- package/.mimocode/skills/verify-work/SKILL.md +2 -1
- package/.opencode/skills/build-epic/SKILL.md +1 -1
- package/.opencode/skills/commit-message/SKILL.md +1 -0
- package/.opencode/skills/release-branch/SKILL.md +4 -5
- package/.opencode/skills/run-planning/SKILL.md +6 -1
- package/.opencode/skills/verify-work/SKILL.md +2 -1
- package/.pi/package.json +1 -1
- package/.pi/prompts/build-epic.md +1 -1
- package/.pi/prompts/commit-message.md +1 -0
- package/.pi/prompts/release-branch.md +4 -5
- package/.pi/prompts/run-planning.md +6 -1
- package/.pi/prompts/verify-work.md +2 -1
- package/.pi/skills/build-epic/SKILL.md +1 -1
- package/.pi/skills/commit-message/SKILL.md +1 -0
- package/.pi/skills/release-branch/SKILL.md +4 -5
- package/.pi/skills/run-planning/SKILL.md +6 -1
- package/.pi/skills/verify-work/SKILL.md +2 -1
- package/.qwen/skills/build-epic/SKILL.md +1 -1
- package/.qwen/skills/commit-message/SKILL.md +1 -0
- package/.qwen/skills/release-branch/SKILL.md +4 -5
- package/.qwen/skills/run-planning/SKILL.md +6 -1
- package/.qwen/skills/verify-work/SKILL.md +2 -1
- package/.trae/skills/build-epic/SKILL.md +1 -1
- package/.trae/skills/commit-message/SKILL.md +1 -0
- package/.trae/skills/release-branch/SKILL.md +4 -5
- package/.trae/skills/run-planning/SKILL.md +6 -1
- package/.trae/skills/verify-work/SKILL.md +2 -1
- package/.windsurf/rules/build-epic.md +1 -1
- package/.windsurf/rules/commit-message.md +1 -0
- package/.windsurf/rules/release-branch.md +4 -5
- package/.windsurf/rules/run-planning.md +6 -1
- package/.windsurf/rules/verify-work.md +2 -1
- package/.zcode/skills/build-epic/SKILL.md +1 -1
- package/.zcode/skills/commit-message/SKILL.md +1 -0
- package/.zcode/skills/release-branch/SKILL.md +4 -5
- package/.zcode/skills/run-planning/SKILL.md +6 -1
- package/.zcode/skills/verify-work/SKILL.md +2 -1
- package/CHANGELOG.md +14 -0
- package/hooks/pre-tool-use.sh +23 -1
- package/package.json +2 -1
- package/scripts/convert-legado.sh +1 -0
- package/scripts/lib/__pycache__/atomic_write.cpython-310.pyc +0 -0
- package/scripts/lib/__pycache__/link_utils.cpython-310.pyc +0 -0
- package/scripts/lib/__pycache__/srp_engine_links.cpython-310.pyc +0 -0
- package/scripts/lib/__pycache__/srp_engine_okf.cpython-310.pyc +0 -0
- package/scripts/lib/ab_report.py +11 -4
- package/scripts/lib/assert-epic-gate.sh +32 -0
- package/scripts/lib/assert-planning-artifacts.sh +65 -0
- package/scripts/lib/atomic_write.py +71 -0
- package/scripts/lib/blind-spot-checks.py +3 -1
- package/scripts/lib/blind-spots.py +3 -1
- package/scripts/lib/golden-suite-gates.sh +2 -0
- package/scripts/lib/run-benchmark.py +7 -5
- package/scripts/lib/srp_engine_okf.py +6 -2
- package/scripts/lib/trace-stories.py +6 -4
- package/scripts/lib/trace_renderer.py +6 -4
- package/scripts/okf-add-references.py +4 -1
- package/scripts/sync-bugs-registry.sh +5 -2
- package/scripts/test-atomic-writes.sh +129 -0
- package/scripts/test-generated-path-hook.sh +57 -0
- package/scripts/test-test-lock-hook.sh +100 -0
- package/scripts/validate-doctrine.sh +4 -4
- package/scripts/verify-adversarial.sh +146 -0
- package/scripts/verify-tdd-red-commit.sh +39 -1
- package/scripts/yaml-tools.py +6 -3
- package/skills/build-epic/SKILL.md +1 -1
- package/skills/commit-message/SKILL.md +1 -0
- package/skills/release-branch/SKILL.md +4 -5
- package/skills/run-planning/SKILL.md +6 -1
- package/skills/verify-work/SKILL.md +2 -1
- package/skills-lock.json +5 -5
- package/tests/test-artifact-assertions.sh +86 -0
- package/tests/test-verify-adversarial.sh +27 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# story: e86 / GH #182 / GH #183
|
|
3
|
+
# Tests for mechanical artifact assertions and epic audit gate.
|
|
4
|
+
set -euo pipefail
|
|
5
|
+
|
|
6
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
7
|
+
REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
8
|
+
|
|
9
|
+
pass_count=0
|
|
10
|
+
fail_count=0
|
|
11
|
+
|
|
12
|
+
assert_true() {
|
|
13
|
+
local label="$1"
|
|
14
|
+
shift
|
|
15
|
+
if "$@"; then
|
|
16
|
+
echo " PASS $label"
|
|
17
|
+
pass_count=$((pass_count + 1))
|
|
18
|
+
else
|
|
19
|
+
echo " FAIL $label"
|
|
20
|
+
fail_count=$((fail_count + 1))
|
|
21
|
+
fi
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
assert_false() {
|
|
25
|
+
local label="$1"
|
|
26
|
+
shift
|
|
27
|
+
if ! "$@"; then
|
|
28
|
+
echo " PASS $label"
|
|
29
|
+
pass_count=$((pass_count + 1))
|
|
30
|
+
else
|
|
31
|
+
echo " FAIL $label"
|
|
32
|
+
fail_count=$((fail_count + 1))
|
|
33
|
+
fi
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
echo "=== Artifact & Gate Assertion Tests (GH #182, GH #183) ==="
|
|
37
|
+
|
|
38
|
+
TMP_DIR=$(mktemp -d)
|
|
39
|
+
trap 'rm -rf "$TMP_DIR"' EXIT
|
|
40
|
+
|
|
41
|
+
cd "$TMP_DIR"
|
|
42
|
+
mkdir -p specs/product specs/epics/e01-test
|
|
43
|
+
|
|
44
|
+
# 1. Test assert-planning-artifacts.sh for scope-work (missing -> fail, present -> pass)
|
|
45
|
+
assert_false "scope-work fails when SCOPE_LATEST.yaml missing" \
|
|
46
|
+
bash "$REPO_ROOT/scripts/lib/assert-planning-artifacts.sh" scope-work
|
|
47
|
+
|
|
48
|
+
echo "scope: test" > specs/product/SCOPE_LATEST.yaml
|
|
49
|
+
assert_true "scope-work passes when SCOPE_LATEST.yaml exists and non-empty" \
|
|
50
|
+
bash "$REPO_ROOT/scripts/lib/assert-planning-artifacts.sh" scope-work
|
|
51
|
+
|
|
52
|
+
# 2. Test assert-planning-artifacts.sh for slice-tasks
|
|
53
|
+
assert_false "slice-tasks fails when no *-tasks.yaml exists" \
|
|
54
|
+
bash "$REPO_ROOT/scripts/lib/assert-planning-artifacts.sh" slice-tasks
|
|
55
|
+
|
|
56
|
+
cat > specs/epics/e01-test/e01s01-tasks.yaml <<'YAML'
|
|
57
|
+
story_id: e01s01
|
|
58
|
+
tasks: []
|
|
59
|
+
YAML
|
|
60
|
+
assert_true "slice-tasks passes when *-tasks.yaml exists" \
|
|
61
|
+
bash "$REPO_ROOT/scripts/lib/assert-planning-artifacts.sh" slice-tasks
|
|
62
|
+
|
|
63
|
+
# 3. Test assert-epic-gate.sh (Issue #182)
|
|
64
|
+
assert_false "assert-epic-gate fails when no audit report exists" \
|
|
65
|
+
bash "$REPO_ROOT/scripts/lib/assert-epic-gate.sh" commit
|
|
66
|
+
|
|
67
|
+
cat > specs/AUDIT_LATEST.md <<'MD'
|
|
68
|
+
# Audit Report
|
|
69
|
+
VERDICT: FAIL
|
|
70
|
+
MD
|
|
71
|
+
assert_false "assert-epic-gate fails when audit report is FAIL" \
|
|
72
|
+
bash "$REPO_ROOT/scripts/lib/assert-epic-gate.sh" commit
|
|
73
|
+
|
|
74
|
+
cat > specs/AUDIT_LATEST.md <<'MD'
|
|
75
|
+
# Audit Report
|
|
76
|
+
VERDICT: PASS
|
|
77
|
+
MD
|
|
78
|
+
assert_true "assert-epic-gate passes when audit report is PASS" \
|
|
79
|
+
bash "$REPO_ROOT/scripts/lib/assert-epic-gate.sh" commit
|
|
80
|
+
|
|
81
|
+
echo ""
|
|
82
|
+
echo "=== Summary: $pass_count passed, $fail_count failed ==="
|
|
83
|
+
if [ "$fail_count" -gt 0 ]; then
|
|
84
|
+
exit 1
|
|
85
|
+
fi
|
|
86
|
+
exit 0
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# story: e86 / verify-work adversarial mutation
|
|
3
|
+
set -euo pipefail
|
|
4
|
+
|
|
5
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
6
|
+
REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
7
|
+
|
|
8
|
+
echo "=== Testing verify-adversarial.sh ==="
|
|
9
|
+
|
|
10
|
+
# 1. Run self-test
|
|
11
|
+
bash "$REPO_ROOT/scripts/verify-adversarial.sh" --self-test
|
|
12
|
+
echo " PASS verify-adversarial self-test"
|
|
13
|
+
|
|
14
|
+
# 2. Run normal invocation in repo root
|
|
15
|
+
bash "$REPO_ROOT/scripts/verify-adversarial.sh"
|
|
16
|
+
echo " PASS verify-adversarial repo root run"
|
|
17
|
+
|
|
18
|
+
# 3. Assert artifact was created
|
|
19
|
+
if [[ -f "$REPO_ROOT/specs/verifications/ADVERSARIAL_LATEST.yaml" ]]; then
|
|
20
|
+
echo " PASS ADVERSARIAL_LATEST.yaml created"
|
|
21
|
+
else
|
|
22
|
+
echo " FAIL ADVERSARIAL_LATEST.yaml missing"
|
|
23
|
+
exit 1
|
|
24
|
+
fi
|
|
25
|
+
|
|
26
|
+
echo "=== All verify-adversarial tests passed ==="
|
|
27
|
+
exit 0
|