codex-genesis-harness 0.1.4 → 0.1.6

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 (153) hide show
  1. package/.codebase/ARCHITECTURE_REVIEW_COMPLETE.md +216 -216
  2. package/.codebase/CURRENT_STATE.md +9 -7
  3. package/.codebase/FILE_NAMING_CLARIFICATION.md +161 -161
  4. package/.codebase/HARNESS_COMPLETENESS_AUDIT.md +613 -613
  5. package/.codebase/IMPLEMENTATION_COMPLETE.md +429 -429
  6. package/.codebase/IMPLEMENTATION_HANDOFF.md +351 -351
  7. package/.codebase/IMPROVEMENTS_SUMMARY.md +419 -419
  8. package/.codebase/PHASE3_SKILLS_NAMING_COMPLETE.md +292 -292
  9. package/.codebase/PHASE_DEPENDENCY_MAP.md +486 -486
  10. package/.codebase/QUICK_START_SPEC_IMPACT.md +456 -456
  11. package/.codebase/README.md +139 -139
  12. package/.codebase/RECOVERY_POINTS.md +438 -438
  13. package/.codebase/state.json +37 -0
  14. package/.codex/skills/genesis-api-sync/SKILL.md +354 -354
  15. package/.codex/skills/genesis-api-sync/checklists/api-sync-checklist.md +101 -101
  16. package/.codex/skills/genesis-api-sync/templates/api-change-template.md +257 -257
  17. package/.codex/skills/genesis-debug-guide/SKILL.md +479 -479
  18. package/.codex/skills/genesis-debug-guide/checklists/flaky-test-investigation.md +339 -339
  19. package/.codex/skills/genesis-debug-guide/checklists/production-bug-debug.md +210 -210
  20. package/.codex/skills/genesis-debug-guide/checklists/test-failure-debug.md +158 -158
  21. package/.codex/skills/genesis-debug-guide/observability/debug-commands.md +365 -365
  22. package/.codex/skills/genesis-debug-guide/playbooks/unit-test-failures.md +289 -289
  23. package/.codex/skills/genesis-debug-guide/templates/debug-investigation-log.md +288 -288
  24. package/.codex/skills/genesis-docs-automation/SKILL.md +1003 -1003
  25. package/.codex/skills/genesis-docs-automation/checklists/docs-validation.md +359 -359
  26. package/.codex/skills/genesis-docs-automation/checklists/spec-alignment.md +312 -312
  27. package/.codex/skills/genesis-docs-automation/observability/docs-tracking.md +382 -382
  28. package/.codex/skills/genesis-docs-automation/playbooks/auto-update-flow.md +851 -851
  29. package/.codex/skills/genesis-docs-automation/playbooks/changelog-generation.md +491 -491
  30. package/.codex/skills/genesis-docs-automation/templates/changelog-entry-template.md +187 -187
  31. package/.codex/skills/genesis-docs-automation/templates/handoff-template.md +297 -297
  32. package/.codex/skills/genesis-harness/SKILL.md +1427 -1418
  33. package/.codex/skills/genesis-harness/agents/openai.yaml +7 -7
  34. package/.codex/skills/genesis-harness/checklists/bug-fix-qa.md +169 -169
  35. package/.codex/skills/genesis-harness/checklists/new-feature-qa.md +157 -157
  36. package/.codex/skills/genesis-harness/checklists/refactor-qa.md +216 -216
  37. package/.codex/skills/genesis-harness/checklists/requirements-validation.md +211 -211
  38. package/.codex/skills/genesis-harness/references/planning-schema.md +35 -35
  39. package/.codex/skills/genesis-harness/references/quality-rubric.md +21 -21
  40. package/.codex/skills/genesis-harness/references/research-rubric.md +41 -41
  41. package/.codex/skills/genesis-harness/references/workflows.md +33 -33
  42. package/.codex/skills/genesis-harness/resources/agents-template.md +27 -27
  43. package/.codex/skills/genesis-harness/resources/api-docs-template.md +32 -32
  44. package/.codex/skills/genesis-harness/resources/architecture-template.md +30 -30
  45. package/.codex/skills/genesis-harness/resources/audit-template.md +26 -26
  46. package/.codex/skills/genesis-harness/resources/bug-template.md +34 -34
  47. package/.codex/skills/genesis-harness/resources/change-impact-matrix-template.md +204 -204
  48. package/.codex/skills/genesis-harness/resources/check-template.md +21 -21
  49. package/.codex/skills/genesis-harness/resources/conventions-template.md +42 -42
  50. package/.codex/skills/genesis-harness/resources/decision-template.md +33 -33
  51. package/.codex/skills/genesis-harness/resources/design-template.md +26 -26
  52. package/.codex/skills/genesis-harness/resources/escalation-template.md +21 -21
  53. package/.codex/skills/genesis-harness/resources/feature-template.md +49 -49
  54. package/.codex/skills/genesis-harness/resources/foundation-phase-template.md +131 -131
  55. package/.codex/skills/genesis-harness/resources/integrations-template.md +32 -32
  56. package/.codex/skills/genesis-harness/resources/journeys-template.md +13 -13
  57. package/.codex/skills/genesis-harness/resources/lessons-learned-template.md +12 -12
  58. package/.codex/skills/genesis-harness/resources/observability-template.md +34 -34
  59. package/.codex/skills/genesis-harness/resources/phase-00-foundation-template.md +76 -76
  60. package/.codex/skills/genesis-harness/resources/phase-template.md +34 -34
  61. package/.codex/skills/genesis-harness/resources/pitfalls-template.md +22 -22
  62. package/.codex/skills/genesis-harness/resources/planning-tree-template.md +39 -39
  63. package/.codex/skills/genesis-harness/resources/post-implementation-guide.md +347 -347
  64. package/.codex/skills/genesis-harness/resources/project-template.md +38 -38
  65. package/.codex/skills/genesis-harness/resources/quality-score-template.md +11 -11
  66. package/.codex/skills/genesis-harness/resources/requirements-template.md +26 -26
  67. package/.codex/skills/genesis-harness/resources/research-template.md +26 -26
  68. package/.codex/skills/genesis-harness/resources/review-template.md +22 -22
  69. package/.codex/skills/genesis-harness/resources/spec-changelog-template.md +6 -6
  70. package/.codex/skills/genesis-harness/resources/stack-template.md +33 -33
  71. package/.codex/skills/genesis-harness/resources/verification-template.md +26 -26
  72. package/.codex/skills/genesis-harness/scripts/check-architecture-boundaries.sh +0 -0
  73. package/.codex/skills/genesis-harness/scripts/check-docs-sync.sh +0 -0
  74. package/.codex/skills/genesis-harness/scripts/check-no-debug-logs.sh +0 -0
  75. package/.codex/skills/genesis-harness/scripts/check-required-planning-files.sh +0 -0
  76. package/.codex/skills/genesis-harness/scripts/check-spec-changelog.sh +0 -0
  77. package/.codex/skills/genesis-harness/scripts/check-task-tracking.sh +0 -0
  78. package/.codex/skills/genesis-harness/scripts/compact-context.sh +0 -0
  79. package/.codex/skills/genesis-harness/scripts/create-adr.sh +0 -0
  80. package/.codex/skills/genesis-harness/scripts/create-bug.sh +0 -0
  81. package/.codex/skills/genesis-harness/scripts/create-feature.sh +0 -0
  82. package/.codex/skills/genesis-harness/scripts/detect-stack.sh +0 -0
  83. package/.codex/skills/genesis-harness/scripts/init-planning.sh +0 -0
  84. package/.codex/skills/genesis-harness/scripts/list-changed-files.sh +0 -0
  85. package/.codex/skills/genesis-harness/scripts/offload-log.sh +0 -0
  86. package/.codex/skills/genesis-harness/scripts/run-verification.sh +0 -0
  87. package/.codex/skills/genesis-harness/scripts/run-verify-loop.sh +0 -0
  88. package/.codex/skills/genesis-harness/scripts/update-state.sh +0 -0
  89. package/.codex/skills/genesis-mvp-planning/SKILL.md +114 -0
  90. package/.codex/skills/genesis-mvp-planning/agents/openai.yaml +6 -0
  91. package/.codex/skills/genesis-mvp-planning/checklists/mvp-readiness.md +18 -0
  92. package/.codex/skills/genesis-mvp-planning/examples/5-phase-roadmap-example.md +43 -0
  93. package/.codex/skills/genesis-mvp-planning/templates/phase-1-core.md +17 -0
  94. package/.codex/skills/genesis-mvp-planning/templates/phase-2-auth.md +17 -0
  95. package/.codex/skills/genesis-mvp-planning/templates/phase-3-features.md +17 -0
  96. package/.codex/skills/genesis-mvp-planning/templates/phase-4-integrations.md +17 -0
  97. package/.codex/skills/genesis-mvp-planning/templates/phase-5-readiness.md +17 -0
  98. package/.codex/skills/genesis-new-design/agents/openai.yaml +3 -3
  99. package/.codex/skills/genesis-observability-automation/checklists/.gitkeep +0 -0
  100. package/.codex/skills/genesis-observability-automation/observability/.gitkeep +0 -0
  101. package/.codex/skills/genesis-observability-automation/playbooks/.gitkeep +0 -0
  102. package/.codex/skills/genesis-observability-automation/templates/.gitkeep +0 -0
  103. package/.codex/skills/genesis-release-orchestration/SKILL.md +653 -653
  104. package/.codex/skills/genesis-release-orchestration/checklists/post-deployment-verification.md +274 -274
  105. package/.codex/skills/genesis-release-orchestration/checklists/pre-release-validation.md +220 -220
  106. package/.codex/skills/genesis-release-orchestration/observability/release-tracking.md +253 -253
  107. package/.codex/skills/genesis-release-orchestration/playbooks/canary-deployment-orchestration.md +472 -472
  108. package/.codex/skills/genesis-release-orchestration/playbooks/semantic-versioning-automation.md +494 -494
  109. package/.codex/skills/genesis-release-orchestration/templates/deployment-strategy-template.md +303 -303
  110. package/.codex/skills/genesis-release-orchestration/templates/release-runbook-template.md +420 -420
  111. package/.codex/skills/genesis-research-first/SKILL.md +237 -237
  112. package/.codex/skills/genesis-research-first/templates/.gitkeep +0 -0
  113. package/.codex/skills/genesis-spec-propagation/SKILL.md +534 -534
  114. package/.codex/skills/genesis-spec-propagation/checklists/phase-update-verification.md +384 -384
  115. package/.codex/skills/genesis-spec-propagation/checklists/spec-change-detection.md +257 -257
  116. package/.codex/skills/genesis-spec-propagation/observability/propagation-tracking.md +373 -373
  117. package/.codex/skills/genesis-spec-propagation/playbooks/breaking-change-propagation.md +692 -692
  118. package/.codex/skills/genesis-spec-propagation/playbooks/feature-change-propagation.md +434 -434
  119. package/.codex/skills/genesis-spec-propagation/templates/migration-guide-template.md +407 -407
  120. package/.codex/skills/genesis-state-machine/SKILL.md +34 -0
  121. package/.codex/skills/genesis-upgrade-design/agents/openai.yaml +3 -3
  122. package/.codex/skills/spec-impact-engine/SKILL.md +504 -504
  123. package/.codex/skills/spec-impact-engine/detect-spec-changes.sh +0 -0
  124. package/.codex-plugin/plugin.json +24 -24
  125. package/CHANGELOG.md +42 -0
  126. package/LICENSE +22 -22
  127. package/README.EN.md +784 -719
  128. package/README.VI.md +776 -712
  129. package/README.md +113 -253
  130. package/VERSION +2 -2
  131. package/bin/genesis-harness.js +90 -87
  132. package/package.json +68 -43
  133. package/scripts/README.md +342 -342
  134. package/scripts/compact-context.sh +0 -0
  135. package/scripts/contract_integrity_gate.js +83 -0
  136. package/scripts/detect-changes.sh +0 -0
  137. package/scripts/healing_telemetry.js +118 -0
  138. package/scripts/install.sh +4 -1
  139. package/scripts/offload-log.sh +0 -0
  140. package/scripts/prompt_sentinel.js +84 -0
  141. package/scripts/run-evals.sh +1 -0
  142. package/scripts/run-verify-loop.sh +11 -0
  143. package/scripts/spec_visual_sync.js +157 -0
  144. package/scripts/test_generator.js +142 -0
  145. package/scripts/transition_state.sh +67 -0
  146. package/scripts/uninstall.sh +1 -0
  147. package/scripts/validation_gates.sh +85 -0
  148. package/scripts/verify.sh +5 -0
  149. package/tests/unit/contract_integrity_gate.test.js +74 -0
  150. package/tests/unit/healing_telemetry.test.js +58 -0
  151. package/tests/unit/prompt_sentinel.test.js +50 -0
  152. package/tests/unit/spec_visual_sync.test.js +77 -0
  153. package/tests/unit/test_generator.test.js +62 -0
@@ -1,257 +1,257 @@
1
- # API Sync Template
2
-
3
- ## Endpoint Change Report
4
-
5
- ### Metadata
6
-
7
- - **Feature/Change**: _[Name]_
8
- - **Date**: _YYYY-MM-DD_
9
- - **Author**: _Name_
10
- - **Breaking Changes**: ☐ Yes / ☐ No
11
- - **Version Impact**: ☐ Patch / ☐ Minor / ☐ Major
12
-
13
- ---
14
-
15
- ## Changed Endpoints
16
-
17
- ### [1] NEW ENDPOINT
18
-
19
- ```
20
- Method: GET
21
- Path: /api/v1/resource
22
- Status: NEW in v1.0
23
- ```
24
-
25
- **Request:**
26
- ```json
27
- {
28
- "query": {
29
- "page": "number (optional, default: 1)",
30
- "limit": "number (optional, default: 20)"
31
- }
32
- }
33
- ```
34
-
35
- **Response 200:**
36
- ```json
37
- {
38
- "data": [
39
- {
40
- "id": "string",
41
- "name": "string",
42
- "created_at": "ISO-8601 timestamp"
43
- }
44
- ],
45
- "pagination": {
46
- "page": "number",
47
- "limit": "number",
48
- "total": "number"
49
- }
50
- }
51
- ```
52
-
53
- **Error Responses:**
54
- - `400 Bad Request`: Invalid query parameters
55
- - `401 Unauthorized`: Missing authentication
56
- - `500 Server Error`: Internal server error
57
-
58
- **Auth Required:** Yes - Bearer token in `Authorization` header
59
-
60
- **Rate Limit:** 100 requests/hour per API key
61
-
62
- ---
63
-
64
- ### [2] MODIFIED ENDPOINT
65
-
66
- ```
67
- Method: POST
68
- Path: /api/v1/resource
69
- Status: MODIFIED in v1.2
70
- Previous Version: v1.1
71
- ```
72
-
73
- **Changes:**
74
- ```diff
75
- - Removed field: `legacy_field`
76
- + Added field: `new_field` (required)
77
- - Changed: `status` enum values
78
- ```
79
-
80
- **Request (v1.2):**
81
- ```json
82
- {
83
- "name": "string (required)",
84
- "email": "string (required, email format)",
85
- "new_field": "string (required)",
86
- "optional_data": "object (optional)"
87
- }
88
- ```
89
-
90
- **Response 201:**
91
- ```json
92
- {
93
- "id": "string",
94
- "name": "string",
95
- "email": "string",
96
- "new_field": "string",
97
- "created_at": "ISO-8601 timestamp",
98
- "status": "active | inactive | pending"
99
- }
100
- ```
101
-
102
- **Breaking Changes:**
103
- - ✗ `legacy_field` removed - clients using this will break
104
- - ✓ `new_field` required - endpoint will reject requests without it
105
- - ✓ `status` values changed - parsing logic needs update
106
-
107
- ---
108
-
109
- ### [3] DEPRECATED ENDPOINT
110
-
111
- ```
112
- Method: DELETE
113
- Path: /api/v1/resource/{id}
114
- Status: DEPRECATED
115
- Removal Date: 2026-09-30
116
- Replacement: DELETE /api/v2/resource/{id}
117
- ```
118
-
119
- **Deprecation Notice:**
120
- ```
121
- ⚠️ This endpoint will be removed on 2026-09-30
122
- 📌 Use DELETE /api/v2/resource/{id} instead
123
- 📚 Migration guide: see MIGRATION_GUIDE.md
124
- ```
125
-
126
- ---
127
-
128
- ## Breaking Changes Summary
129
-
130
- | Change | Impact | Migration | Deadline |
131
- |--------|--------|-----------|----------|
132
- | `legacy_field` removed | High | Remove from request | 2026-07-15 |
133
- | `status` values changed | Medium | Update enum parsing | 2026-08-15 |
134
- | v1 endpoints deprecated | High | Switch to v2 | 2026-09-30 |
135
-
136
- ---
137
-
138
- ## Test Contract Updates
139
-
140
- ### New Tests Required
141
-
142
- ```javascript
143
- describe('New Endpoints', () => {
144
- it('GET /api/v1/resource with pagination', () => {
145
- // Test new endpoint
146
- })
147
- })
148
-
149
- describe('Modified Endpoints', () => {
150
- it('POST /api/v1/resource with new_field', () => {
151
- // Test modified endpoint with new field
152
- })
153
-
154
- it('POST /api/v1/resource rejects requests without new_field', () => {
155
- // Test validation
156
- })
157
- })
158
-
159
- describe('Deprecated Endpoints', () => {
160
- it('DELETE /api/v1/resource/{id} shows deprecation warning', () => {
161
- // Test deprecation notice in response headers
162
- })
163
- })
164
- ```
165
-
166
- ### Tests to Remove/Update
167
-
168
- - [ ] Remove tests for `legacy_field`
169
- - [ ] Update status enum tests
170
- - [ ] Mark v1 deletion tests as deprecated
171
-
172
- ---
173
-
174
- ## Documentation Updates
175
-
176
- - [ ] README.md - API section updated
177
- - [ ] API_CONTRACTS.md - all endpoints documented
178
- - [ ] MIGRATION_GUIDE.md - created (if breaking changes)
179
- - [ ] CHANGELOG.md - entry added
180
- - [ ] Examples - all code samples updated
181
-
182
- ---
183
-
184
- ## Migration Guide (if applicable)
185
-
186
- ### For Clients Using Removed Fields
187
-
188
- **OLD CODE:**
189
- ```javascript
190
- const result = await api.post('/api/v1/resource', {
191
- name: 'Test',
192
- legacy_field: 'value'
193
- })
194
- ```
195
-
196
- **NEW CODE:**
197
- ```javascript
198
- const result = await api.post('/api/v1/resource', {
199
- name: 'Test',
200
- new_field: 'value' // Required
201
- // legacy_field: removed
202
- })
203
- ```
204
-
205
- ### Backward Compatibility (v1 to v2)
206
-
207
- **Timeline:**
208
- - 2026-06-01: v2 available, v1 still active
209
- - 2026-07-15: All clients should migrate
210
- - 2026-08-15: v1 marked for deletion
211
- - 2026-09-30: v1 endpoints removed
212
-
213
- **Check:**
214
- ```bash
215
- # See which endpoints are in use
216
- curl -H "Authorization: Bearer TOKEN" \
217
- https://api.example.com/admin/usage/v1-endpoints
218
- ```
219
-
220
- ---
221
-
222
- ## Acceptance Checklist
223
-
224
- ### Code Changes
225
- - [ ] Implementation matches contract
226
- - [ ] Request validation matches schema
227
- - [ ] Response format matches schema
228
- - [ ] All error codes returned
229
- - [ ] Auth checks implemented
230
-
231
- ### Testing
232
- - [ ] New endpoint tests pass
233
- - [ ] Modified endpoint tests pass
234
- - [ ] Deprecated endpoint tests pass
235
- - [ ] Error handling tests pass
236
- - [ ] Integration tests pass
237
- - [ ] Coverage ≥ 80%
238
-
239
- ### Documentation
240
- - [ ] API_CONTRACTS.md updated
241
- - [ ] Examples match new contract
242
- - [ ] Migration guide created
243
- - [ ] CHANGELOG entry added
244
- - [ ] Deprecation notices added
245
-
246
- ### Deployment
247
- - [ ] Code review approved
248
- - [ ] All tests passing
249
- - [ ] Documentation verified
250
- - [ ] Ready for release
251
-
252
- ---
253
-
254
- **Status**: ☐ Complete / ☐ In Progress / ☐ Blocked
255
- **Blocker**: _if applicable_
256
- **Owner**: _Name_
257
- **Reviewed By**: _Name_
1
+ # API Sync Template
2
+
3
+ ## Endpoint Change Report
4
+
5
+ ### Metadata
6
+
7
+ - **Feature/Change**: _[Name]_
8
+ - **Date**: _YYYY-MM-DD_
9
+ - **Author**: _Name_
10
+ - **Breaking Changes**: ☐ Yes / ☐ No
11
+ - **Version Impact**: ☐ Patch / ☐ Minor / ☐ Major
12
+
13
+ ---
14
+
15
+ ## Changed Endpoints
16
+
17
+ ### [1] NEW ENDPOINT
18
+
19
+ ```
20
+ Method: GET
21
+ Path: /api/v1/resource
22
+ Status: NEW in v1.0
23
+ ```
24
+
25
+ **Request:**
26
+ ```json
27
+ {
28
+ "query": {
29
+ "page": "number (optional, default: 1)",
30
+ "limit": "number (optional, default: 20)"
31
+ }
32
+ }
33
+ ```
34
+
35
+ **Response 200:**
36
+ ```json
37
+ {
38
+ "data": [
39
+ {
40
+ "id": "string",
41
+ "name": "string",
42
+ "created_at": "ISO-8601 timestamp"
43
+ }
44
+ ],
45
+ "pagination": {
46
+ "page": "number",
47
+ "limit": "number",
48
+ "total": "number"
49
+ }
50
+ }
51
+ ```
52
+
53
+ **Error Responses:**
54
+ - `400 Bad Request`: Invalid query parameters
55
+ - `401 Unauthorized`: Missing authentication
56
+ - `500 Server Error`: Internal server error
57
+
58
+ **Auth Required:** Yes - Bearer token in `Authorization` header
59
+
60
+ **Rate Limit:** 100 requests/hour per API key
61
+
62
+ ---
63
+
64
+ ### [2] MODIFIED ENDPOINT
65
+
66
+ ```
67
+ Method: POST
68
+ Path: /api/v1/resource
69
+ Status: MODIFIED in v1.2
70
+ Previous Version: v1.1
71
+ ```
72
+
73
+ **Changes:**
74
+ ```diff
75
+ - Removed field: `legacy_field`
76
+ + Added field: `new_field` (required)
77
+ - Changed: `status` enum values
78
+ ```
79
+
80
+ **Request (v1.2):**
81
+ ```json
82
+ {
83
+ "name": "string (required)",
84
+ "email": "string (required, email format)",
85
+ "new_field": "string (required)",
86
+ "optional_data": "object (optional)"
87
+ }
88
+ ```
89
+
90
+ **Response 201:**
91
+ ```json
92
+ {
93
+ "id": "string",
94
+ "name": "string",
95
+ "email": "string",
96
+ "new_field": "string",
97
+ "created_at": "ISO-8601 timestamp",
98
+ "status": "active | inactive | pending"
99
+ }
100
+ ```
101
+
102
+ **Breaking Changes:**
103
+ - ✗ `legacy_field` removed - clients using this will break
104
+ - ✓ `new_field` required - endpoint will reject requests without it
105
+ - ✓ `status` values changed - parsing logic needs update
106
+
107
+ ---
108
+
109
+ ### [3] DEPRECATED ENDPOINT
110
+
111
+ ```
112
+ Method: DELETE
113
+ Path: /api/v1/resource/{id}
114
+ Status: DEPRECATED
115
+ Removal Date: 2026-09-30
116
+ Replacement: DELETE /api/v2/resource/{id}
117
+ ```
118
+
119
+ **Deprecation Notice:**
120
+ ```
121
+ ⚠️ This endpoint will be removed on 2026-09-30
122
+ 📌 Use DELETE /api/v2/resource/{id} instead
123
+ 📚 Migration guide: see MIGRATION_GUIDE.md
124
+ ```
125
+
126
+ ---
127
+
128
+ ## Breaking Changes Summary
129
+
130
+ | Change | Impact | Migration | Deadline |
131
+ |--------|--------|-----------|----------|
132
+ | `legacy_field` removed | High | Remove from request | 2026-07-15 |
133
+ | `status` values changed | Medium | Update enum parsing | 2026-08-15 |
134
+ | v1 endpoints deprecated | High | Switch to v2 | 2026-09-30 |
135
+
136
+ ---
137
+
138
+ ## Test Contract Updates
139
+
140
+ ### New Tests Required
141
+
142
+ ```javascript
143
+ describe('New Endpoints', () => {
144
+ it('GET /api/v1/resource with pagination', () => {
145
+ // Test new endpoint
146
+ })
147
+ })
148
+
149
+ describe('Modified Endpoints', () => {
150
+ it('POST /api/v1/resource with new_field', () => {
151
+ // Test modified endpoint with new field
152
+ })
153
+
154
+ it('POST /api/v1/resource rejects requests without new_field', () => {
155
+ // Test validation
156
+ })
157
+ })
158
+
159
+ describe('Deprecated Endpoints', () => {
160
+ it('DELETE /api/v1/resource/{id} shows deprecation warning', () => {
161
+ // Test deprecation notice in response headers
162
+ })
163
+ })
164
+ ```
165
+
166
+ ### Tests to Remove/Update
167
+
168
+ - [ ] Remove tests for `legacy_field`
169
+ - [ ] Update status enum tests
170
+ - [ ] Mark v1 deletion tests as deprecated
171
+
172
+ ---
173
+
174
+ ## Documentation Updates
175
+
176
+ - [ ] README.md - API section updated
177
+ - [ ] API_CONTRACTS.md - all endpoints documented
178
+ - [ ] MIGRATION_GUIDE.md - created (if breaking changes)
179
+ - [ ] CHANGELOG.md - entry added
180
+ - [ ] Examples - all code samples updated
181
+
182
+ ---
183
+
184
+ ## Migration Guide (if applicable)
185
+
186
+ ### For Clients Using Removed Fields
187
+
188
+ **OLD CODE:**
189
+ ```javascript
190
+ const result = await api.post('/api/v1/resource', {
191
+ name: 'Test',
192
+ legacy_field: 'value'
193
+ })
194
+ ```
195
+
196
+ **NEW CODE:**
197
+ ```javascript
198
+ const result = await api.post('/api/v1/resource', {
199
+ name: 'Test',
200
+ new_field: 'value' // Required
201
+ // legacy_field: removed
202
+ })
203
+ ```
204
+
205
+ ### Backward Compatibility (v1 to v2)
206
+
207
+ **Timeline:**
208
+ - 2026-06-01: v2 available, v1 still active
209
+ - 2026-07-15: All clients should migrate
210
+ - 2026-08-15: v1 marked for deletion
211
+ - 2026-09-30: v1 endpoints removed
212
+
213
+ **Check:**
214
+ ```bash
215
+ # See which endpoints are in use
216
+ curl -H "Authorization: Bearer TOKEN" \
217
+ https://api.example.com/admin/usage/v1-endpoints
218
+ ```
219
+
220
+ ---
221
+
222
+ ## Acceptance Checklist
223
+
224
+ ### Code Changes
225
+ - [ ] Implementation matches contract
226
+ - [ ] Request validation matches schema
227
+ - [ ] Response format matches schema
228
+ - [ ] All error codes returned
229
+ - [ ] Auth checks implemented
230
+
231
+ ### Testing
232
+ - [ ] New endpoint tests pass
233
+ - [ ] Modified endpoint tests pass
234
+ - [ ] Deprecated endpoint tests pass
235
+ - [ ] Error handling tests pass
236
+ - [ ] Integration tests pass
237
+ - [ ] Coverage ≥ 80%
238
+
239
+ ### Documentation
240
+ - [ ] API_CONTRACTS.md updated
241
+ - [ ] Examples match new contract
242
+ - [ ] Migration guide created
243
+ - [ ] CHANGELOG entry added
244
+ - [ ] Deprecation notices added
245
+
246
+ ### Deployment
247
+ - [ ] Code review approved
248
+ - [ ] All tests passing
249
+ - [ ] Documentation verified
250
+ - [ ] Ready for release
251
+
252
+ ---
253
+
254
+ **Status**: ☐ Complete / ☐ In Progress / ☐ Blocked
255
+ **Blocker**: _if applicable_
256
+ **Owner**: _Name_
257
+ **Reviewed By**: _Name_