tribunal-kit 2.4.5 → 3.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 (144) hide show
  1. package/.agent/agents/accessibility-reviewer.md +220 -134
  2. package/.agent/agents/ai-code-reviewer.md +233 -129
  3. package/.agent/agents/backend-specialist.md +238 -178
  4. package/.agent/agents/code-archaeologist.md +181 -119
  5. package/.agent/agents/database-architect.md +207 -164
  6. package/.agent/agents/debugger.md +218 -151
  7. package/.agent/agents/dependency-reviewer.md +136 -55
  8. package/.agent/agents/devops-engineer.md +238 -175
  9. package/.agent/agents/documentation-writer.md +221 -137
  10. package/.agent/agents/explorer-agent.md +180 -142
  11. package/.agent/agents/frontend-reviewer.md +194 -80
  12. package/.agent/agents/frontend-specialist.md +237 -188
  13. package/.agent/agents/game-developer.md +52 -184
  14. package/.agent/agents/logic-reviewer.md +149 -78
  15. package/.agent/agents/mobile-developer.md +223 -152
  16. package/.agent/agents/mobile-reviewer.md +195 -79
  17. package/.agent/agents/orchestrator.md +211 -170
  18. package/.agent/agents/penetration-tester.md +174 -131
  19. package/.agent/agents/performance-optimizer.md +203 -139
  20. package/.agent/agents/performance-reviewer.md +211 -108
  21. package/.agent/agents/product-manager.md +162 -108
  22. package/.agent/agents/project-planner.md +162 -142
  23. package/.agent/agents/qa-automation-engineer.md +242 -138
  24. package/.agent/agents/security-auditor.md +194 -170
  25. package/.agent/agents/seo-specialist.md +213 -132
  26. package/.agent/agents/sql-reviewer.md +194 -73
  27. package/.agent/agents/supervisor-agent.md +203 -156
  28. package/.agent/agents/test-coverage-reviewer.md +193 -81
  29. package/.agent/agents/type-safety-reviewer.md +208 -65
  30. package/.agent/scripts/__pycache__/auto_preview.cpython-311.pyc +0 -0
  31. package/.agent/scripts/__pycache__/bundle_analyzer.cpython-311.pyc +0 -0
  32. package/.agent/scripts/__pycache__/checklist.cpython-311.pyc +0 -0
  33. package/.agent/scripts/__pycache__/dependency_analyzer.cpython-311.pyc +0 -0
  34. package/.agent/scripts/__pycache__/security_scan.cpython-311.pyc +0 -0
  35. package/.agent/scripts/__pycache__/session_manager.cpython-311.pyc +0 -0
  36. package/.agent/scripts/__pycache__/skill_integrator.cpython-311.pyc +0 -0
  37. package/.agent/scripts/__pycache__/swarm_dispatcher.cpython-311.pyc +0 -0
  38. package/.agent/scripts/__pycache__/test_runner.cpython-311.pyc +0 -0
  39. package/.agent/scripts/__pycache__/verify_all.cpython-311.pyc +0 -0
  40. package/.agent/skills/agent-organizer/SKILL.md +126 -132
  41. package/.agent/skills/ai-prompt-injection-defense/SKILL.md +160 -0
  42. package/.agent/skills/api-patterns/SKILL.md +289 -257
  43. package/.agent/skills/api-security-auditor/SKILL.md +177 -0
  44. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +1 -1
  45. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +1 -1
  46. package/.agent/skills/appflow-wireframe/SKILL.md +107 -58
  47. package/.agent/skills/architecture/SKILL.md +331 -200
  48. package/.agent/skills/authentication-best-practices/SKILL.md +173 -0
  49. package/.agent/skills/bash-linux/SKILL.md +154 -215
  50. package/.agent/skills/brainstorming/SKILL.md +104 -210
  51. package/.agent/skills/building-native-ui/SKILL.md +174 -0
  52. package/.agent/skills/clean-code/SKILL.md +360 -206
  53. package/.agent/skills/config-validator/SKILL.md +141 -165
  54. package/.agent/skills/csharp-developer/SKILL.md +528 -107
  55. package/.agent/skills/database-design/SKILL.md +455 -275
  56. package/.agent/skills/deployment-procedures/SKILL.md +145 -188
  57. package/.agent/skills/devops-engineer/SKILL.md +332 -134
  58. package/.agent/skills/devops-incident-responder/SKILL.md +113 -98
  59. package/.agent/skills/edge-computing/SKILL.md +157 -213
  60. package/.agent/skills/extract-design-system/SKILL.md +134 -0
  61. package/.agent/skills/framer-motion-expert/SKILL.md +939 -0
  62. package/.agent/skills/game-design-expert/SKILL.md +105 -0
  63. package/.agent/skills/game-engineering-expert/SKILL.md +122 -0
  64. package/.agent/skills/geo-fundamentals/SKILL.md +124 -215
  65. package/.agent/skills/github-operations/SKILL.md +314 -354
  66. package/.agent/skills/gsap-expert/SKILL.md +901 -0
  67. package/.agent/skills/i18n-localization/SKILL.md +138 -216
  68. package/.agent/skills/intelligent-routing/SKILL.md +127 -139
  69. package/.agent/skills/llm-engineering/SKILL.md +357 -258
  70. package/.agent/skills/local-first/SKILL.md +154 -203
  71. package/.agent/skills/mcp-builder/SKILL.md +118 -224
  72. package/.agent/skills/nextjs-react-expert/SKILL.md +783 -203
  73. package/.agent/skills/nodejs-best-practices/SKILL.md +559 -280
  74. package/.agent/skills/observability/SKILL.md +330 -285
  75. package/.agent/skills/parallel-agents/SKILL.md +122 -181
  76. package/.agent/skills/performance-profiling/SKILL.md +254 -197
  77. package/.agent/skills/plan-writing/SKILL.md +118 -188
  78. package/.agent/skills/platform-engineer/SKILL.md +123 -135
  79. package/.agent/skills/playwright-best-practices/SKILL.md +162 -0
  80. package/.agent/skills/powershell-windows/SKILL.md +146 -230
  81. package/.agent/skills/python-pro/SKILL.md +879 -114
  82. package/.agent/skills/react-specialist/SKILL.md +931 -108
  83. package/.agent/skills/readme-builder/SKILL.md +42 -0
  84. package/.agent/skills/realtime-patterns/SKILL.md +304 -296
  85. package/.agent/skills/rust-pro/SKILL.md +701 -240
  86. package/.agent/skills/seo-fundamentals/SKILL.md +154 -181
  87. package/.agent/skills/server-management/SKILL.md +190 -212
  88. package/.agent/skills/shadcn-ui-expert/SKILL.md +206 -0
  89. package/.agent/skills/skill-creator/SKILL.md +68 -0
  90. package/.agent/skills/sql-pro/SKILL.md +633 -104
  91. package/.agent/skills/supabase-postgres-best-practices/SKILL.md +78 -0
  92. package/.agent/skills/swiftui-expert/SKILL.md +176 -0
  93. package/.agent/skills/systematic-debugging/SKILL.md +118 -186
  94. package/.agent/skills/tailwind-patterns/SKILL.md +576 -232
  95. package/.agent/skills/tdd-workflow/SKILL.md +137 -209
  96. package/.agent/skills/testing-patterns/SKILL.md +573 -205
  97. package/.agent/skills/vue-expert/SKILL.md +964 -119
  98. package/.agent/skills/vulnerability-scanner/SKILL.md +269 -316
  99. package/.agent/skills/web-accessibility-auditor/SKILL.md +193 -0
  100. package/.agent/skills/webapp-testing/SKILL.md +145 -236
  101. package/.agent/workflows/api-tester.md +151 -279
  102. package/.agent/workflows/audit.md +138 -168
  103. package/.agent/workflows/brainstorm.md +110 -146
  104. package/.agent/workflows/changelog.md +112 -144
  105. package/.agent/workflows/create.md +124 -139
  106. package/.agent/workflows/debug.md +189 -196
  107. package/.agent/workflows/deploy.md +189 -153
  108. package/.agent/workflows/enhance.md +151 -139
  109. package/.agent/workflows/fix.md +135 -143
  110. package/.agent/workflows/generate.md +157 -164
  111. package/.agent/workflows/migrate.md +160 -163
  112. package/.agent/workflows/orchestrate.md +168 -151
  113. package/.agent/workflows/performance-benchmarker.md +123 -305
  114. package/.agent/workflows/plan.md +173 -151
  115. package/.agent/workflows/preview.md +80 -137
  116. package/.agent/workflows/refactor.md +183 -153
  117. package/.agent/workflows/review-ai.md +129 -140
  118. package/.agent/workflows/review.md +116 -155
  119. package/.agent/workflows/session.md +94 -154
  120. package/.agent/workflows/status.md +79 -125
  121. package/.agent/workflows/strengthen-skills.md +139 -99
  122. package/.agent/workflows/swarm.md +179 -194
  123. package/.agent/workflows/test.md +211 -166
  124. package/.agent/workflows/tribunal-backend.md +113 -111
  125. package/.agent/workflows/tribunal-database.md +115 -132
  126. package/.agent/workflows/tribunal-frontend.md +118 -115
  127. package/.agent/workflows/tribunal-full.md +133 -136
  128. package/.agent/workflows/tribunal-mobile.md +119 -123
  129. package/.agent/workflows/tribunal-performance.md +133 -152
  130. package/.agent/workflows/ui-ux-pro-max.md +143 -171
  131. package/README.md +11 -15
  132. package/package.json +1 -1
  133. package/.agent/skills/dotnet-core-expert/SKILL.md +0 -103
  134. package/.agent/skills/game-development/2d-games/SKILL.md +0 -119
  135. package/.agent/skills/game-development/3d-games/SKILL.md +0 -135
  136. package/.agent/skills/game-development/SKILL.md +0 -236
  137. package/.agent/skills/game-development/game-art/SKILL.md +0 -185
  138. package/.agent/skills/game-development/game-audio/SKILL.md +0 -190
  139. package/.agent/skills/game-development/game-design/SKILL.md +0 -129
  140. package/.agent/skills/game-development/mobile-games/SKILL.md +0 -108
  141. package/.agent/skills/game-development/multiplayer/SKILL.md +0 -132
  142. package/.agent/skills/game-development/pc-games/SKILL.md +0 -144
  143. package/.agent/skills/game-development/vr-ar/SKILL.md +0 -123
  144. package/.agent/skills/game-development/web-games/SKILL.md +0 -150
@@ -1,209 +1,137 @@
1
- ---
2
- name: tdd-workflow
3
- description: Test-Driven Development workflow principles. RED-GREEN-REFACTOR cycle.
4
- allowed-tools: Read, Write, Edit, Glob, Grep
5
- version: 1.0.0
6
- last-updated: 2026-03-12
7
- applies-to-model: gemini-2.5-pro, claude-3-7-sonnet
8
- ---
9
-
10
- # Test-Driven Development
11
-
12
- > TDD is not about testing. It is about design.
13
- > Writing the test first forces you to design the interface before you know how it will be implemented.
14
-
15
- ---
16
-
17
- ## The RED-GREEN-REFACTOR Cycle
18
-
19
- Every change in TDD follows three phases:
20
-
21
- ```
22
- RED → Write a test that fails (for code that doesn't exist yet)
23
- GREEN → Write the minimum code to make the test pass
24
- REFACTOR → Clean up the code without changing its behavior
25
- ```
26
-
27
- The constraint is important: in GREEN phase, write only enough code to pass the test. No more.
28
-
29
- ---
30
-
31
- ## RED Phase — Write a Failing Test
32
-
33
- Write a test that:
34
- 1. Describes one specific piece of behavior
35
- 2. Uses the API you wish existed (design the interface first)
36
- 3. Fails for the right reason (not a syntax error a logical failure)
37
-
38
- ```ts
39
- // RED: This test fails because `validatePassword` doesn't exist yet
40
- it('should reject passwords shorter than 8 characters', () => {
41
- const result = validatePassword('short');
42
- expect(result.valid).toBe(false);
43
- expect(result.error).toBe('Password must be at least 8 characters');
44
- });
45
- ```
46
-
47
- **The test failing for the right reason is the signal.** If it fails because of a missing import, that's not the RED phase — that's setup.
48
-
49
- ---
50
-
51
- ## GREEN Phase — Minimum Code to Pass
52
-
53
- Write only what is needed for the test to pass. Resist the urge to also handle the "other cases" — those will get their own tests.
54
-
55
- ```ts
56
- // GREEN: Minimum implementation to pass the one test
57
- function validatePassword(password: string): { valid: boolean; error?: string } {
58
- if (password.length < 8) {
59
- return { valid: false, error: 'Password must be at least 8 characters' };
60
- }
61
- return { valid: true };
62
- }
63
- ```
64
-
65
- The code may be ugly. That is fine. GREEN is about passing the test, not about clean code.
66
-
67
- ---
68
-
69
- ## REFACTOR Phase Clean Without Breaking
70
-
71
- Now that the test is green, improve the code:
72
- - Extract duplication
73
- - Clarify naming
74
- - Simplify logic
75
-
76
- The constraint: all tests must stay green during and after refactor.
77
-
78
- ```ts
79
- // REFACTOR: Same behavior, cleaner structure
80
- const MIN_PASSWORD_LENGTH = 8;
81
-
82
- function validatePassword(password: string): ValidationResult {
83
- if (password.length < MIN_PASSWORD_LENGTH) {
84
- return failure(`Password must be at least ${MIN_PASSWORD_LENGTH} characters`);
85
- }
86
- return success();
87
- }
88
- ```
89
-
90
- ---
91
-
92
- ## Triangulation
93
-
94
- When a single test could be satisfied by a hardcoded value, write a second test to force a real implementation.
95
-
96
- ```ts
97
- // Test 1: Could be satisfied by always returning 2
98
- it('should add two numbers', () => {
99
- expect(add(1, 1)).toBe(2);
100
- });
101
-
102
- // Test 2: Forces a real implementation
103
- it('should add two different numbers', () => {
104
- expect(add(3, 4)).toBe(7);
105
- });
106
- ```
107
-
108
- **Rule:** If your implementation could be a constant or a special case, triangulate.
109
-
110
- ---
111
-
112
- ## When TDD Pays Off
113
-
114
- TDD's ROI is highest for:
115
- - Business logic (calculation, validation, state machines)
116
- - Utility functions used in many places
117
- - Error handling paths that are hard to trigger manually
118
- - Refactoring existing code you want to verify still works
119
-
120
- TDD's ROI is lower for:
121
- - UI components (Storybook + visual review is often more efficient)
122
- - Database migrations (integration test after, not TDD)
123
- - Exploratory/prototype code that will be thrown away
124
-
125
- ---
126
-
127
- ## Common TDD Mistakes
128
-
129
- | Mistake | Effect |
130
- |---|---|
131
- | Writing tests after implementation | Tests confirm the implementation, not the behavior |
132
- | Testing too much in one cycle | Large RED-GREEN steps hide design problems |
133
- | Skipping REFACTOR | Code quality degrades with each cycle |
134
- | Not reaching RED | Writing tests that pass immediately means the implementation already existed |
135
- | Mocking everything | Tests become coupled to implementation, not behavior |
136
-
137
- ---
138
-
139
- ## 🛑 Verification-Before-Completion (VBC) Protocol
140
-
141
- **CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
142
- - ❌ **Forbidden:** Ending the GREEN or REFACTOR phases based on assumption that the code is correct.
143
- - ✅ **Required:** You are explicitly forbidden from completing a test cycle or ending your task without providing **concrete terminal evidence** that the test suite actually ran and returned a strictly passing (GREEN) result.
144
-
145
- ---
146
-
147
- ## Output Format
148
-
149
- When this skill produces or reviews code, structure your output as follows:
150
-
151
- ```
152
- ━━━ Tdd Workflow Report ━━━━━━━━━━━━━━━━━━━━━━━━
153
- Skill: Tdd Workflow
154
- Language: [detected language / framework]
155
- Scope: [N files · N functions]
156
- ─────────────────────────────────────────────────
157
- ✅ Passed: [checks that passed, or "All clean"]
158
- ⚠️ Warnings: [non-blocking issues, or "None"]
159
- ❌ Blocked: [blocking issues requiring fix, or "None"]
160
- ─────────────────────────────────────────────────
161
- VBC status: PENDING → VERIFIED
162
- Evidence: [test output / lint pass / compile success]
163
- ```
164
-
165
- **VBC (Verification-Before-Completion) is mandatory.**
166
- Do not mark status as VERIFIED until concrete terminal evidence is provided.
167
-
168
-
169
-
170
- ---
171
-
172
- ## 🤖 LLM-Specific Traps
173
-
174
- AI coding assistants often fall into specific bad habits when dealing with this domain. These are strictly forbidden:
175
-
176
- 1. **Over-engineering:** Proposing complex abstractions or distributed systems when a simpler approach suffices.
177
- 2. **Hallucinated Libraries/Methods:** Using non-existent methods or packages. Always `// VERIFY` or check `package.json` / `requirements.txt`.
178
- 3. **Skipping Edge Cases:** Writing the "happy path" and ignoring error handling, timeouts, or data validation.
179
- 4. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
180
- 5. **Silent Degradation:** Catching and suppressing errors without logging or re-raising.
181
-
182
- ---
183
-
184
- ## 🏛️ Tribunal Integration (Anti-Hallucination)
185
-
186
- **Slash command: `/review` or `/tribunal-full`**
187
- **Active reviewers: `logic-reviewer` · `security-auditor`**
188
-
189
- ### ❌ Forbidden AI Tropes
190
-
191
- 1. **Blind Assumptions:** Never make an assumption without documenting it clearly with `// VERIFY: [reason]`.
192
- 2. **Silent Degradation:** Catching and suppressing errors without logging or handling.
193
- 3. **Context Amnesia:** Forgetting the user's constraints and offering generic advice instead of tailored solutions.
194
-
195
- ### ✅ Pre-Flight Self-Audit
196
-
197
- Review these questions before confirming output:
198
- ```
199
- ✅ Did I rely ONLY on real, verified tools and methods?
200
- ✅ Is this solution appropriately scoped to the user's constraints?
201
- ✅ Did I handle potential failure modes and edge cases?
202
- ✅ Have I avoided generic boilerplate that doesn't add value?
203
- ```
204
-
205
- ### 🛑 Verification-Before-Completion (VBC) Protocol
206
-
207
- **CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
208
- - ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
209
- - ✅ **Required:** You are explicitly forbidden from finalizing any task without providing **concrete evidence** (terminal output, passing tests, compile success, or equivalent proof) that your output works as intended.
1
+ ---
2
+ name: tdd-workflow
3
+ description: Test-Driven Development (TDD) mastery. Red-Green-Refactor cycles, behavior-driven design (BDD), strict mutation coverage, test doubles (mocks/stubs/spies), and avoiding test-induced design damage. Use when building complex algorithms, deep business logic, or strictly regulated systems.
4
+ allowed-tools: Read, Write, Edit, Glob, Grep
5
+ version: 2.0.0
6
+ last-updated: 2026-04-02
7
+ applies-to-model: gemini-2.5-pro, claude-3-7-sonnet
8
+ ---
9
+
10
+ # Test-Driven Development (TDD) — Defect-Free Execution Mastery
11
+
12
+ > You do not write tests to verify your code. You write tests to design your code.
13
+ > Unverified code is a liability. TDD is the professional hygiene of software engineering.
14
+
15
+ ---
16
+
17
+ ## 1. The Red-Green-Refactor Cycle
18
+
19
+ TDD is a strict, irrevocable discipline. Do not write the implementation first.
20
+
21
+ ### Step 1: RED (Write the failing test)
22
+ Write the test as if the API already exists exactly how you *wish* it were designed.
23
+ Run the test. It MUST fail (because the function doesn't exist, or returns the wrong value). If it passes, the test is useless.
24
+
25
+ ```typescript
26
+ // 1. The failing test
27
+ import { calculateDiscount } from './pricing';
28
+
29
+ test('Should apply 10% discount for orders over $100', () => {
30
+ expect(calculateDiscount(150)).toBe(135);
31
+ });
32
+ // ❌ FAILS: calculateDiscount is not defined
33
+ ```
34
+
35
+ ### Step 2: GREEN (Make it pass exactly)
36
+ Write the absolute minimum, dumbest code required to make the test pass. Do not over-engineer.
37
+
38
+ ```typescript
39
+ // 2. The minimum implementation
40
+ export function calculateDiscount(subtotal: number): number {
41
+ if (subtotal >= 100) return subtotal * 0.90;
42
+ return subtotal;
43
+ }
44
+ // ✅ PASSES.
45
+ ```
46
+
47
+ ### Step 3: REFACTOR
48
+ Now wrap the implementation in clean architectural principles. The tests guarantee you haven't broken the behavior while you optimize.
49
+
50
+ ```typescript
51
+ // 3. The Refactor
52
+ const DISCOUNT_THRESHOLD = 100;
53
+ const DISCOUNT_RATE = 0.90;
54
+
55
+ export function calculateDiscount(subtotal: number): number {
56
+ return subtotal >= DISCOUNT_THRESHOLD ? subtotal * DISCOUNT_RATE : subtotal;
57
+ }
58
+ // ✅ STILL PASSES. Safe to commit.
59
+ ```
60
+
61
+ ---
62
+
63
+ ## 2. Test Doubles (Mocks, Stubs, Spies)
64
+
65
+ Knowing *how* to mock separates amateurs from professionals. Over-mocking destroys architectural integrity.
66
+
67
+ | Type | When to use | Example |
68
+ |:---|:---|:---|
69
+ | **Dummy** | Filler objects passed but never used | `processOrder(new UserDummy(), payload)` |
70
+ | **Stub** | Hardcodes a specific response | `db.getUser.mockResolvedValue({ id: 1 })` |
71
+ | **Spy** | Records how many times a function was called | `expect(emailService.send).toHaveBeenCalledTimes(1)` |
72
+ | **Mock** | A spy with predefined expectations of exact payloads | `expect(logger.info).toHaveBeenCalledWith('Authorized')` |
73
+
74
+ ### The Mocking Rule
75
+ **Only mock at the architectural boundaries (Database, Network, External FileSystem).**
76
+ NEVER mock internal business logic or child pure-functions. If function A calls function B, test A by allowing it to genuinely call B.
77
+
78
+ ---
79
+
80
+ ## 3. Anti-Pattern: Testing Implementation Details
81
+
82
+ Tests should verify the *behavior* output, not the underlying code structure.
83
+
84
+ ```typescript
85
+ class Account {
86
+ private balance = 0;
87
+ deposit(amount: number) { this.balance += amount; }
88
+ getBalance() { return this.balance; }
89
+ }
90
+
91
+ // ❌ BAD: Testing internal state (Fragile)
92
+ test('Deposit updates the internal balance variable', () => {
93
+ const acc = new Account();
94
+ acc.deposit(50);
95
+ expect(acc['balance']).toBe(50); // Intrusive test breaks if variable is renamed
96
+ });
97
+
98
+ // GOOD: Testing external behavior contract
99
+ test('Deposit makes the funds available via getBalance', () => {
100
+ const acc = new Account();
101
+ acc.deposit(50);
102
+ expect(acc.getBalance()).toBe(50); // Tests the public API only
103
+ });
104
+ ```
105
+
106
+ ---
107
+
108
+ ## 🤖 LLM-Specific Traps (TDD)
109
+
110
+ 1. **Executing Green-First:** Writing the implementation *before* the test. This completely bypasses the design guidance inherent to TDD.
111
+ 2. **Test-Induced Design Damage:** Making private methods public just so they can be individually unit tested. Test the private methods exclusively through the public interface.
112
+ 3. **Mocks as Reality:** AI deeply mocking internal functions (`vi.mock('./utils')`) to the point where the test simply verifies the mock configuration, providing zero real-world confidence.
113
+ 4. **Fragile "Any" Mocks:** AI writing `expect(mock).toHaveBeenCalledWith(expect.anything())`, neutralizing the actual verification value of the spy.
114
+ 5. **No Edge Cases:** Generating tests exclusively for the "Happy Path" (valid inputs). TDD requires boundary testing (nulls, negatives, MAX_INT, empty arrays).
115
+ 6. **Massive Arrange Blocks:** Constructing 100-line object setups before the action occurs. Strongly indicates the code under test requires too many dependencies.
116
+ 7. **Random Execution Dependency:** Writing tests relying on `Math.random()`, `new Date()`, or real database connections. Tests must be deterministic. Inject interfaces for time and randomizers.
117
+ 8. **Catch-All Error Checks:** AI writes `expect(fn).toThrowError()`. Assert against specific error messages so regressions in the exact failure reason are detected.
118
+ 9. **Test Name Obscurity:** `test('Works properly', () => ...)`. The test name should read as explicit documentation of system constraints (`test('Throws InsufficientFundsError when withdrawal exceeds balance')`).
119
+ 10. **Refactor Skip:** Completing the "Green" phase and stopping. The Refactor phase is where the technical debt is permanently cleared.
120
+
121
+ ---
122
+
123
+ ## 🏛️ Tribunal Integration
124
+
125
+ ### ✅ Pre-Flight Self-Audit
126
+ ```
127
+ Did I write the failing test requirements BEFORE creating the implementation?
128
+ ✅ Are internal private methods accessed solely via verifying the public API layer?
129
+ Were mocks restricted entirely to architectural boundaries (Network/DB/Disk)?
130
+ ✅ Are date/time instances mocked via FakeTimers to ensure strict determinism?
131
+ Do assertions verify precise error messages instead of generic catch-all throws?
132
+ Are test case titles descriptive enough to serve as living documentation?
133
+ Have all negative edge cases (boundaries, empty states) been accounted for?
134
+ Upon achieving 'Green', was a deliberate refactor pass initiated for clean code?
135
+ Has `expect.anything()` been avoided to enforce rigid verification of call payloads?
136
+ ✅ Does the payload setup rely on minimal dummy data instead of colossal stubs?
137
+ ```