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.
Files changed (128) hide show
  1. package/.agents/skills/build-epic/SKILL.md +1 -1
  2. package/.agents/skills/commit-message/SKILL.md +1 -0
  3. package/.agents/skills/release-branch/SKILL.md +4 -5
  4. package/.agents/skills/run-planning/SKILL.md +6 -1
  5. package/.agents/skills/verify-work/SKILL.md +2 -1
  6. package/.cline/skills/build-epic/SKILL.md +1 -1
  7. package/.cline/skills/commit-message/SKILL.md +1 -0
  8. package/.cline/skills/release-branch/SKILL.md +4 -5
  9. package/.cline/skills/run-planning/SKILL.md +6 -1
  10. package/.cline/skills/verify-work/SKILL.md +2 -1
  11. package/.codebuddy/skills/build-epic/SKILL.md +1 -1
  12. package/.codebuddy/skills/commit-message/SKILL.md +1 -0
  13. package/.codebuddy/skills/release-branch/SKILL.md +4 -5
  14. package/.codebuddy/skills/run-planning/SKILL.md +6 -1
  15. package/.codebuddy/skills/verify-work/SKILL.md +2 -1
  16. package/.codex/skills/build-epic/SKILL.md +1 -1
  17. package/.codex/skills/commit-message/SKILL.md +1 -0
  18. package/.codex/skills/release-branch/SKILL.md +4 -5
  19. package/.codex/skills/run-planning/SKILL.md +6 -1
  20. package/.codex/skills/verify-work/SKILL.md +2 -1
  21. package/.copilot/skills/build-epic/SKILL.md +1 -1
  22. package/.copilot/skills/commit-message/SKILL.md +1 -0
  23. package/.copilot/skills/release-branch/SKILL.md +4 -5
  24. package/.copilot/skills/run-planning/SKILL.md +6 -1
  25. package/.copilot/skills/verify-work/SKILL.md +2 -1
  26. package/.cursor/rules/build-epic.mdc +1 -1
  27. package/.cursor/rules/commit-message.mdc +1 -0
  28. package/.cursor/rules/release-branch.mdc +4 -5
  29. package/.cursor/rules/run-planning.mdc +6 -1
  30. package/.cursor/rules/verify-work.mdc +2 -1
  31. package/.gemini/extensions/bigpowers/commands/prompts/build-epic.md +1 -1
  32. package/.gemini/extensions/bigpowers/commands/prompts/commit-message.md +1 -0
  33. package/.gemini/extensions/bigpowers/commands/prompts/release-branch.md +4 -5
  34. package/.gemini/extensions/bigpowers/commands/prompts/run-planning.md +6 -1
  35. package/.gemini/extensions/bigpowers/commands/prompts/verify-work.md +2 -1
  36. package/.gemini/extensions/bigpowers/gemini-extension.json +1 -1
  37. package/.gemini/extensions/bigpowers/skills/build-epic/SKILL.md +1 -1
  38. package/.gemini/extensions/bigpowers/skills/commit-message/SKILL.md +1 -0
  39. package/.gemini/extensions/bigpowers/skills/release-branch/SKILL.md +4 -5
  40. package/.gemini/extensions/bigpowers/skills/run-planning/SKILL.md +6 -1
  41. package/.gemini/extensions/bigpowers/skills/verify-work/SKILL.md +2 -1
  42. package/.hermes/skills/build-epic/SKILL.md +1 -1
  43. package/.hermes/skills/commit-message/SKILL.md +1 -0
  44. package/.hermes/skills/release-branch/SKILL.md +4 -5
  45. package/.hermes/skills/run-planning/SKILL.md +6 -1
  46. package/.hermes/skills/verify-work/SKILL.md +2 -1
  47. package/.kilocode/rules/build-epic.md +1 -1
  48. package/.kilocode/rules/commit-message.md +1 -0
  49. package/.kilocode/rules/release-branch.md +4 -5
  50. package/.kilocode/rules/run-planning.md +6 -1
  51. package/.kilocode/rules/verify-work.md +2 -1
  52. package/.mimocode/skills/build-epic/SKILL.md +1 -1
  53. package/.mimocode/skills/commit-message/SKILL.md +1 -0
  54. package/.mimocode/skills/release-branch/SKILL.md +4 -5
  55. package/.mimocode/skills/run-planning/SKILL.md +6 -1
  56. package/.mimocode/skills/verify-work/SKILL.md +2 -1
  57. package/.opencode/skills/build-epic/SKILL.md +1 -1
  58. package/.opencode/skills/commit-message/SKILL.md +1 -0
  59. package/.opencode/skills/release-branch/SKILL.md +4 -5
  60. package/.opencode/skills/run-planning/SKILL.md +6 -1
  61. package/.opencode/skills/verify-work/SKILL.md +2 -1
  62. package/.pi/package.json +1 -1
  63. package/.pi/prompts/build-epic.md +1 -1
  64. package/.pi/prompts/commit-message.md +1 -0
  65. package/.pi/prompts/release-branch.md +4 -5
  66. package/.pi/prompts/run-planning.md +6 -1
  67. package/.pi/prompts/verify-work.md +2 -1
  68. package/.pi/skills/build-epic/SKILL.md +1 -1
  69. package/.pi/skills/commit-message/SKILL.md +1 -0
  70. package/.pi/skills/release-branch/SKILL.md +4 -5
  71. package/.pi/skills/run-planning/SKILL.md +6 -1
  72. package/.pi/skills/verify-work/SKILL.md +2 -1
  73. package/.qwen/skills/build-epic/SKILL.md +1 -1
  74. package/.qwen/skills/commit-message/SKILL.md +1 -0
  75. package/.qwen/skills/release-branch/SKILL.md +4 -5
  76. package/.qwen/skills/run-planning/SKILL.md +6 -1
  77. package/.qwen/skills/verify-work/SKILL.md +2 -1
  78. package/.trae/skills/build-epic/SKILL.md +1 -1
  79. package/.trae/skills/commit-message/SKILL.md +1 -0
  80. package/.trae/skills/release-branch/SKILL.md +4 -5
  81. package/.trae/skills/run-planning/SKILL.md +6 -1
  82. package/.trae/skills/verify-work/SKILL.md +2 -1
  83. package/.windsurf/rules/build-epic.md +1 -1
  84. package/.windsurf/rules/commit-message.md +1 -0
  85. package/.windsurf/rules/release-branch.md +4 -5
  86. package/.windsurf/rules/run-planning.md +6 -1
  87. package/.windsurf/rules/verify-work.md +2 -1
  88. package/.zcode/skills/build-epic/SKILL.md +1 -1
  89. package/.zcode/skills/commit-message/SKILL.md +1 -0
  90. package/.zcode/skills/release-branch/SKILL.md +4 -5
  91. package/.zcode/skills/run-planning/SKILL.md +6 -1
  92. package/.zcode/skills/verify-work/SKILL.md +2 -1
  93. package/CHANGELOG.md +14 -0
  94. package/hooks/pre-tool-use.sh +23 -1
  95. package/package.json +2 -1
  96. package/scripts/convert-legado.sh +1 -0
  97. package/scripts/lib/__pycache__/atomic_write.cpython-310.pyc +0 -0
  98. package/scripts/lib/__pycache__/link_utils.cpython-310.pyc +0 -0
  99. package/scripts/lib/__pycache__/srp_engine_links.cpython-310.pyc +0 -0
  100. package/scripts/lib/__pycache__/srp_engine_okf.cpython-310.pyc +0 -0
  101. package/scripts/lib/ab_report.py +11 -4
  102. package/scripts/lib/assert-epic-gate.sh +32 -0
  103. package/scripts/lib/assert-planning-artifacts.sh +65 -0
  104. package/scripts/lib/atomic_write.py +71 -0
  105. package/scripts/lib/blind-spot-checks.py +3 -1
  106. package/scripts/lib/blind-spots.py +3 -1
  107. package/scripts/lib/golden-suite-gates.sh +2 -0
  108. package/scripts/lib/run-benchmark.py +7 -5
  109. package/scripts/lib/srp_engine_okf.py +6 -2
  110. package/scripts/lib/trace-stories.py +6 -4
  111. package/scripts/lib/trace_renderer.py +6 -4
  112. package/scripts/okf-add-references.py +4 -1
  113. package/scripts/sync-bugs-registry.sh +5 -2
  114. package/scripts/test-atomic-writes.sh +129 -0
  115. package/scripts/test-generated-path-hook.sh +57 -0
  116. package/scripts/test-test-lock-hook.sh +100 -0
  117. package/scripts/validate-doctrine.sh +4 -4
  118. package/scripts/verify-adversarial.sh +146 -0
  119. package/scripts/verify-tdd-red-commit.sh +39 -1
  120. package/scripts/yaml-tools.py +6 -3
  121. package/skills/build-epic/SKILL.md +1 -1
  122. package/skills/commit-message/SKILL.md +1 -0
  123. package/skills/release-branch/SKILL.md +4 -5
  124. package/skills/run-planning/SKILL.md +6 -1
  125. package/skills/verify-work/SKILL.md +2 -1
  126. package/skills-lock.json +5 -5
  127. package/tests/test-artifact-assertions.sh +86 -0
  128. 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