agentic-qe 1.5.1 → 1.6.1

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 (188) hide show
  1. package/.claude/agents/qe-api-contract-validator.md +118 -0
  2. package/.claude/agents/qe-chaos-engineer.md +320 -5
  3. package/.claude/agents/qe-code-complexity.md +360 -0
  4. package/.claude/agents/qe-coverage-analyzer.md +112 -0
  5. package/.claude/agents/qe-deployment-readiness.md +322 -6
  6. package/.claude/agents/qe-flaky-test-hunter.md +115 -0
  7. package/.claude/agents/qe-fleet-commander.md +319 -6
  8. package/.claude/agents/qe-performance-tester.md +234 -0
  9. package/.claude/agents/qe-production-intelligence.md +114 -0
  10. package/.claude/agents/qe-quality-analyzer.md +126 -0
  11. package/.claude/agents/qe-quality-gate.md +119 -0
  12. package/.claude/agents/qe-regression-risk-analyzer.md +114 -0
  13. package/.claude/agents/qe-requirements-validator.md +114 -0
  14. package/.claude/agents/qe-security-scanner.md +118 -0
  15. package/.claude/agents/qe-test-data-architect.md +234 -0
  16. package/.claude/agents/qe-test-executor.md +115 -0
  17. package/.claude/agents/qe-test-generator.md +114 -0
  18. package/.claude/agents/qe-visual-tester.md +305 -6
  19. package/.claude/agents/subagents/qe-code-reviewer.md +0 -4
  20. package/.claude/agents/subagents/qe-data-generator.md +0 -16
  21. package/.claude/agents/subagents/qe-integration-tester.md +0 -17
  22. package/.claude/agents/subagents/qe-performance-validator.md +0 -16
  23. package/.claude/agents/subagents/qe-security-auditor.md +0 -16
  24. package/.claude/agents/subagents/qe-test-implementer.md +0 -17
  25. package/.claude/agents/subagents/qe-test-refactorer.md +0 -17
  26. package/.claude/agents/subagents/qe-test-writer.md +0 -19
  27. package/.claude/skills/brutal-honesty-review/README.md +218 -0
  28. package/.claude/skills/brutal-honesty-review/SKILL.md +725 -0
  29. package/.claude/skills/brutal-honesty-review/resources/assessment-rubrics.md +295 -0
  30. package/.claude/skills/brutal-honesty-review/resources/review-template.md +102 -0
  31. package/.claude/skills/brutal-honesty-review/scripts/assess-code.sh +179 -0
  32. package/.claude/skills/brutal-honesty-review/scripts/assess-tests.sh +223 -0
  33. package/.claude/skills/cicd-pipeline-qe-orchestrator/README.md +301 -0
  34. package/.claude/skills/cicd-pipeline-qe-orchestrator/SKILL.md +510 -0
  35. package/.claude/skills/cicd-pipeline-qe-orchestrator/resources/workflows/microservice-pipeline.md +239 -0
  36. package/.claude/skills/cicd-pipeline-qe-orchestrator/resources/workflows/mobile-pipeline.md +375 -0
  37. package/.claude/skills/cicd-pipeline-qe-orchestrator/resources/workflows/monolith-pipeline.md +268 -0
  38. package/.claude/skills/six-thinking-hats/README.md +190 -0
  39. package/.claude/skills/six-thinking-hats/SKILL.md +1215 -0
  40. package/.claude/skills/six-thinking-hats/resources/examples/api-testing-example.md +345 -0
  41. package/.claude/skills/six-thinking-hats/resources/templates/solo-session-template.md +167 -0
  42. package/.claude/skills/six-thinking-hats/resources/templates/team-session-template.md +336 -0
  43. package/CHANGELOG.md +2472 -2129
  44. package/README.md +48 -10
  45. package/dist/adapters/MemoryStoreAdapter.d.ts +38 -0
  46. package/dist/adapters/MemoryStoreAdapter.d.ts.map +1 -1
  47. package/dist/adapters/MemoryStoreAdapter.js +22 -0
  48. package/dist/adapters/MemoryStoreAdapter.js.map +1 -1
  49. package/dist/agents/BaseAgent.d.ts.map +1 -1
  50. package/dist/agents/BaseAgent.js +13 -0
  51. package/dist/agents/BaseAgent.js.map +1 -1
  52. package/dist/cli/commands/init-claude-md-template.d.ts +16 -0
  53. package/dist/cli/commands/init-claude-md-template.d.ts.map +1 -0
  54. package/dist/cli/commands/init-claude-md-template.js +69 -0
  55. package/dist/cli/commands/init-claude-md-template.js.map +1 -0
  56. package/dist/cli/commands/init.d.ts +1 -1
  57. package/dist/cli/commands/init.d.ts.map +1 -1
  58. package/dist/cli/commands/init.js +509 -460
  59. package/dist/cli/commands/init.js.map +1 -1
  60. package/dist/core/memory/AgentDBService.d.ts +33 -28
  61. package/dist/core/memory/AgentDBService.d.ts.map +1 -1
  62. package/dist/core/memory/AgentDBService.js +233 -290
  63. package/dist/core/memory/AgentDBService.js.map +1 -1
  64. package/dist/core/memory/EnhancedAgentDBService.d.ts.map +1 -1
  65. package/dist/core/memory/EnhancedAgentDBService.js +5 -3
  66. package/dist/core/memory/EnhancedAgentDBService.js.map +1 -1
  67. package/dist/core/memory/RealAgentDBAdapter.d.ts +9 -2
  68. package/dist/core/memory/RealAgentDBAdapter.d.ts.map +1 -1
  69. package/dist/core/memory/RealAgentDBAdapter.js +126 -100
  70. package/dist/core/memory/RealAgentDBAdapter.js.map +1 -1
  71. package/dist/core/memory/SwarmMemoryManager.d.ts +58 -0
  72. package/dist/core/memory/SwarmMemoryManager.d.ts.map +1 -1
  73. package/dist/core/memory/SwarmMemoryManager.js +176 -0
  74. package/dist/core/memory/SwarmMemoryManager.js.map +1 -1
  75. package/dist/core/memory/index.d.ts.map +1 -1
  76. package/dist/core/memory/index.js +2 -1
  77. package/dist/core/memory/index.js.map +1 -1
  78. package/dist/learning/LearningEngine.d.ts +14 -27
  79. package/dist/learning/LearningEngine.d.ts.map +1 -1
  80. package/dist/learning/LearningEngine.js +57 -119
  81. package/dist/learning/LearningEngine.js.map +1 -1
  82. package/dist/learning/index.d.ts +0 -1
  83. package/dist/learning/index.d.ts.map +1 -1
  84. package/dist/learning/index.js +0 -1
  85. package/dist/learning/index.js.map +1 -1
  86. package/dist/mcp/handlers/learning/learning-query.d.ts +34 -0
  87. package/dist/mcp/handlers/learning/learning-query.d.ts.map +1 -0
  88. package/dist/mcp/handlers/learning/learning-query.js +156 -0
  89. package/dist/mcp/handlers/learning/learning-query.js.map +1 -0
  90. package/dist/mcp/handlers/learning/learning-store-experience.d.ts +30 -0
  91. package/dist/mcp/handlers/learning/learning-store-experience.d.ts.map +1 -0
  92. package/dist/mcp/handlers/learning/learning-store-experience.js +86 -0
  93. package/dist/mcp/handlers/learning/learning-store-experience.js.map +1 -0
  94. package/dist/mcp/handlers/learning/learning-store-pattern.d.ts +31 -0
  95. package/dist/mcp/handlers/learning/learning-store-pattern.d.ts.map +1 -0
  96. package/dist/mcp/handlers/learning/learning-store-pattern.js +126 -0
  97. package/dist/mcp/handlers/learning/learning-store-pattern.js.map +1 -0
  98. package/dist/mcp/handlers/learning/learning-store-qvalue.d.ts +30 -0
  99. package/dist/mcp/handlers/learning/learning-store-qvalue.d.ts.map +1 -0
  100. package/dist/mcp/handlers/learning/learning-store-qvalue.js +100 -0
  101. package/dist/mcp/handlers/learning/learning-store-qvalue.js.map +1 -0
  102. package/dist/mcp/server.d.ts +11 -0
  103. package/dist/mcp/server.d.ts.map +1 -1
  104. package/dist/mcp/server.js +98 -1
  105. package/dist/mcp/server.js.map +1 -1
  106. package/dist/mcp/services/LearningEventListener.d.ts +123 -0
  107. package/dist/mcp/services/LearningEventListener.d.ts.map +1 -0
  108. package/dist/mcp/services/LearningEventListener.js +322 -0
  109. package/dist/mcp/services/LearningEventListener.js.map +1 -0
  110. package/dist/mcp/tools.d.ts +4 -0
  111. package/dist/mcp/tools.d.ts.map +1 -1
  112. package/dist/mcp/tools.js +179 -0
  113. package/dist/mcp/tools.js.map +1 -1
  114. package/dist/types/memory-interfaces.d.ts +71 -0
  115. package/dist/types/memory-interfaces.d.ts.map +1 -1
  116. package/dist/utils/Calculator.d.ts +35 -0
  117. package/dist/utils/Calculator.d.ts.map +1 -0
  118. package/dist/utils/Calculator.js +50 -0
  119. package/dist/utils/Calculator.js.map +1 -0
  120. package/dist/utils/Logger.d.ts.map +1 -1
  121. package/dist/utils/Logger.js +4 -1
  122. package/dist/utils/Logger.js.map +1 -1
  123. package/package.json +7 -5
  124. package/.claude/agents/qe-api-contract-validator.md.backup +0 -1148
  125. package/.claude/agents/qe-api-contract-validator.md.backup-20251107-134747 +0 -1148
  126. package/.claude/agents/qe-api-contract-validator.md.backup-phase2-20251107-140039 +0 -1123
  127. package/.claude/agents/qe-chaos-engineer.md.backup +0 -808
  128. package/.claude/agents/qe-chaos-engineer.md.backup-20251107-134747 +0 -808
  129. package/.claude/agents/qe-chaos-engineer.md.backup-phase2-20251107-140039 +0 -787
  130. package/.claude/agents/qe-code-complexity.md.backup +0 -291
  131. package/.claude/agents/qe-code-complexity.md.backup-20251107-134747 +0 -291
  132. package/.claude/agents/qe-code-complexity.md.backup-phase2-20251107-140039 +0 -286
  133. package/.claude/agents/qe-coverage-analyzer.md.backup +0 -467
  134. package/.claude/agents/qe-coverage-analyzer.md.backup-20251107-134747 +0 -467
  135. package/.claude/agents/qe-coverage-analyzer.md.backup-phase2-20251107-140039 +0 -438
  136. package/.claude/agents/qe-deployment-readiness.md.backup +0 -1166
  137. package/.claude/agents/qe-deployment-readiness.md.backup-20251107-134747 +0 -1166
  138. package/.claude/agents/qe-deployment-readiness.md.backup-phase2-20251107-140039 +0 -1140
  139. package/.claude/agents/qe-flaky-test-hunter.md.backup +0 -1195
  140. package/.claude/agents/qe-flaky-test-hunter.md.backup-20251107-134747 +0 -1195
  141. package/.claude/agents/qe-flaky-test-hunter.md.backup-phase2-20251107-140039 +0 -1162
  142. package/.claude/agents/qe-fleet-commander.md.backup +0 -718
  143. package/.claude/agents/qe-fleet-commander.md.backup-20251107-134747 +0 -718
  144. package/.claude/agents/qe-fleet-commander.md.backup-phase2-20251107-140039 +0 -697
  145. package/.claude/agents/qe-performance-tester.md.backup +0 -428
  146. package/.claude/agents/qe-performance-tester.md.backup-20251107-134747 +0 -428
  147. package/.claude/agents/qe-performance-tester.md.backup-phase2-20251107-140039 +0 -372
  148. package/.claude/agents/qe-production-intelligence.md.backup +0 -1219
  149. package/.claude/agents/qe-production-intelligence.md.backup-20251107-134747 +0 -1219
  150. package/.claude/agents/qe-production-intelligence.md.backup-phase2-20251107-140039 +0 -1194
  151. package/.claude/agents/qe-quality-analyzer.md.backup +0 -425
  152. package/.claude/agents/qe-quality-analyzer.md.backup-20251107-134747 +0 -425
  153. package/.claude/agents/qe-quality-analyzer.md.backup-phase2-20251107-140039 +0 -394
  154. package/.claude/agents/qe-quality-gate.md.backup +0 -446
  155. package/.claude/agents/qe-quality-gate.md.backup-20251107-134747 +0 -446
  156. package/.claude/agents/qe-quality-gate.md.backup-phase2-20251107-140039 +0 -415
  157. package/.claude/agents/qe-regression-risk-analyzer.md.backup +0 -1009
  158. package/.claude/agents/qe-regression-risk-analyzer.md.backup-20251107-134747 +0 -1009
  159. package/.claude/agents/qe-regression-risk-analyzer.md.backup-phase2-20251107-140039 +0 -984
  160. package/.claude/agents/qe-requirements-validator.md.backup +0 -748
  161. package/.claude/agents/qe-requirements-validator.md.backup-20251107-134747 +0 -748
  162. package/.claude/agents/qe-requirements-validator.md.backup-phase2-20251107-140039 +0 -723
  163. package/.claude/agents/qe-security-scanner.md.backup +0 -634
  164. package/.claude/agents/qe-security-scanner.md.backup-20251107-134747 +0 -634
  165. package/.claude/agents/qe-security-scanner.md.backup-phase2-20251107-140039 +0 -573
  166. package/.claude/agents/qe-test-data-architect.md.backup +0 -1064
  167. package/.claude/agents/qe-test-data-architect.md.backup-20251107-134747 +0 -1064
  168. package/.claude/agents/qe-test-data-architect.md.backup-phase2-20251107-140039 +0 -1040
  169. package/.claude/agents/qe-test-executor.md.backup +0 -389
  170. package/.claude/agents/qe-test-executor.md.backup-20251107-134747 +0 -389
  171. package/.claude/agents/qe-test-executor.md.backup-phase2-20251107-140039 +0 -369
  172. package/.claude/agents/qe-test-generator.md.backup +0 -997
  173. package/.claude/agents/qe-test-generator.md.backup-20251107-134747 +0 -997
  174. package/.claude/agents/qe-visual-tester.md.backup +0 -777
  175. package/.claude/agents/qe-visual-tester.md.backup-20251107-134747 +0 -777
  176. package/.claude/agents/qe-visual-tester.md.backup-phase2-20251107-140039 +0 -756
  177. package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +0 -54
  178. package/.claude/commands/analysis/performance-bottlenecks.md +0 -59
  179. package/.claude/commands/flow-nexus/app-store.md +0 -124
  180. package/.claude/commands/flow-nexus/challenges.md +0 -120
  181. package/.claude/commands/flow-nexus/login-registration.md +0 -65
  182. package/.claude/commands/flow-nexus/neural-network.md +0 -134
  183. package/.claude/commands/flow-nexus/payments.md +0 -116
  184. package/.claude/commands/flow-nexus/sandbox.md +0 -83
  185. package/.claude/commands/flow-nexus/swarm.md +0 -87
  186. package/.claude/commands/flow-nexus/user-tools.md +0 -152
  187. package/.claude/commands/flow-nexus/workflow.md +0 -115
  188. package/.claude/commands/memory/usage.md +0 -46
@@ -0,0 +1,725 @@
1
+ ---
2
+ name: "Brutal Honesty Review"
3
+ description: "Unvarnished technical criticism combining Linus Torvalds' precision, Gordon Ramsay's standards, and James Bach's BS-detection. Use when code/tests need harsh reality checks, certification schemes smell fishy, or technical decisions lack rigor. No sugar-coating, just surgical truth about what's broken and why."
4
+ ---
5
+
6
+ # Brutal Honesty Review
7
+
8
+ ## What This Skill Does
9
+
10
+ Delivers brutally honest technical criticism across three modes, each calibrated to eliminate different types of mediocrity:
11
+
12
+ 1. **Linus Mode** - Surgical technical precision on code/architecture
13
+ 2. **Ramsay Mode** - Standards-driven quality assessment
14
+ 3. **Bach Mode** - BS detection in testing practices/certifications
15
+
16
+ Unlike diplomatic reviews, this skill **dissects why something is wrong, explains the correct approach, and has zero patience for repeated mistakes or sloppy thinking**.
17
+
18
+ ---
19
+
20
+ ## Prerequisites
21
+
22
+ - **Thick skin** - This will hurt
23
+ - **Willingness to learn** - Criticism is actionable, not performative
24
+ - **Context awareness** - Know when harsh honesty helps vs. harms team morale
25
+
26
+ ---
27
+
28
+ ## When to Use This Skill
29
+
30
+ ### ✅ APPROPRIATE CONTEXTS:
31
+ - Senior engineers who want unfiltered technical review
32
+ - Teaching moments for patterns that keep recurring
33
+ - Evaluating vendor claims, certification schemes, or industry hype
34
+ - Code that's been "good enough" for too long
35
+ - Teams explicitly asking for no-BS feedback
36
+ - Security vulnerabilities or critical bugs
37
+ - Technical debt requiring executive attention
38
+
39
+ ### ❌ INAPPROPRIATE CONTEXTS:
40
+ - Junior developers' first contributions
41
+ - Already-demoralized teams
42
+ - Public forums (brutal honesty ≠ public humiliation)
43
+ - When psychological safety is low
44
+ - Performance reviews (unless specifically requested)
45
+
46
+ ---
47
+
48
+ ## Quick Start
49
+
50
+ ### Mode 1: Linus (Technical Precision)
51
+
52
+ **When**: Code is technically wrong, inefficient, or demonstrates misunderstanding
53
+
54
+ ```bash
55
+ # Usage
56
+ Review this pull request with Linus-level precision:
57
+ [paste code/PR link]
58
+
59
+ # Output style
60
+ "This is completely broken. You're holding the lock for the entire
61
+ I/O operation, which means every thread will serialize on this mutex.
62
+ Did you even test this under load? The correct approach is..."
63
+ ```
64
+
65
+ **Characteristics**:
66
+ - ❌ Eliminates ambiguity about technical standards
67
+ - ✅ Explains WHY it's wrong, not just THAT it's wrong
68
+ - ⚡ Zero tolerance for repeated architectural mistakes
69
+ - 🎯 Focuses on correctness, performance, maintainability
70
+
71
+ ---
72
+
73
+ ### Mode 2: Ramsay (Standards-Driven)
74
+
75
+ **When**: Quality is subpar compared to clear excellence model
76
+
77
+ ```bash
78
+ # Usage
79
+ Assess this test suite against production standards:
80
+ [paste test code]
81
+
82
+ # Output style
83
+ "Look at this! You've got 12 tests and 10 of them are just checking
84
+ if variables exist. Where's the business logic coverage? Where's the
85
+ edge cases? This is RAW. You wouldn't serve this in production, so
86
+ why are you trying to merge it?"
87
+ ```
88
+
89
+ **Characteristics**:
90
+ - 🔥 Compares reality against clear mental model of excellence
91
+ - 📊 Uses concrete metrics (coverage, complexity, duplication)
92
+ - 🎓 Teaching through high standards, not just criticism
93
+ - 💎 Doesn't just tear down - shows what good looks like
94
+
95
+ ---
96
+
97
+ ### Mode 3: Bach (BS Detection)
98
+
99
+ **When**: Certifications, best practices, or vendor hype need reality check
100
+
101
+ ```bash
102
+ # Usage
103
+ Evaluate this testing certification/practice/tool claim:
104
+ [paste claim or approach]
105
+
106
+ # Output style
107
+ "This certification teaches you to follow scripts, not to think.
108
+ Real testing requires context-driven decisions, not checkbox compliance.
109
+ Does this cert help testers find bugs faster? No. Does it help them
110
+ advocate for quality? No. It helps the certification body make money."
111
+ ```
112
+
113
+ **Characteristics**:
114
+ - 🚨 Calls out cargo cult practices
115
+ - 🔍 Questions: "Does this actually help?"
116
+ - 📉 Exposes when tools/processes exist for vendor profit, not user benefit
117
+ - 🧠 Promotes critical thinking over certification theater
118
+
119
+ ---
120
+
121
+ ## Step-by-Step Guide
122
+
123
+ ### Step 1: Choose Your Mode
124
+
125
+ ```markdown
126
+ **Linus Mode**: Code/architecture review requiring technical precision
127
+ **Ramsay Mode**: Quality assessment against known standards
128
+ **Bach Mode**: Evaluating practices, certifications, industry claims
129
+ ```
130
+
131
+ ### Step 2: Establish Context
132
+
133
+ ```markdown
134
+ Before delivering brutal honesty, verify:
135
+ 1. **Audience maturity** - Can they handle direct criticism?
136
+ 2. **Relationship capital** - Have you earned the right to be harsh?
137
+ 3. **Actionability** - Can the recipient actually fix this?
138
+ 4. **Intent** - Is this helping them improve or just venting?
139
+ ```
140
+
141
+ ### Step 3: Deliver Structured Criticism
142
+
143
+ Each mode follows this template:
144
+
145
+ ```markdown
146
+ ## What's Broken
147
+ [Surgical description of the problem]
148
+
149
+ ## Why It's Wrong
150
+ [Technical/logical explanation, not opinion]
151
+
152
+ ## What Correct Looks Like
153
+ [Clear model of excellence]
154
+
155
+ ## How to Fix It
156
+ [Actionable steps, specific to context]
157
+
158
+ ## Why This Matters
159
+ [Impact if not fixed]
160
+ ```
161
+
162
+ ### Step 4: Calibrate Harshness
163
+
164
+ ```markdown
165
+ **Level 1 - Direct** (for experienced engineers):
166
+ "This approach is fundamentally flawed because..."
167
+
168
+ **Level 2 - Harsh** (for repeated mistakes):
169
+ "We've discussed this pattern three times. Why is it back?"
170
+
171
+ **Level 3 - Brutal** (for critical issues or willful ignorance):
172
+ "This is negligent. You're exposing user data because..."
173
+ ```
174
+
175
+ ---
176
+
177
+ ## Mode Details
178
+
179
+ ### Linus Mode: Technical Precision
180
+
181
+ #### Code Review Pattern
182
+
183
+ ```markdown
184
+ ### 1. Identify Fundamental Flaw
185
+ "You're doing [X], which demonstrates misunderstanding of [concept]."
186
+
187
+ ### 2. Explain Why It's Wrong
188
+ "This breaks when [scenario] because [technical reason]."
189
+
190
+ ### 3. Show Correct Approach
191
+ "The correct pattern is [Y] because [reasoning]."
192
+
193
+ ### 4. Demand Better
194
+ "This should never have passed local testing. Did you run it?"
195
+ ```
196
+
197
+ #### Example: Concurrency Bug
198
+
199
+ ```markdown
200
+ **Problem**: Holding database connection during HTTP call
201
+
202
+ **Linus Analysis**:
203
+ "This is completely broken. You're holding a database connection
204
+ open while waiting for an external HTTP request. Under load, you'll
205
+ exhaust the connection pool in seconds.
206
+
207
+ Did you even test this with more than one concurrent user?
208
+
209
+ The correct approach is:
210
+ 1. Fetch data from DB
211
+ 2. Close connection
212
+ 3. Make HTTP call
213
+ 4. Open new connection if needed
214
+
215
+ This is Connection Management 101. Why wasn't this caught in review?"
216
+ ```
217
+
218
+ #### Example: Premature Optimization
219
+
220
+ ```markdown
221
+ **Problem**: Complex caching for operation that runs once per day
222
+
223
+ **Linus Analysis**:
224
+ "You've added 200 lines of caching logic with Redis, LRU eviction,
225
+ and TTL management for a report that generates once daily.
226
+
227
+ This is premature optimization. The cure is worse than the disease.
228
+
229
+ Measure first. Your 'optimization' added:
230
+ - 3 new failure modes (Redis down, cache corruption, TTL bugs)
231
+ - 10x complexity
232
+ - Zero measurable benefit
233
+
234
+ Remove it. If profiling later shows this endpoint is slow, then optimize."
235
+ ```
236
+
237
+ ---
238
+
239
+ ### Ramsay Mode: Standards-Driven Quality
240
+
241
+ #### Test Quality Assessment
242
+
243
+ ```markdown
244
+ ### 1. Compare to Excellence Model
245
+ "Good tests should [criteria]. This test suite [fails at criteria]."
246
+
247
+ ### 2. Use Concrete Metrics
248
+ "You have 12% branch coverage. Production-ready is 80%+."
249
+
250
+ ### 3. Show Gap
251
+ "Look at this edge case. It's obvious. Why isn't it tested?"
252
+
253
+ ### 4. Demand Excellence
254
+ "You know what good looks like. Why didn't you deliver it?"
255
+ ```
256
+
257
+ #### Example: Weak Test Suite
258
+
259
+ ```markdown
260
+ **Problem**: Tests only verify happy path
261
+
262
+ **Ramsay Analysis**:
263
+ "Look at this test suite. You've got 15 tests, and 14 of them are
264
+ just happy path scenarios. Where's the validation testing? Where are
265
+ the edge cases? Where's the failure mode testing?
266
+
267
+ This is RAW. You're testing if the code runs, not if it's correct.
268
+
269
+ A production-ready test suite covers:
270
+ ✓ Happy path (you have this)
271
+ ✗ Validation failures (missing)
272
+ ✗ Boundary conditions (missing)
273
+ ✗ Error handling (missing)
274
+ ✗ Concurrent access (missing)
275
+ ✗ Resource exhaustion (missing)
276
+
277
+ You wouldn't ship code with 12% coverage. Don't merge tests with
278
+ 12% scenario coverage."
279
+ ```
280
+
281
+ #### Example: Flaky Tests
282
+
283
+ ```markdown
284
+ **Problem**: Test suite has intermittent failures
285
+
286
+ **Ramsay Analysis**:
287
+ "These tests are FLAKY. Every third run fails because you're using
288
+ setTimeout() and hoping things complete in time. That's not testing,
289
+ that's gambling.
290
+
291
+ Flaky tests train developers to ignore failures. That's worse than
292
+ no tests.
293
+
294
+ Fix this NOW:
295
+ 1. Remove all setTimeout() - use proper async/await
296
+ 2. Mock external dependencies - don't test network reliability
297
+ 3. Make tests deterministic - same input = same output
298
+ 4. If it can't be made stable, DELETE IT
299
+
300
+ A flaky test is a broken test. Don't merge broken code."
301
+ ```
302
+
303
+ ---
304
+
305
+ ### Bach Mode: BS Detection
306
+
307
+ #### Certification Evaluation
308
+
309
+ ```markdown
310
+ ### 1. Question Core Value
311
+ "Does this [practice/cert/tool] help testers do better work?"
312
+
313
+ ### 2. Identify Real Beneficiary
314
+ "Who profits from this? Vendor, consultant, or actual testers?"
315
+
316
+ ### 3. Expose Cargo Cult Thinking
317
+ "This promotes [checkbox compliance] over [critical thinking]."
318
+
319
+ ### 4. Advocate for Context-Driven Approach
320
+ "Real testing requires [context-specific decisions], not [universal rules]."
321
+ ```
322
+
323
+ #### Example: Test Automation Tool Hype
324
+
325
+ ```markdown
326
+ **Problem**: Vendor claims "AI-powered testing eliminates manual testing"
327
+
328
+ **Bach Analysis**:
329
+ "This is vendor hype, not reality. They're selling you magic beans.
330
+
331
+ 'AI-powered' means what exactly? Machine learning model that auto-generates
332
+ tests? Fine. But:
333
+
334
+ 1. **Who defines test oracles?** (AI can't know business rules)
335
+ 2. **Who handles edge cases?** (AI trained on common paths)
336
+ 3. **Who questions requirements?** (AI doesn't understand context)
337
+ 4. **Who investigates failures?** (AI can't do root cause analysis)
338
+
339
+ This tool might auto-generate SOME tests (usually shallow). It won't
340
+ replace thinking testers.
341
+
342
+ The real question: Does this tool help YOUR testers on YOUR product
343
+ in YOUR context? If you can't answer that specifically, you're buying
344
+ hype, not tools."
345
+ ```
346
+
347
+ #### Example: Certification Theater
348
+
349
+ ```markdown
350
+ **Problem**: Company requires ISTQB certification for QE roles
351
+
352
+ **Bach Analysis**:
353
+ "ISTQB tests if you memorized terminology, not if you can test software.
354
+
355
+ Real testing skills:
356
+ - Finding bugs others miss
357
+ - Designing effective test strategies for context
358
+ - Communicating risk to stakeholders
359
+ - Questioning requirements and assumptions
360
+ - Advocating for quality
361
+
362
+ ISTQB tests:
363
+ - Definitions of 'alpha testing' vs 'beta testing'
364
+ - Names of test design techniques you'll never use
365
+ - V-model vs Agile terminology
366
+ - Checkbox thinking
367
+
368
+ If ISTQB helped testers get better, companies with ISTQB-certified
369
+ teams would ship higher quality. They don't.
370
+
371
+ Want better testers? Hire curious people, give them context, let them
372
+ explore, teach them technical skills. Certification is optional.
373
+ Thinking is mandatory."
374
+ ```
375
+
376
+ ---
377
+
378
+ ## Assessment Rubrics
379
+
380
+ ### Code Quality Rubric (Linus Mode)
381
+
382
+ ```markdown
383
+ | Criteria | Failing | Passing | Excellent |
384
+ |----------|---------|---------|-----------|
385
+ | **Correctness** | Wrong algorithm/logic | Works in tested cases | Proven correct across edge cases |
386
+ | **Performance** | Naive O(n²) where O(n) exists | Acceptable complexity | Optimal algorithm + profiled |
387
+ | **Error Handling** | Crashes on invalid input | Returns error codes | Graceful degradation + logging |
388
+ | **Concurrency** | Race conditions present | Thread-safe with locks | Lock-free or proven safe |
389
+ | **Testability** | Impossible to unit test | Can be tested with mocks | Self-testing design |
390
+ | **Maintainability** | "Clever" code | Clear intent | Self-documenting + simple |
391
+
392
+ **Passing Threshold**: Minimum "Passing" on all criteria
393
+ **Ship-Ready**: Minimum "Excellent" on Correctness, Performance, Error Handling
394
+ ```
395
+
396
+ ### Test Quality Rubric (Ramsay Mode)
397
+
398
+ ```markdown
399
+ | Criteria | Raw | Acceptable | Michelin Star |
400
+ |----------|-----|------------|---------------|
401
+ | **Coverage** | <50% branch | 80%+ branch | 95%+ branch + mutation tested |
402
+ | **Edge Cases** | Only happy path | Common failures | Boundary analysis complete |
403
+ | **Clarity** | What is this testing? | Clear test names | Self-documenting test pyramid |
404
+ | **Speed** | Minutes to run | <10s for unit tests | <1s, parallelized |
405
+ | **Stability** | Flaky (>1% failure) | Stable but slow | Deterministic + fast |
406
+ | **Isolation** | Tests depend on each other | Independent tests | Pure functions, no shared state |
407
+
408
+ **Merge Threshold**: Minimum "Acceptable" on all criteria
409
+ **Production-Ready**: Minimum "Michelin Star" on Coverage, Stability, Isolation
410
+ ```
411
+
412
+ ### BS Detection Rubric (Bach Mode)
413
+
414
+ ```markdown
415
+ | Red Flag | Evidence | Impact |
416
+ |----------|----------|--------|
417
+ | **Cargo Cult Practice** | "Best practice" with no context | Wasted effort, false confidence |
418
+ | **Certification Theater** | Required cert unrelated to skills | Filters out critical thinkers |
419
+ | **Vendor Lock-In** | Tool solves problem it created | Expensive dependency |
420
+ | **False Automation** | "AI" still needs human verification | Automation debt |
421
+ | **Checkbox Quality** | Compliance without outcomes | Audit passes, customers suffer |
422
+ | **Hype Cycle** | Promises 10x improvement | Budget waste, disillusionment |
423
+
424
+ **Green Flag Test**: "Does this help testers/developers do better work in THIS context?"
425
+ ```
426
+
427
+ ---
428
+
429
+ ## Calibration Guide
430
+
431
+ ### When Brutal Honesty Works
432
+
433
+ ```markdown
434
+ ✅ **Senior engineer with ego but skills**
435
+ → They can handle directness and will respect precision
436
+
437
+ ✅ **Repeated architectural mistakes**
438
+ → Gentle approaches failed; escalation needed
439
+
440
+ ✅ **Critical bug in production code**
441
+ → Stakes are high; no time for sugar-coating
442
+
443
+ ✅ **Evaluating vendor claims before purchase**
444
+ → BS detection prevents expensive mistakes
445
+
446
+ ✅ **Team explicitly requests no-BS feedback**
447
+ → They've given permission for harshness
448
+ ```
449
+
450
+ ### When to Dial It Back
451
+
452
+ ```markdown
453
+ ❌ **Junior developer's first PR**
454
+ → Use constructive mentoring instead
455
+
456
+ ❌ **Team is already demoralized**
457
+ → Harsh criticism will break, not motivate
458
+
459
+ ❌ **Public forum or team meeting**
460
+ → Public humiliation destroys trust
461
+
462
+ ❌ **Unclear if recipient can fix it**
463
+ → Frustration without actionability is cruel
464
+
465
+ ❌ **Personal attack vs. technical criticism**
466
+ → Never: "You're stupid"
467
+ → Always: "This approach is flawed because..."
468
+ ```
469
+
470
+ ---
471
+
472
+ ## Examples from History
473
+
474
+ ### Linus Torvalds: Technical Precision
475
+
476
+ > **Original Email** (kernel mailing list):
477
+ > "Christ, people. Learn to use git rebase. This merge mess is unreadable.
478
+ > I'm not pulling this garbage until you clean up the history. And don't
479
+ > give me that 'git is hard' excuse - it's your job to know your tools."
480
+
481
+ **Why It Worked**:
482
+ - ✅ Clear technical standard (clean git history)
483
+ - ✅ Actionable fix (use rebase)
484
+ - ✅ Audience was experienced kernel developers
485
+ - ✅ Pattern had been explained before
486
+
487
+ **When It Backfired**:
488
+ - ❌ Created hostile environment for newcomers
489
+ - ❌ Scared away potential contributors
490
+ - ❌ Linus later acknowledged cost to community
491
+
492
+ **Lesson**: Technical precision without empathy scales poorly.
493
+
494
+ ---
495
+
496
+ ### Gordon Ramsay: Standards-Driven Excellence
497
+
498
+ > **Kitchen Nightmares**:
499
+ > "You've served me frozen ravioli from a bag and tried to pass it off as
500
+ > fresh pasta. Do you think I'm an idiot? Your customers aren't idiots either.
501
+ > You know what fresh pasta tastes like - why are you serving this?"
502
+
503
+ **Why It Worked**:
504
+ - ✅ Clear standard (fresh pasta vs. frozen)
505
+ - ✅ Owner had expertise (was trained chef)
506
+ - ✅ Impact was clear (losing customers)
507
+ - ✅ Ramsay showed what excellence looked like (cooked fresh pasta)
508
+
509
+ **Structure**:
510
+ 1. Identify gap between current and excellent
511
+ 2. Question why gap exists (laziness, cost-cutting, ignorance)
512
+ 3. Demonstrate excellence
513
+ 4. Demand recipient meet the standard they already know
514
+
515
+ ---
516
+
517
+ ### James Bach: BS Detection in Testing
518
+
519
+ > **Blog Post on Test Automation**:
520
+ > "When a vendor tells you their tool 'automates testing,' ask them to define
521
+ > 'testing.' They usually mean 'running checks' - verifying known conditions.
522
+ > Actual testing requires thinking, questioning, exploring. That can't be
523
+ > automated. What they're selling is useful, but it's not testing. Don't
524
+ > let marketing confuse you."
525
+
526
+ **Why It Works**:
527
+ - ✅ Clarifies terminology confusion
528
+ - ✅ Exposes economic incentives (vendor profit)
529
+ - ✅ Empowers testers to think critically
530
+ - ✅ Doesn't attack tool, attacks misleading claims
531
+
532
+ **Structure**:
533
+ 1. Identify the BS claim
534
+ 2. Explain why it's misleading
535
+ 3. Clarify what's actually true
536
+ 4. Advocate for context-driven thinking
537
+
538
+ ---
539
+
540
+ ## Advanced Patterns
541
+
542
+ ### Pattern 1: The Technical Breakdown
543
+
544
+ **When**: Code demonstrates fundamental misunderstanding
545
+
546
+ ```markdown
547
+ **Step 1**: Identify the core misunderstanding
548
+ "You're treating this like a single-threaded problem, but it's not."
549
+
550
+ **Step 2**: Explain the fundamental concept
551
+ "In concurrent systems, shared mutable state requires synchronization."
552
+
553
+ **Step 3**: Show where it breaks
554
+ "When thread A reads X=5, thread B might write X=10 before A completes."
555
+
556
+ **Step 4**: Demand better
557
+ "This is concurrency 101. Why wasn't this caught in review?"
558
+ ```
559
+
560
+ ### Pattern 2: The Standards Gap
561
+
562
+ **When**: Quality is measurably below known standards
563
+
564
+ ```markdown
565
+ **Step 1**: Establish the standard
566
+ "Production-ready code has 80%+ branch coverage."
567
+
568
+ **Step 2**: Measure the gap
569
+ "This has 35% coverage."
570
+
571
+ **Step 3**: Show what's missing
572
+ "You're not testing error paths, edge cases, or validation."
573
+
574
+ **Step 4**: Demand excellence
575
+ "You know what good looks like. Deliver it."
576
+ ```
577
+
578
+ ### Pattern 3: The BS Detector
579
+
580
+ **When**: Claims don't match reality
581
+
582
+ ```markdown
583
+ **Step 1**: State the claim
584
+ "This certification proves testing competency."
585
+
586
+ **Step 2**: Question it
587
+ "Does it? What does it actually test?"
588
+
589
+ **Step 3**: Expose the gap
590
+ "It tests memorization, not bug-finding ability."
591
+
592
+ **Step 4**: Advocate for reality
593
+ "Want better testers? Measure outcomes, not credentials."
594
+ ```
595
+
596
+ ---
597
+
598
+ ## Troubleshooting
599
+
600
+ ### Issue: Feedback Feels Personal
601
+
602
+ **Symptoms**: Recipient becomes defensive or emotional
603
+
604
+ **Cause**: Criticism targeted person instead of work
605
+
606
+ **Solution**:
607
+ ```markdown
608
+ ❌ "You're not thinking about edge cases"
609
+ ✅ "This code doesn't handle edge cases because..."
610
+
611
+ ❌ "You always write flaky tests"
612
+ ✅ "These tests are flaky because they depend on timing"
613
+
614
+ **Key**: Attack the work, not the worker.
615
+ ```
616
+
617
+ ### Issue: Feedback Isn't Actionable
618
+
619
+ **Symptoms**: "This sucks" without explanation
620
+
621
+ **Cause**: Missing the "why" and "how to fix"
622
+
623
+ **Solution**:
624
+ ```markdown
625
+ ❌ "This code is terrible"
626
+ ✅ "This code is inefficient because [reason]. Fix by [approach]."
627
+
628
+ **Structure**:
629
+ 1. What's wrong (specific)
630
+ 2. Why it's wrong (technical reason)
631
+ 3. What correct looks like (model)
632
+ 4. How to fix it (actionable)
633
+ ```
634
+
635
+ ### Issue: Calibration is Wrong
636
+
637
+ **Symptoms**: Harsh feedback in wrong context (junior dev, demoralized team)
638
+
639
+ **Cause**: Forgot to check audience/context
640
+
641
+ **Solution**:
642
+ ```markdown
643
+ **Before brutal honesty, verify:**
644
+ 1. Recipient has skills to fix it
645
+ 2. Relationship capital exists
646
+ 3. Context allows for directness
647
+ 4. Psychological safety is high
648
+
649
+ **If any are false, dial back to constructive.**
650
+ ```
651
+
652
+ ---
653
+
654
+ ## Related Skills
655
+
656
+ - **[Code Review Quality](../code-review-quality/)** - Diplomatic version of code review
657
+ - **[Context-Driven Testing](../context-driven-testing/)** - Foundation for Bach-mode BS detection
658
+ - **[TDD Red-Green-Refactor](../tdd-london-chicago/)** - Systematic quality approach
659
+ - **[Exploratory Testing](../exploratory-testing-advanced/)** - Critical thinking in testing
660
+
661
+ ---
662
+
663
+ ## Philosophy
664
+
665
+ ### Why Brutal Honesty Has a Place
666
+
667
+ **1. Eliminates Ambiguity**
668
+ - Diplomatic: "Maybe consider using a different approach?"
669
+ - Brutal: "This approach is wrong because [reason]. Use [correct approach]."
670
+ - **Result**: No confusion about expectations.
671
+
672
+ **2. Scales Technical Standards**
673
+ - Gentle mentoring works 1:1, doesn't scale
674
+ - Brutal public technical breakdown teaches entire team
675
+ - **Trade-off**: Works only with psychologically safe, mature teams.
676
+
677
+ **3. Cuts Through BS**
678
+ - Certifications, vendor hype, cargo cult practices thrive on politeness
679
+ - Brutal honesty exposes when emperor has no clothes
680
+ - **Result**: Resources spent on what actually helps.
681
+
682
+ ### The Costs
683
+
684
+ **1. Relationship Damage**
685
+ - Harsh criticism without trust destroys collaboration
686
+ - Public brutality creates hostile environment
687
+ - **Mitigation**: Earn relationship capital first.
688
+
689
+ **2. Chills Participation**
690
+ - Fear of harsh feedback stops people from contributing
691
+ - Newcomers avoid communities known for brutal feedback
692
+ - **Mitigation**: Reserve brutality for experienced engineers and repeated mistakes.
693
+
694
+ **3. Burnout**
695
+ - Constant harsh criticism is exhausting
696
+ - Both giver and receiver pay psychological cost
697
+ - **Mitigation**: Use sparingly, only when necessary.
698
+
699
+ ---
700
+
701
+ ## The Brutal Honesty Contract
702
+
703
+ Before using this skill, establish explicit contract:
704
+
705
+ ```markdown
706
+ "I'm going to give you unfiltered technical feedback. This will be direct,
707
+ possibly harsh. The goal is clarity, not cruelty. I'll explain:
708
+
709
+ 1. What's wrong (specifically)
710
+ 2. Why it's wrong (technically)
711
+ 3. What correct looks like
712
+ 4. How to fix it
713
+
714
+ If you want diplomatic feedback instead, let me know now."
715
+ ```
716
+
717
+ **Get explicit consent before proceeding.**
718
+
719
+ ---
720
+
721
+ **Created**: 2025-11-13
722
+ **Category**: Quality Engineering / Code Review
723
+ **Difficulty**: Advanced (requires judgment)
724
+ **Use With Caution**: Can damage morale if misapplied
725
+ **Best For**: Senior engineers, security issues, BS detection