@qball-inc/the-bulwark 1.0.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 (175) hide show
  1. package/.claude-plugin/plugin.json +43 -0
  2. package/agents/bulwark-fix-validator.md +633 -0
  3. package/agents/bulwark-implementer.md +391 -0
  4. package/agents/bulwark-issue-analyzer.md +308 -0
  5. package/agents/bulwark-standards-reviewer.md +221 -0
  6. package/agents/plan-creation-architect.md +323 -0
  7. package/agents/plan-creation-eng-lead.md +352 -0
  8. package/agents/plan-creation-po.md +300 -0
  9. package/agents/plan-creation-qa-critic.md +334 -0
  10. package/agents/product-ideation-competitive-analyzer.md +298 -0
  11. package/agents/product-ideation-idea-validator.md +268 -0
  12. package/agents/product-ideation-market-researcher.md +292 -0
  13. package/agents/product-ideation-pattern-documenter.md +308 -0
  14. package/agents/product-ideation-segment-analyzer.md +303 -0
  15. package/agents/product-ideation-strategist.md +259 -0
  16. package/agents/statusline-setup.md +97 -0
  17. package/hooks/hooks.json +59 -0
  18. package/package.json +45 -0
  19. package/scripts/hooks/cleanup-stale.sh +13 -0
  20. package/scripts/hooks/enforce-quality.sh +166 -0
  21. package/scripts/hooks/implementer-quality.sh +256 -0
  22. package/scripts/hooks/inject-protocol.sh +52 -0
  23. package/scripts/hooks/suggest-pipeline.sh +175 -0
  24. package/scripts/hooks/track-pipeline-start.sh +37 -0
  25. package/scripts/hooks/track-pipeline-stop.sh +52 -0
  26. package/scripts/init-rules.sh +35 -0
  27. package/scripts/init.sh +151 -0
  28. package/skills/anthropic-validator/SKILL.md +607 -0
  29. package/skills/anthropic-validator/references/agents-checklist.md +131 -0
  30. package/skills/anthropic-validator/references/commands-checklist.md +102 -0
  31. package/skills/anthropic-validator/references/hooks-checklist.md +151 -0
  32. package/skills/anthropic-validator/references/mcp-checklist.md +136 -0
  33. package/skills/anthropic-validator/references/plugins-checklist.md +148 -0
  34. package/skills/anthropic-validator/references/skills-checklist.md +85 -0
  35. package/skills/assertion-patterns/SKILL.md +296 -0
  36. package/skills/bug-magnet-data/SKILL.md +284 -0
  37. package/skills/bug-magnet-data/context/cli-args.md +91 -0
  38. package/skills/bug-magnet-data/context/db-query.md +104 -0
  39. package/skills/bug-magnet-data/context/file-contents.md +103 -0
  40. package/skills/bug-magnet-data/context/http-body.md +91 -0
  41. package/skills/bug-magnet-data/context/process-spawn.md +123 -0
  42. package/skills/bug-magnet-data/data/booleans/boundaries.yaml +143 -0
  43. package/skills/bug-magnet-data/data/collections/arrays.yaml +114 -0
  44. package/skills/bug-magnet-data/data/collections/objects.yaml +123 -0
  45. package/skills/bug-magnet-data/data/concurrency/race-conditions.yaml +118 -0
  46. package/skills/bug-magnet-data/data/concurrency/state-machines.yaml +115 -0
  47. package/skills/bug-magnet-data/data/dates/boundaries.yaml +137 -0
  48. package/skills/bug-magnet-data/data/dates/invalid.yaml +132 -0
  49. package/skills/bug-magnet-data/data/dates/timezone.yaml +118 -0
  50. package/skills/bug-magnet-data/data/encoding/charset.yaml +79 -0
  51. package/skills/bug-magnet-data/data/encoding/normalization.yaml +105 -0
  52. package/skills/bug-magnet-data/data/formats/email.yaml +154 -0
  53. package/skills/bug-magnet-data/data/formats/json.yaml +187 -0
  54. package/skills/bug-magnet-data/data/formats/url.yaml +165 -0
  55. package/skills/bug-magnet-data/data/language-specific/javascript.yaml +182 -0
  56. package/skills/bug-magnet-data/data/language-specific/python.yaml +174 -0
  57. package/skills/bug-magnet-data/data/language-specific/rust.yaml +148 -0
  58. package/skills/bug-magnet-data/data/numbers/boundaries.yaml +161 -0
  59. package/skills/bug-magnet-data/data/numbers/precision.yaml +89 -0
  60. package/skills/bug-magnet-data/data/numbers/special.yaml +69 -0
  61. package/skills/bug-magnet-data/data/strings/boundaries.yaml +109 -0
  62. package/skills/bug-magnet-data/data/strings/injection.yaml +208 -0
  63. package/skills/bug-magnet-data/data/strings/special-chars.yaml +190 -0
  64. package/skills/bug-magnet-data/data/strings/unicode.yaml +139 -0
  65. package/skills/bug-magnet-data/references/external-lists.md +115 -0
  66. package/skills/bulwark-brainstorm/SKILL.md +563 -0
  67. package/skills/bulwark-brainstorm/references/at-teammate-prompts.md +60 -0
  68. package/skills/bulwark-brainstorm/references/role-critical-analyst.md +78 -0
  69. package/skills/bulwark-brainstorm/references/role-development-lead.md +66 -0
  70. package/skills/bulwark-brainstorm/references/role-product-delivery-lead.md +79 -0
  71. package/skills/bulwark-brainstorm/references/role-product-manager.md +62 -0
  72. package/skills/bulwark-brainstorm/references/role-project-sme.md +59 -0
  73. package/skills/bulwark-brainstorm/references/role-technical-architect.md +66 -0
  74. package/skills/bulwark-research/SKILL.md +298 -0
  75. package/skills/bulwark-research/references/viewpoint-contrarian.md +63 -0
  76. package/skills/bulwark-research/references/viewpoint-direct-investigation.md +62 -0
  77. package/skills/bulwark-research/references/viewpoint-first-principles.md +65 -0
  78. package/skills/bulwark-research/references/viewpoint-practitioner.md +62 -0
  79. package/skills/bulwark-research/references/viewpoint-prior-art.md +66 -0
  80. package/skills/bulwark-scaffold/SKILL.md +330 -0
  81. package/skills/bulwark-statusline/SKILL.md +161 -0
  82. package/skills/bulwark-statusline/scripts/statusline.sh +144 -0
  83. package/skills/bulwark-verify/SKILL.md +519 -0
  84. package/skills/code-review/SKILL.md +428 -0
  85. package/skills/code-review/examples/anti-patterns/linting.ts +181 -0
  86. package/skills/code-review/examples/anti-patterns/security.ts +91 -0
  87. package/skills/code-review/examples/anti-patterns/standards.ts +195 -0
  88. package/skills/code-review/examples/anti-patterns/type-safety.ts +108 -0
  89. package/skills/code-review/examples/recommended/linting.ts +195 -0
  90. package/skills/code-review/examples/recommended/security.ts +154 -0
  91. package/skills/code-review/examples/recommended/standards.ts +231 -0
  92. package/skills/code-review/examples/recommended/type-safety.ts +181 -0
  93. package/skills/code-review/frameworks/angular.md +218 -0
  94. package/skills/code-review/frameworks/django.md +235 -0
  95. package/skills/code-review/frameworks/express.md +207 -0
  96. package/skills/code-review/frameworks/flask.md +298 -0
  97. package/skills/code-review/frameworks/generic.md +146 -0
  98. package/skills/code-review/frameworks/react.md +152 -0
  99. package/skills/code-review/frameworks/vue.md +244 -0
  100. package/skills/code-review/references/linting-patterns.md +221 -0
  101. package/skills/code-review/references/security-patterns.md +125 -0
  102. package/skills/code-review/references/standards-patterns.md +246 -0
  103. package/skills/code-review/references/type-safety-patterns.md +130 -0
  104. package/skills/component-patterns/SKILL.md +131 -0
  105. package/skills/component-patterns/references/pattern-cli-command.md +118 -0
  106. package/skills/component-patterns/references/pattern-database.md +166 -0
  107. package/skills/component-patterns/references/pattern-external-api.md +139 -0
  108. package/skills/component-patterns/references/pattern-file-parser.md +168 -0
  109. package/skills/component-patterns/references/pattern-http-server.md +162 -0
  110. package/skills/component-patterns/references/pattern-process-spawner.md +133 -0
  111. package/skills/continuous-feedback/SKILL.md +327 -0
  112. package/skills/continuous-feedback/references/collect-instructions.md +81 -0
  113. package/skills/continuous-feedback/references/specialize-code-review.md +82 -0
  114. package/skills/continuous-feedback/references/specialize-general.md +98 -0
  115. package/skills/continuous-feedback/references/specialize-test-audit.md +81 -0
  116. package/skills/create-skill/SKILL.md +359 -0
  117. package/skills/create-skill/references/agent-conventions.md +194 -0
  118. package/skills/create-skill/references/agent-template.md +195 -0
  119. package/skills/create-skill/references/content-guidance.md +291 -0
  120. package/skills/create-skill/references/decision-framework.md +124 -0
  121. package/skills/create-skill/references/template-pipeline.md +217 -0
  122. package/skills/create-skill/references/template-reference-heavy.md +111 -0
  123. package/skills/create-skill/references/template-research.md +210 -0
  124. package/skills/create-skill/references/template-script-driven.md +172 -0
  125. package/skills/create-skill/references/template-simple.md +80 -0
  126. package/skills/create-subagent/SKILL.md +353 -0
  127. package/skills/create-subagent/references/agent-conventions.md +268 -0
  128. package/skills/create-subagent/references/content-guidance.md +232 -0
  129. package/skills/create-subagent/references/decision-framework.md +134 -0
  130. package/skills/create-subagent/references/template-single-agent.md +192 -0
  131. package/skills/fix-bug/SKILL.md +241 -0
  132. package/skills/governance-protocol/SKILL.md +116 -0
  133. package/skills/init/SKILL.md +341 -0
  134. package/skills/issue-debugging/SKILL.md +385 -0
  135. package/skills/issue-debugging/references/anti-patterns.md +245 -0
  136. package/skills/issue-debugging/references/debug-report-schema.md +227 -0
  137. package/skills/mock-detection/SKILL.md +511 -0
  138. package/skills/mock-detection/references/false-positive-prevention.md +402 -0
  139. package/skills/mock-detection/references/stub-patterns.md +236 -0
  140. package/skills/pipeline-templates/SKILL.md +215 -0
  141. package/skills/pipeline-templates/references/code-change-workflow.md +277 -0
  142. package/skills/pipeline-templates/references/code-review.md +336 -0
  143. package/skills/pipeline-templates/references/fix-validation.md +421 -0
  144. package/skills/pipeline-templates/references/new-feature.md +335 -0
  145. package/skills/pipeline-templates/references/research-brainstorm.md +161 -0
  146. package/skills/pipeline-templates/references/research-planning.md +257 -0
  147. package/skills/pipeline-templates/references/test-audit.md +389 -0
  148. package/skills/pipeline-templates/references/test-execution-fix.md +238 -0
  149. package/skills/plan-creation/SKILL.md +497 -0
  150. package/skills/product-ideation/SKILL.md +372 -0
  151. package/skills/product-ideation/references/analysis-frameworks.md +161 -0
  152. package/skills/session-handoff/SKILL.md +139 -0
  153. package/skills/session-handoff/references/examples.md +223 -0
  154. package/skills/setup-lsp/SKILL.md +312 -0
  155. package/skills/setup-lsp/references/server-registry.md +85 -0
  156. package/skills/setup-lsp/references/troubleshooting.md +135 -0
  157. package/skills/subagent-output-templating/SKILL.md +415 -0
  158. package/skills/subagent-output-templating/references/examples.md +440 -0
  159. package/skills/subagent-prompting/SKILL.md +364 -0
  160. package/skills/subagent-prompting/references/examples.md +342 -0
  161. package/skills/test-audit/SKILL.md +531 -0
  162. package/skills/test-audit/references/known-limitations.md +41 -0
  163. package/skills/test-audit/references/priority-classification.md +30 -0
  164. package/skills/test-audit/references/prompts/deep-mode-detection.md +83 -0
  165. package/skills/test-audit/references/prompts/synthesis.md +57 -0
  166. package/skills/test-audit/references/rewrite-instructions.md +46 -0
  167. package/skills/test-audit/references/schemas/audit-output.yaml +100 -0
  168. package/skills/test-audit/references/schemas/diagnostic-output.yaml +49 -0
  169. package/skills/test-audit/scripts/data-flow-analyzer.ts +509 -0
  170. package/skills/test-audit/scripts/integration-mock-detector.ts +462 -0
  171. package/skills/test-audit/scripts/package.json +20 -0
  172. package/skills/test-audit/scripts/skip-detector.ts +211 -0
  173. package/skills/test-audit/scripts/verification-counter.ts +295 -0
  174. package/skills/test-classification/SKILL.md +310 -0
  175. package/skills/test-fixture-creation/SKILL.md +295 -0
@@ -0,0 +1,227 @@
1
+ # Debug Report Schema
2
+
3
+ Full YAML schema for debug reports generated by the issue-debugging methodology.
4
+
5
+ ## Location
6
+
7
+ ```
8
+ logs/debug-reports/{issue-id}-{timestamp}.yaml
9
+ ```
10
+
11
+ ## Complete Schema
12
+
13
+ ```yaml
14
+ debug_report:
15
+ # ============================================
16
+ # METADATA
17
+ # ============================================
18
+ metadata:
19
+ issue_id: "{identifier}" # Required: Unique issue identifier
20
+ timestamp: "{ISO-8601}" # Required: When analysis completed
21
+ analyzer: "bulwark-issue-analyzer" # Required: Agent that produced this
22
+ complexity: low | medium | high # Required: Determined during analysis
23
+
24
+ # ============================================
25
+ # ANALYSIS
26
+ # ============================================
27
+ analysis:
28
+ symptom: "{user-visible problem}"
29
+ # Example: "Login button returns 500 error"
30
+
31
+ root_cause: "{underlying reason - NOT just symptom}"
32
+ # Example: "Null profile object accessed when user has no profile data"
33
+ # BAD: "API returns 500" (that's the symptom)
34
+
35
+ fix_approach: "{recommended approach}"
36
+ # Example: "Add null check before accessing profile.name"
37
+
38
+ five_whys: # Optional but recommended
39
+ - "{first why}"
40
+ - "{second why}"
41
+ - "{third why}"
42
+ - "{fourth why}"
43
+ - "{fifth why - root cause}"
44
+
45
+ # ============================================
46
+ # IMPACT ANALYSIS
47
+ # ============================================
48
+ impact_analysis:
49
+ affected_files:
50
+ - path: "{file path}"
51
+ changes: "{what needs to change}"
52
+ # Example:
53
+ # - path: "src/auth/login.ts"
54
+ # changes: "Add null check at line 42"
55
+
56
+ upstream_dependencies:
57
+ - caller: "{what calls this code}"
58
+ file: "{file path}"
59
+ impact: "{how it's affected}"
60
+ # Example:
61
+ # - caller: "POST /api/login"
62
+ # file: "src/api/auth-routes.ts"
63
+ # impact: "Will receive null instead of crashing"
64
+
65
+ downstream_effects:
66
+ - consumer: "{what this code affects}"
67
+ file: "{file path}"
68
+ impact: "{potential impact}"
69
+ # Example:
70
+ # - consumer: "User dashboard"
71
+ # file: "src/pages/dashboard.tsx"
72
+ # impact: "Must handle empty profile gracefully"
73
+
74
+ risk_scope: isolated | medium | broad
75
+ # isolated: Self-contained, no affected areas
76
+ # medium: 1-5 affected areas
77
+ # broad: >5 affected areas, cross-cutting
78
+
79
+ # ============================================
80
+ # VALIDATION PLAN
81
+ # ============================================
82
+ validation_plan:
83
+ tests_to_execute:
84
+ - path: "{test file}"
85
+ test_name: "{specific test or describe block}" # Optional
86
+ reason: "{why this test matters}"
87
+ priority: 1 # 1=P1 must, 2=P2 should, 3=P3 nice-to-have
88
+ # Example:
89
+ # - path: "tests/auth/login.test.ts"
90
+ # test_name: "handles null profile"
91
+ # reason: "Direct test of the fix"
92
+ # priority: 1
93
+
94
+ functionalities_to_validate:
95
+ - functionality: "{user-level verification}"
96
+ how: "{validation method}"
97
+ automatable: true | false
98
+ # Example:
99
+ # - functionality: "User can log in successfully"
100
+ # how: "E2E test or manual login"
101
+ # automatable: true
102
+
103
+ test_commands:
104
+ p1: "{command to run P1 tests}"
105
+ p2: "{command to run P1+P2 tests}"
106
+ p3: "{command to run all tests}"
107
+ # Example:
108
+ # p1: "just test -- tests/auth/login.test.ts"
109
+ # p2: "just test -- tests/auth/"
110
+ # p3: "just test"
111
+
112
+ # ============================================
113
+ # CONFIDENCE CRITERIA
114
+ # ============================================
115
+ confidence_criteria:
116
+ high:
117
+ - "All P1 tests pass"
118
+ - "All P2 tests pass"
119
+ - "No regression in existing tests"
120
+ - "At least one functionality validated"
121
+ medium:
122
+ - "All P1 tests pass"
123
+ - "Some P2-P3 tests skipped or not applicable"
124
+ - "No critical regressions"
125
+ low:
126
+ - "Tests cannot reliably validate the fix"
127
+ - "Broad risk scope with untested paths"
128
+ - "Manual testing required"
129
+
130
+ escalation_required: true | false
131
+ escalation_reason: "{why manual testing needed}" # If escalation_required
132
+
133
+ # ============================================
134
+ # DEBUG JOURNEY (Required for medium/high complexity)
135
+ # ============================================
136
+ debug_journey:
137
+ started_at: "{ISO-8601}"
138
+ completed_at: "{ISO-8601}"
139
+ duration_minutes: 0
140
+
141
+ hypotheses_tested:
142
+ - id: 1
143
+ hypothesis: "{what was suspected}"
144
+ tested_at: "{ISO-8601}"
145
+ method: "{how it was tested}"
146
+ result: confirmed | rejected
147
+ evidence: "{what proved/disproved it}"
148
+ # Example:
149
+ # - id: 1
150
+ # hypothesis: "Database connection timeout"
151
+ # tested_at: "2026-01-16T10:30:00Z"
152
+ # method: "Checked DB logs and connection pool"
153
+ # result: rejected
154
+ # evidence: "DB logs show successful queries"
155
+
156
+ investigation_path:
157
+ - "{step 1 of investigation}"
158
+ - "{step 2 of investigation}"
159
+ # Breadcrumb trail of investigation steps
160
+
161
+ dead_ends: # Optional: Document what didn't work
162
+ - approach: "{what was tried}"
163
+ why_abandoned: "{why it didn't work}"
164
+ ```
165
+
166
+ ## Minimal Valid Report (Low Complexity)
167
+
168
+ For low complexity issues, only required fields:
169
+
170
+ ```yaml
171
+ debug_report:
172
+ metadata:
173
+ issue_id: "fix-typo-readme"
174
+ timestamp: "2026-01-16T10:00:00Z"
175
+ analyzer: "bulwark-issue-analyzer"
176
+ complexity: low
177
+
178
+ analysis:
179
+ symptom: "Typo in README installation section"
180
+ root_cause: "Misspelled 'npm' as 'nmp'"
181
+ fix_approach: "Correct spelling"
182
+
183
+ impact_analysis:
184
+ affected_files:
185
+ - path: "README.md"
186
+ changes: "Fix typo"
187
+ upstream_dependencies: []
188
+ downstream_effects: []
189
+ risk_scope: isolated
190
+
191
+ validation_plan:
192
+ tests_to_execute: []
193
+ functionalities_to_validate:
194
+ - functionality: "README displays correctly"
195
+ how: "Visual inspection"
196
+ automatable: false
197
+ test_commands:
198
+ p1: "# No tests needed"
199
+
200
+ confidence_criteria:
201
+ high: ["Visual inspection confirms fix"]
202
+ escalation_required: false
203
+ ```
204
+
205
+ ## Field Requirements by Complexity
206
+
207
+ | Field | Low | Medium | High |
208
+ |-------|-----|--------|------|
209
+ | metadata.* | Required | Required | Required |
210
+ | analysis.symptom | Required | Required | Required |
211
+ | analysis.root_cause | Required | Required | Required |
212
+ | analysis.fix_approach | Required | Required | Required |
213
+ | analysis.five_whys | Optional | Recommended | Required |
214
+ | impact_analysis.* | Required | Required | Required |
215
+ | validation_plan.* | Required | Required | Required |
216
+ | confidence_criteria.* | Required | Required | Required |
217
+ | debug_journey.* | Optional | **Required** | **Required** |
218
+
219
+ ## Validation Rules
220
+
221
+ 1. `issue_id` must be unique within the project
222
+ 2. `timestamp` must be valid ISO-8601
223
+ 3. `complexity` must be one of: `low`, `medium`, `high`
224
+ 4. `risk_scope` must be one of: `isolated`, `medium`, `broad`
225
+ 5. `priority` in tests must be 1, 2, or 3
226
+ 6. `debug_journey` required when complexity is medium or high
227
+ 7. `escalation_reason` required when `escalation_required` is true