codex-genesis-harness 0.1.1 → 0.1.4

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 (180) hide show
  1. package/.codebase/ARCHITECTURE_REVIEW_COMPLETE.md +216 -0
  2. package/.codebase/CURRENT_STATE.md +2 -0
  3. package/.codebase/DOMAIN_MODELS.md +5 -3
  4. package/.codebase/FILE_NAMING_CLARIFICATION.md +161 -0
  5. package/.codebase/HARNESS_COMPLETENESS_AUDIT.md +613 -0
  6. package/.codebase/IMPLEMENTATION_COMPLETE.md +429 -0
  7. package/.codebase/IMPLEMENTATION_HANDOFF.md +351 -0
  8. package/.codebase/IMPROVEMENTS_SUMMARY.md +419 -0
  9. package/.codebase/PHASE3_SKILLS_NAMING_COMPLETE.md +292 -0
  10. package/.codebase/PHASE_DEPENDENCY_MAP.md +486 -0
  11. package/.codebase/QUICK_START_SPEC_IMPACT.md +456 -0
  12. package/.codebase/README.md +139 -0
  13. package/.codebase/RECOVERY_POINTS.md +438 -0
  14. package/.codex/skills/genesis-api-sync/SKILL.md +354 -0
  15. package/.codex/skills/genesis-api-sync/agents/openai.yaml +7 -0
  16. package/.codex/skills/genesis-api-sync/checklists/api-sync-checklist.md +101 -0
  17. package/.codex/skills/genesis-api-sync/examples/example.md +68 -0
  18. package/.codex/skills/genesis-api-sync/templates/api-change-template.md +257 -0
  19. package/.codex/skills/genesis-debug-guide/SKILL.md +479 -0
  20. package/.codex/skills/genesis-debug-guide/agents/openai.yaml +7 -0
  21. package/.codex/skills/genesis-debug-guide/checklists/flaky-test-investigation.md +339 -0
  22. package/.codex/skills/genesis-debug-guide/checklists/production-bug-debug.md +210 -0
  23. package/.codex/skills/genesis-debug-guide/checklists/test-failure-debug.md +158 -0
  24. package/.codex/skills/genesis-debug-guide/examples/example.md +48 -0
  25. package/.codex/skills/genesis-debug-guide/observability/debug-commands.md +365 -0
  26. package/.codex/skills/genesis-debug-guide/playbooks/unit-test-failures.md +289 -0
  27. package/.codex/skills/genesis-debug-guide/templates/debug-investigation-log.md +288 -0
  28. package/.codex/skills/genesis-docs-automation/SKILL.md +1003 -0
  29. package/.codex/skills/genesis-docs-automation/agents/openai.yaml +7 -0
  30. package/.codex/skills/genesis-docs-automation/checklists/docs-validation.md +359 -0
  31. package/.codex/skills/genesis-docs-automation/checklists/spec-alignment.md +312 -0
  32. package/.codex/skills/genesis-docs-automation/examples/example.md +59 -0
  33. package/.codex/skills/genesis-docs-automation/observability/docs-tracking.md +382 -0
  34. package/.codex/skills/genesis-docs-automation/playbooks/auto-update-flow.md +851 -0
  35. package/.codex/skills/genesis-docs-automation/playbooks/changelog-generation.md +491 -0
  36. package/.codex/skills/genesis-docs-automation/templates/changelog-entry-template.md +187 -0
  37. package/.codex/skills/genesis-docs-automation/templates/handoff-template.md +297 -0
  38. package/.codex/skills/genesis-harness/SKILL.md +734 -82
  39. package/.codex/skills/genesis-harness/checklists/bug-fix-qa.md +169 -0
  40. package/.codex/skills/genesis-harness/checklists/new-feature-qa.md +157 -0
  41. package/.codex/skills/genesis-harness/checklists/refactor-qa.md +216 -0
  42. package/.codex/skills/genesis-harness/checklists/requirements-validation.md +211 -0
  43. package/.codex/skills/genesis-harness/resources/change-impact-matrix-template.md +204 -0
  44. package/.codex/skills/genesis-harness/resources/foundation-phase-template.md +131 -0
  45. package/.codex/skills/genesis-harness/resources/phase-00-foundation-template.md +76 -0
  46. package/.codex/skills/genesis-harness/resources/post-implementation-guide.md +347 -0
  47. package/.codex/skills/genesis-harness/scripts/check-architecture-boundaries.sh +23 -23
  48. package/.codex/skills/genesis-harness/scripts/check-docs-sync.sh +24 -24
  49. package/.codex/skills/genesis-harness/scripts/check-no-debug-logs.sh +21 -21
  50. package/.codex/skills/genesis-harness/scripts/check-required-planning-files.sh +46 -46
  51. package/.codex/skills/genesis-harness/scripts/check-spec-changelog.sh +24 -24
  52. package/.codex/skills/genesis-harness/scripts/check-task-tracking.sh +25 -25
  53. package/.codex/skills/genesis-harness/scripts/compact-context.sh +54 -0
  54. package/.codex/skills/genesis-harness/scripts/create-adr.sh +74 -74
  55. package/.codex/skills/genesis-harness/scripts/create-bug.sh +160 -160
  56. package/.codex/skills/genesis-harness/scripts/create-feature.sh +217 -217
  57. package/.codex/skills/genesis-harness/scripts/detect-stack.sh +26 -26
  58. package/.codex/skills/genesis-harness/scripts/init-planning.sh +750 -719
  59. package/.codex/skills/genesis-harness/scripts/list-changed-files.sh +12 -12
  60. package/.codex/skills/genesis-harness/scripts/offload-log.sh +72 -0
  61. package/.codex/skills/genesis-harness/scripts/run-verification.sh +47 -47
  62. package/.codex/skills/genesis-harness/scripts/run-verify-loop.sh +75 -0
  63. package/.codex/skills/genesis-harness/scripts/update-state.sh +33 -33
  64. package/.codex/skills/genesis-harness-engineering/SKILL.md +159 -0
  65. package/.codex/skills/genesis-harness-engineering/checklists/checklist.md +48 -0
  66. package/.codex/skills/genesis-harness-engineering/examples/example.md +57 -0
  67. package/.codex/skills/genesis-harness-engineering/playbooks/harness-evolution.md +99 -0
  68. package/.codex/skills/genesis-harness-engineering/templates/harness-change-template.md +37 -0
  69. package/.codex/skills/genesis-observability-automation/SKILL.md +382 -0
  70. package/.codex/skills/genesis-observability-automation/agents/openai.yaml +7 -0
  71. package/.codex/skills/genesis-observability-automation/examples/example.md +86 -0
  72. package/.codex/skills/genesis-performance-profiling/SKILL.md +510 -0
  73. package/.codex/skills/genesis-performance-profiling/agents/openai.yaml +6 -0
  74. package/.codex/skills/genesis-performance-profiling/checklists/optimization-verification.md +199 -0
  75. package/.codex/skills/genesis-performance-profiling/checklists/performance-baseline.md +183 -0
  76. package/.codex/skills/genesis-performance-profiling/examples/example.md +234 -0
  77. package/.codex/skills/genesis-performance-profiling/observability/performance-tracking.md +202 -0
  78. package/.codex/skills/genesis-performance-profiling/playbooks/load-testing-orchestration.md +593 -0
  79. package/.codex/skills/genesis-performance-profiling/playbooks/profiling-playbook.md +601 -0
  80. package/.codex/skills/genesis-performance-profiling/templates/load-test-config-template.md +428 -0
  81. package/.codex/skills/genesis-performance-profiling/templates/performance-report-template.md +238 -0
  82. package/.codex/skills/genesis-release-orchestration/SKILL.md +653 -0
  83. package/.codex/skills/genesis-release-orchestration/agents/openai.yaml +7 -0
  84. package/.codex/skills/genesis-release-orchestration/checklists/post-deployment-verification.md +274 -0
  85. package/.codex/skills/genesis-release-orchestration/checklists/pre-release-validation.md +220 -0
  86. package/.codex/skills/genesis-release-orchestration/examples/example.md +78 -0
  87. package/.codex/skills/genesis-release-orchestration/observability/release-tracking.md +253 -0
  88. package/.codex/skills/genesis-release-orchestration/playbooks/canary-deployment-orchestration.md +472 -0
  89. package/.codex/skills/genesis-release-orchestration/playbooks/semantic-versioning-automation.md +494 -0
  90. package/.codex/skills/genesis-release-orchestration/templates/deployment-strategy-template.md +303 -0
  91. package/.codex/skills/genesis-release-orchestration/templates/release-runbook-template.md +420 -0
  92. package/.codex/skills/genesis-research-first/SKILL.md +237 -0
  93. package/.codex/skills/genesis-research-first/agents/openai.yaml +7 -0
  94. package/.codex/skills/genesis-research-first/examples/example.md +85 -0
  95. package/.codex/skills/genesis-spec-propagation/SKILL.md +534 -0
  96. package/.codex/skills/genesis-spec-propagation/agents/openai.yaml +7 -0
  97. package/.codex/skills/genesis-spec-propagation/checklists/phase-update-verification.md +384 -0
  98. package/.codex/skills/genesis-spec-propagation/checklists/spec-change-detection.md +257 -0
  99. package/.codex/skills/genesis-spec-propagation/examples/example.md +63 -0
  100. package/.codex/skills/genesis-spec-propagation/observability/propagation-tracking.md +373 -0
  101. package/.codex/skills/genesis-spec-propagation/playbooks/breaking-change-propagation.md +692 -0
  102. package/.codex/skills/genesis-spec-propagation/playbooks/feature-change-propagation.md +434 -0
  103. package/.codex/skills/genesis-spec-propagation/templates/migration-guide-template.md +407 -0
  104. package/.codex/skills/spec-impact-engine/SKILL.md +504 -0
  105. package/.codex/skills/spec-impact-engine/agents/openai.yaml +7 -0
  106. package/.codex/skills/spec-impact-engine/detect-spec-changes.sh +262 -0
  107. package/.codex/skills/spec-impact-engine/examples/example.md +98 -0
  108. package/.codex/skills/spec-impact-engine/templates/impact-report.md +248 -0
  109. package/.codex/skills/spec-impact-engine/templates/migration-guide.md +223 -0
  110. package/.codex-plugin/plugin.json +1 -1
  111. package/README.EN.md +719 -0
  112. package/README.VI.md +712 -0
  113. package/README.md +261 -107
  114. package/VERSION +1 -1
  115. package/bin/genesis-harness.js +20 -11
  116. package/package.json +1 -1
  117. package/scripts/README.md +342 -0
  118. package/scripts/compact-context.sh +54 -0
  119. package/scripts/detect-changes.sh +152 -0
  120. package/scripts/install.sh +50 -41
  121. package/scripts/offload-log.sh +72 -0
  122. package/scripts/run-evals.sh +70 -43
  123. package/scripts/run-verify-loop.sh +75 -0
  124. package/scripts/uninstall.sh +52 -43
  125. package/scripts/verify.sh +165 -73
  126. package/.codex/skills/harness-engineering-skill/SKILL.md +0 -45
  127. package/.codex/skills/harness-engineering-skill/checklists/checklist.md +0 -8
  128. package/.codex/skills/harness-engineering-skill/examples/example.md +0 -4
  129. package/.codex/skills/harness-engineering-skill/templates/harness-change-template.md +0 -8
  130. /package/.codex/skills/{ai-provider-skill → genesis-ai-provider}/SKILL.md +0 -0
  131. /package/.codex/skills/{ai-provider-skill → genesis-ai-provider}/agents/openai.yaml +0 -0
  132. /package/.codex/skills/{ai-provider-skill → genesis-ai-provider}/checklists/checklist.md +0 -0
  133. /package/.codex/skills/{ai-provider-skill → genesis-ai-provider}/examples/example.md +0 -0
  134. /package/.codex/skills/{ai-provider-skill → genesis-ai-provider}/templates/provider-contract-template.md +0 -0
  135. /package/.codex/skills/{api-contract-skill → genesis-api-contract}/SKILL.md +0 -0
  136. /package/.codex/skills/{api-contract-skill → genesis-api-contract}/agents/openai.yaml +0 -0
  137. /package/.codex/skills/{api-contract-skill → genesis-api-contract}/checklists/checklist.md +0 -0
  138. /package/.codex/skills/{api-contract-skill → genesis-api-contract}/examples/example.md +0 -0
  139. /package/.codex/skills/{api-contract-skill → genesis-api-contract}/templates/api-contract-template.md +0 -0
  140. /package/.codex/skills/{architecture-skill → genesis-architecture}/SKILL.md +0 -0
  141. /package/.codex/skills/{architecture-skill → genesis-architecture}/agents/openai.yaml +0 -0
  142. /package/.codex/skills/{architecture-skill → genesis-architecture}/checklists/checklist.md +0 -0
  143. /package/.codex/skills/{architecture-skill → genesis-architecture}/examples/example.md +0 -0
  144. /package/.codex/skills/{architecture-skill → genesis-architecture}/templates/architecture-decision-template.md +0 -0
  145. /package/.codex/skills/{codebase-map-skill → genesis-codebase-map}/SKILL.md +0 -0
  146. /package/.codex/skills/{codebase-map-skill → genesis-codebase-map}/agents/openai.yaml +0 -0
  147. /package/.codex/skills/{codebase-map-skill → genesis-codebase-map}/checklists/checklist.md +0 -0
  148. /package/.codex/skills/{codebase-map-skill → genesis-codebase-map}/examples/example.md +0 -0
  149. /package/.codex/skills/{codebase-map-skill → genesis-codebase-map}/templates/map-update-template.md +0 -0
  150. /package/.codex/skills/{design-spec-skill → genesis-design-spec}/SKILL.md +0 -0
  151. /package/.codex/skills/{design-spec-skill → genesis-design-spec}/agents/openai.yaml +0 -0
  152. /package/.codex/skills/{design-spec-skill → genesis-design-spec}/checklists/checklist.md +0 -0
  153. /package/.codex/skills/{design-spec-skill → genesis-design-spec}/examples/example.md +0 -0
  154. /package/.codex/skills/{design-spec-skill → genesis-design-spec}/templates/design-spec-template.md +0 -0
  155. /package/.codex/skills/{docs-skill → genesis-docs}/SKILL.md +0 -0
  156. /package/.codex/skills/{docs-skill → genesis-docs}/agents/openai.yaml +0 -0
  157. /package/.codex/skills/{docs-skill → genesis-docs}/checklists/checklist.md +0 -0
  158. /package/.codex/skills/{docs-skill → genesis-docs}/examples/example.md +0 -0
  159. /package/.codex/skills/{docs-skill → genesis-docs}/templates/docs-update-template.md +0 -0
  160. /package/.codex/skills/{harness-engineering-skill → genesis-harness-engineering}/agents/openai.yaml +0 -0
  161. /package/.codex/skills/{pipeline-orchestration-skill → genesis-pipeline-orchestration}/SKILL.md +0 -0
  162. /package/.codex/skills/{pipeline-orchestration-skill → genesis-pipeline-orchestration}/agents/openai.yaml +0 -0
  163. /package/.codex/skills/{pipeline-orchestration-skill → genesis-pipeline-orchestration}/checklists/checklist.md +0 -0
  164. /package/.codex/skills/{pipeline-orchestration-skill → genesis-pipeline-orchestration}/examples/example.md +0 -0
  165. /package/.codex/skills/{pipeline-orchestration-skill → genesis-pipeline-orchestration}/templates/orchestration-template.md +0 -0
  166. /package/.codex/skills/{planning-skill → genesis-planning}/SKILL.md +0 -0
  167. /package/.codex/skills/{planning-skill → genesis-planning}/agents/openai.yaml +0 -0
  168. /package/.codex/skills/{planning-skill → genesis-planning}/checklists/checklist.md +0 -0
  169. /package/.codex/skills/{planning-skill → genesis-planning}/examples/example.md +0 -0
  170. /package/.codex/skills/{planning-skill → genesis-planning}/templates/plan-template.md +0 -0
  171. /package/.codex/skills/{release-skill → genesis-release}/SKILL.md +0 -0
  172. /package/.codex/skills/{release-skill → genesis-release}/agents/openai.yaml +0 -0
  173. /package/.codex/skills/{release-skill → genesis-release}/checklists/checklist.md +0 -0
  174. /package/.codex/skills/{release-skill → genesis-release}/examples/example.md +0 -0
  175. /package/.codex/skills/{release-skill → genesis-release}/templates/release-checklist-template.md +0 -0
  176. /package/.codex/skills/{research-skill → genesis-research}/SKILL.md +0 -0
  177. /package/.codex/skills/{research-skill → genesis-research}/agents/openai.yaml +0 -0
  178. /package/.codex/skills/{research-skill → genesis-research}/checklists/checklist.md +0 -0
  179. /package/.codex/skills/{research-skill → genesis-research}/examples/example.md +0 -0
  180. /package/.codex/skills/{research-skill → genesis-research}/templates/research-note-template.md +0 -0
@@ -0,0 +1,288 @@
1
+ # Debug Investigation Log
2
+
3
+ **Template**: Use this to document your debugging process for a specific issue.
4
+
5
+ **Purpose**: Record findings so team can learn from investigation, help others with similar issues, and rebuild context if work resumes later.
6
+
7
+ ---
8
+
9
+ ## Incident Information
10
+
11
+ **Date**: [YYYY-MM-DD]
12
+ **Time Started**: [HH:MM]
13
+ **Investigator**: [Your Name]
14
+ **Bug ID/Ticket**: [Link if applicable]
15
+ **Severity**: Critical / High / Medium / Low
16
+
17
+ ---
18
+
19
+ ## Problem Summary
20
+
21
+ ### What
22
+ Brief description of what is broken:
23
+
24
+ [e.g., "User profile API returns 500 when fetching user with unicode characters in name"]
25
+
26
+ ### Impact
27
+ Who/what is affected:
28
+
29
+ - [ ] Users affected: [count or percentage]
30
+ - [ ] Data integrity: [yes/no - if yes, describe]
31
+ - [ ] Revenue impact: [yes/no - if yes, describe]
32
+ - [ ] Production outage: [yes/no]
33
+
34
+ ### Reproducibility
35
+ How consistent is the problem:
36
+
37
+ - [ ] Consistent (fails every time)
38
+ - [ ] Intermittent (fails ~X% of time)
39
+ - [ ] Environment-specific
40
+ - [ ] User-specific
41
+ - [ ] Data-specific
42
+
43
+ ### Reproduction Steps
44
+ Exact steps to trigger the problem:
45
+
46
+ 1. [First step]
47
+ 2. [Second step]
48
+ 3. [Third step]
49
+
50
+ ---
51
+
52
+ ## Investigation Process
53
+
54
+ ### Step 1: Initial Analysis
55
+ **Time**: [HH:MM] | **Duration**: [X min]
56
+
57
+ **What I did**:
58
+ - Reviewed error message
59
+ - Checked application logs
60
+ - Reproduced locally/in staging
61
+
62
+ **Findings**:
63
+ - Error stack trace shows: [key line]
64
+ - Logs show: [relevant log entry]
65
+ - Reproduced: [yes/no - where]
66
+
67
+ **Hypotheses formed**:
68
+ 1. [Hypothesis A]
69
+ 2. [Hypothesis B]
70
+ 3. [Hypothesis C]
71
+
72
+ ---
73
+
74
+ ### Step 2: Deep Investigation
75
+ **Time**: [HH:MM] | **Duration**: [X min]
76
+
77
+ **What I did**:
78
+ - Examined code at error location
79
+ - Added debug logging
80
+ - Checked git history
81
+ - Tested with different inputs
82
+
83
+ **Findings**:
84
+ - Code location: `src/users/controller.js` line 42
85
+ - Recent changes: [Yes/No - which PR?]
86
+ - Test coverage: [good/poor/none]
87
+
88
+ **Eliminated hypotheses**:
89
+ - ❌ Hypothesis A because: [reason]
90
+ - ❌ Hypothesis B because: [reason]
91
+
92
+ **Remaining hypotheses**:
93
+ - ✓ Hypothesis C: [most likely cause]
94
+
95
+ ---
96
+
97
+ ### Step 3: Root Cause Identification
98
+ **Time**: [HH:MM] | **Duration**: [X min]
99
+
100
+ **Root Cause**:
101
+ [Detailed explanation of why the bug occurs]
102
+
103
+ Example:
104
+ ```
105
+ The Unicode character 'é' (U+00E9) in the user name is not
106
+ being properly escaped in the SQL query. The database driver
107
+ receives: SELECT * FROM users WHERE name='José'
108
+ But doesn't properly handle the é character, causing a
109
+ SQL syntax error → 500 error.
110
+ ```
111
+
112
+ **Evidence**:
113
+ - Stack trace points to: [line X in file Y]
114
+ - Debug output shows: [variable values]
115
+ - Git history shows: [commit Z changed this]
116
+ - Similar issue: [GitHub issue #123]
117
+
118
+ **Contributing Factors**:
119
+ - [ ] Missing test for unicode characters
120
+ - [ ] No input validation for special characters
121
+ - [ ] Database driver version issue
122
+ - [ ] Configuration missing
123
+
124
+ ---
125
+
126
+ ## Solution
127
+
128
+ ### Fix Strategy
129
+ **Approach**: [Describe the fix approach]
130
+
131
+ Example:
132
+ ```
133
+ Option 1: Use parameterized queries (preferred)
134
+ - Pro: Prevents all SQL injection issues
135
+ - Con: Requires database layer refactoring
136
+
137
+ Option 2: Escape unicode before query (quick fix)
138
+ - Pro: Quick, minimal change
139
+ - Con: Only fixes unicode, not other characters
140
+
141
+ Decision: Option 1 (proper solution)
142
+ ```
143
+
144
+ ### Fix Implementation
145
+ **File**: `src/users/repository.js`
146
+ **Lines**: 42-50
147
+
148
+ ```javascript
149
+ // BEFORE (buggy):
150
+ const query = `SELECT * FROM users WHERE name='${name}'`;
151
+ const result = await db.query(query);
152
+
153
+ // AFTER (fixed):
154
+ const result = await db.query(
155
+ 'SELECT * FROM users WHERE name = ?',
156
+ [name] // Parameter passed separately - properly escaped
157
+ );
158
+ ```
159
+
160
+ **Why This Fixes It**:
161
+ - Parameterized queries handle all special characters
162
+ - Database driver handles escaping automatically
163
+ - More secure (prevents SQL injection)
164
+
165
+ ---
166
+
167
+ ## Verification
168
+
169
+ ### Test Added
170
+ **Test file**: `src/users/__tests__/repository.test.js`
171
+
172
+ **Test case**:
173
+ ```javascript
174
+ test('should fetch user with unicode name', async () => {
175
+ const user = await repository.getByName('José');
176
+ expect(user).toEqual({ id: 1, name: 'José' });
177
+ });
178
+
179
+ test('should fetch user with special characters', async () => {
180
+ const user = await repository.getByName("O'Brien");
181
+ expect(user).toEqual({ id: 2, name: "O'Brien" });
182
+ });
183
+ ```
184
+
185
+ ### Verification Results
186
+ - [ ] Failing test created → fails before fix
187
+ - [ ] Test passes after fix
188
+ - [ ] Full test suite passes
189
+ - [ ] No new test failures
190
+ - [ ] No debug code left in implementation
191
+ - [ ] Verified in staging environment (if production bug)
192
+ - [ ] Performance: No degradation observed
193
+
194
+ ### Regression Testing
195
+ - [ ] All user-related tests pass
196
+ - [ ] Query building tests pass
197
+ - [ ] Integration tests with database pass
198
+ - [ ] Similar code patterns reviewed (no other unicode issues)
199
+ - [ ] Code coverage: Now at [X%]
200
+
201
+ ---
202
+
203
+ ## Lessons Learned
204
+
205
+ ### What Went Wrong
206
+ 1. **No test for unicode characters** - Input validation should include international characters
207
+ 2. **String interpolation used for SQL** - Parameterized queries should be standard
208
+ 3. **No code review process for input handling** - Missed in PR review
209
+
210
+ ### Prevention
211
+ 1. **Add test suite for international character handling**
212
+ - Names with accents (José, François)
213
+ - Apostrophes (O'Brien)
214
+ - Unicode emoji (😀)
215
+ - Right-to-left text (العربية)
216
+
217
+ 2. **Add linting rule**
218
+ - Ban string interpolation in SQL
219
+ - Enforce parameterized queries
220
+ - Review all user input handling
221
+
222
+ 3. **Process improvement**
223
+ - Code review checklist: "Check all user input is validated"
224
+ - Input validation strategy doc
225
+ - New developer onboarding includes input handling section
226
+
227
+ ### Similar Bugs to Look For
228
+ - [ ] All user input handling reviewed (search for template literals in queries)
229
+ - [ ] Found 2 other locations with same pattern → Fixed together
230
+ - [ ] Added to "Known Issues" if not fixed: [none]
231
+
232
+ ---
233
+
234
+ ## Timeline Summary
235
+
236
+ | Time | Event |
237
+ |------|-------|
238
+ | 14:00 | Bug reported: API returns 500 for unicode names |
239
+ | 14:05 | Reproduced locally |
240
+ | 14:15 | Identified: String interpolation in SQL |
241
+ | 14:25 | Fixed: Changed to parameterized queries |
242
+ | 14:30 | Tests passing, verified in staging |
243
+ | 14:45 | Code review approved |
244
+ | 15:00 | Deployed to production |
245
+ | 15:05 | Monitoring shows error rate at 0% ✓ |
246
+
247
+ **Total Investigation Time**: 45 minutes
248
+
249
+ ---
250
+
251
+ ## Questions for Next Investigation
252
+
253
+ If similar issue occurs:
254
+ - [ ] Is it unicode-related?
255
+ - [ ] Is it in the database layer?
256
+ - [ ] Check: Are parameterized queries used everywhere?
257
+ - [ ] Check: Is input validation comprehensive?
258
+
259
+ ---
260
+
261
+ ## Artifacts
262
+
263
+ ### Created Files
264
+ - `src/users/__tests__/repository.test.js` - New test cases
265
+ - `.codebase/RECOVERY_POINTS.md` - Updated with unicode handling notes
266
+
267
+ ### Modified Files
268
+ - `src/users/repository.js` - Fixed SQL query
269
+ - `src/users/controller.js` - Code review pass
270
+
271
+ ### Documentation
272
+ - Added to observability/failures/: This investigation log
273
+ - Updated `.codebase/KNOWN_ISSUES.md`: Similar patterns noted
274
+
275
+ ---
276
+
277
+ ## Sign-Off
278
+
279
+ - [ ] Investigation complete
280
+ - [ ] Fix verified
281
+ - [ ] Tests passing
282
+ - [ ] Team notified
283
+ - [ ] Ticket resolved
284
+ - [ ] Log archived
285
+
286
+ **Investigator**: [Your Name]
287
+ **Date Completed**: [YYYY-MM-DD]
288
+ **Approved By**: [Code Reviewer Name]