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.
- package/.codebase/ARCHITECTURE_REVIEW_COMPLETE.md +216 -0
- package/.codebase/CURRENT_STATE.md +2 -0
- package/.codebase/DOMAIN_MODELS.md +5 -3
- package/.codebase/FILE_NAMING_CLARIFICATION.md +161 -0
- package/.codebase/HARNESS_COMPLETENESS_AUDIT.md +613 -0
- package/.codebase/IMPLEMENTATION_COMPLETE.md +429 -0
- package/.codebase/IMPLEMENTATION_HANDOFF.md +351 -0
- package/.codebase/IMPROVEMENTS_SUMMARY.md +419 -0
- package/.codebase/PHASE3_SKILLS_NAMING_COMPLETE.md +292 -0
- package/.codebase/PHASE_DEPENDENCY_MAP.md +486 -0
- package/.codebase/QUICK_START_SPEC_IMPACT.md +456 -0
- package/.codebase/README.md +139 -0
- package/.codebase/RECOVERY_POINTS.md +438 -0
- package/.codex/skills/genesis-api-sync/SKILL.md +354 -0
- package/.codex/skills/genesis-api-sync/agents/openai.yaml +7 -0
- package/.codex/skills/genesis-api-sync/checklists/api-sync-checklist.md +101 -0
- package/.codex/skills/genesis-api-sync/examples/example.md +68 -0
- package/.codex/skills/genesis-api-sync/templates/api-change-template.md +257 -0
- package/.codex/skills/genesis-debug-guide/SKILL.md +479 -0
- package/.codex/skills/genesis-debug-guide/agents/openai.yaml +7 -0
- package/.codex/skills/genesis-debug-guide/checklists/flaky-test-investigation.md +339 -0
- package/.codex/skills/genesis-debug-guide/checklists/production-bug-debug.md +210 -0
- package/.codex/skills/genesis-debug-guide/checklists/test-failure-debug.md +158 -0
- package/.codex/skills/genesis-debug-guide/examples/example.md +48 -0
- package/.codex/skills/genesis-debug-guide/observability/debug-commands.md +365 -0
- package/.codex/skills/genesis-debug-guide/playbooks/unit-test-failures.md +289 -0
- package/.codex/skills/genesis-debug-guide/templates/debug-investigation-log.md +288 -0
- package/.codex/skills/genesis-docs-automation/SKILL.md +1003 -0
- package/.codex/skills/genesis-docs-automation/agents/openai.yaml +7 -0
- package/.codex/skills/genesis-docs-automation/checklists/docs-validation.md +359 -0
- package/.codex/skills/genesis-docs-automation/checklists/spec-alignment.md +312 -0
- package/.codex/skills/genesis-docs-automation/examples/example.md +59 -0
- package/.codex/skills/genesis-docs-automation/observability/docs-tracking.md +382 -0
- package/.codex/skills/genesis-docs-automation/playbooks/auto-update-flow.md +851 -0
- package/.codex/skills/genesis-docs-automation/playbooks/changelog-generation.md +491 -0
- package/.codex/skills/genesis-docs-automation/templates/changelog-entry-template.md +187 -0
- package/.codex/skills/genesis-docs-automation/templates/handoff-template.md +297 -0
- package/.codex/skills/genesis-harness/SKILL.md +734 -82
- package/.codex/skills/genesis-harness/checklists/bug-fix-qa.md +169 -0
- package/.codex/skills/genesis-harness/checklists/new-feature-qa.md +157 -0
- package/.codex/skills/genesis-harness/checklists/refactor-qa.md +216 -0
- package/.codex/skills/genesis-harness/checklists/requirements-validation.md +211 -0
- package/.codex/skills/genesis-harness/resources/change-impact-matrix-template.md +204 -0
- package/.codex/skills/genesis-harness/resources/foundation-phase-template.md +131 -0
- package/.codex/skills/genesis-harness/resources/phase-00-foundation-template.md +76 -0
- package/.codex/skills/genesis-harness/resources/post-implementation-guide.md +347 -0
- package/.codex/skills/genesis-harness/scripts/check-architecture-boundaries.sh +23 -23
- package/.codex/skills/genesis-harness/scripts/check-docs-sync.sh +24 -24
- package/.codex/skills/genesis-harness/scripts/check-no-debug-logs.sh +21 -21
- package/.codex/skills/genesis-harness/scripts/check-required-planning-files.sh +46 -46
- package/.codex/skills/genesis-harness/scripts/check-spec-changelog.sh +24 -24
- package/.codex/skills/genesis-harness/scripts/check-task-tracking.sh +25 -25
- package/.codex/skills/genesis-harness/scripts/compact-context.sh +54 -0
- package/.codex/skills/genesis-harness/scripts/create-adr.sh +74 -74
- package/.codex/skills/genesis-harness/scripts/create-bug.sh +160 -160
- package/.codex/skills/genesis-harness/scripts/create-feature.sh +217 -217
- package/.codex/skills/genesis-harness/scripts/detect-stack.sh +26 -26
- package/.codex/skills/genesis-harness/scripts/init-planning.sh +750 -719
- package/.codex/skills/genesis-harness/scripts/list-changed-files.sh +12 -12
- package/.codex/skills/genesis-harness/scripts/offload-log.sh +72 -0
- package/.codex/skills/genesis-harness/scripts/run-verification.sh +47 -47
- package/.codex/skills/genesis-harness/scripts/run-verify-loop.sh +75 -0
- package/.codex/skills/genesis-harness/scripts/update-state.sh +33 -33
- package/.codex/skills/genesis-harness-engineering/SKILL.md +159 -0
- package/.codex/skills/genesis-harness-engineering/checklists/checklist.md +48 -0
- package/.codex/skills/genesis-harness-engineering/examples/example.md +57 -0
- package/.codex/skills/genesis-harness-engineering/playbooks/harness-evolution.md +99 -0
- package/.codex/skills/genesis-harness-engineering/templates/harness-change-template.md +37 -0
- package/.codex/skills/genesis-observability-automation/SKILL.md +382 -0
- package/.codex/skills/genesis-observability-automation/agents/openai.yaml +7 -0
- package/.codex/skills/genesis-observability-automation/examples/example.md +86 -0
- package/.codex/skills/genesis-performance-profiling/SKILL.md +510 -0
- package/.codex/skills/genesis-performance-profiling/agents/openai.yaml +6 -0
- package/.codex/skills/genesis-performance-profiling/checklists/optimization-verification.md +199 -0
- package/.codex/skills/genesis-performance-profiling/checklists/performance-baseline.md +183 -0
- package/.codex/skills/genesis-performance-profiling/examples/example.md +234 -0
- package/.codex/skills/genesis-performance-profiling/observability/performance-tracking.md +202 -0
- package/.codex/skills/genesis-performance-profiling/playbooks/load-testing-orchestration.md +593 -0
- package/.codex/skills/genesis-performance-profiling/playbooks/profiling-playbook.md +601 -0
- package/.codex/skills/genesis-performance-profiling/templates/load-test-config-template.md +428 -0
- package/.codex/skills/genesis-performance-profiling/templates/performance-report-template.md +238 -0
- package/.codex/skills/genesis-release-orchestration/SKILL.md +653 -0
- package/.codex/skills/genesis-release-orchestration/agents/openai.yaml +7 -0
- package/.codex/skills/genesis-release-orchestration/checklists/post-deployment-verification.md +274 -0
- package/.codex/skills/genesis-release-orchestration/checklists/pre-release-validation.md +220 -0
- package/.codex/skills/genesis-release-orchestration/examples/example.md +78 -0
- package/.codex/skills/genesis-release-orchestration/observability/release-tracking.md +253 -0
- package/.codex/skills/genesis-release-orchestration/playbooks/canary-deployment-orchestration.md +472 -0
- package/.codex/skills/genesis-release-orchestration/playbooks/semantic-versioning-automation.md +494 -0
- package/.codex/skills/genesis-release-orchestration/templates/deployment-strategy-template.md +303 -0
- package/.codex/skills/genesis-release-orchestration/templates/release-runbook-template.md +420 -0
- package/.codex/skills/genesis-research-first/SKILL.md +237 -0
- package/.codex/skills/genesis-research-first/agents/openai.yaml +7 -0
- package/.codex/skills/genesis-research-first/examples/example.md +85 -0
- package/.codex/skills/genesis-spec-propagation/SKILL.md +534 -0
- package/.codex/skills/genesis-spec-propagation/agents/openai.yaml +7 -0
- package/.codex/skills/genesis-spec-propagation/checklists/phase-update-verification.md +384 -0
- package/.codex/skills/genesis-spec-propagation/checklists/spec-change-detection.md +257 -0
- package/.codex/skills/genesis-spec-propagation/examples/example.md +63 -0
- package/.codex/skills/genesis-spec-propagation/observability/propagation-tracking.md +373 -0
- package/.codex/skills/genesis-spec-propagation/playbooks/breaking-change-propagation.md +692 -0
- package/.codex/skills/genesis-spec-propagation/playbooks/feature-change-propagation.md +434 -0
- package/.codex/skills/genesis-spec-propagation/templates/migration-guide-template.md +407 -0
- package/.codex/skills/spec-impact-engine/SKILL.md +504 -0
- package/.codex/skills/spec-impact-engine/agents/openai.yaml +7 -0
- package/.codex/skills/spec-impact-engine/detect-spec-changes.sh +262 -0
- package/.codex/skills/spec-impact-engine/examples/example.md +98 -0
- package/.codex/skills/spec-impact-engine/templates/impact-report.md +248 -0
- package/.codex/skills/spec-impact-engine/templates/migration-guide.md +223 -0
- package/.codex-plugin/plugin.json +1 -1
- package/README.EN.md +719 -0
- package/README.VI.md +712 -0
- package/README.md +261 -107
- package/VERSION +1 -1
- package/bin/genesis-harness.js +20 -11
- package/package.json +1 -1
- package/scripts/README.md +342 -0
- package/scripts/compact-context.sh +54 -0
- package/scripts/detect-changes.sh +152 -0
- package/scripts/install.sh +50 -41
- package/scripts/offload-log.sh +72 -0
- package/scripts/run-evals.sh +70 -43
- package/scripts/run-verify-loop.sh +75 -0
- package/scripts/uninstall.sh +52 -43
- package/scripts/verify.sh +165 -73
- package/.codex/skills/harness-engineering-skill/SKILL.md +0 -45
- package/.codex/skills/harness-engineering-skill/checklists/checklist.md +0 -8
- package/.codex/skills/harness-engineering-skill/examples/example.md +0 -4
- package/.codex/skills/harness-engineering-skill/templates/harness-change-template.md +0 -8
- /package/.codex/skills/{ai-provider-skill → genesis-ai-provider}/SKILL.md +0 -0
- /package/.codex/skills/{ai-provider-skill → genesis-ai-provider}/agents/openai.yaml +0 -0
- /package/.codex/skills/{ai-provider-skill → genesis-ai-provider}/checklists/checklist.md +0 -0
- /package/.codex/skills/{ai-provider-skill → genesis-ai-provider}/examples/example.md +0 -0
- /package/.codex/skills/{ai-provider-skill → genesis-ai-provider}/templates/provider-contract-template.md +0 -0
- /package/.codex/skills/{api-contract-skill → genesis-api-contract}/SKILL.md +0 -0
- /package/.codex/skills/{api-contract-skill → genesis-api-contract}/agents/openai.yaml +0 -0
- /package/.codex/skills/{api-contract-skill → genesis-api-contract}/checklists/checklist.md +0 -0
- /package/.codex/skills/{api-contract-skill → genesis-api-contract}/examples/example.md +0 -0
- /package/.codex/skills/{api-contract-skill → genesis-api-contract}/templates/api-contract-template.md +0 -0
- /package/.codex/skills/{architecture-skill → genesis-architecture}/SKILL.md +0 -0
- /package/.codex/skills/{architecture-skill → genesis-architecture}/agents/openai.yaml +0 -0
- /package/.codex/skills/{architecture-skill → genesis-architecture}/checklists/checklist.md +0 -0
- /package/.codex/skills/{architecture-skill → genesis-architecture}/examples/example.md +0 -0
- /package/.codex/skills/{architecture-skill → genesis-architecture}/templates/architecture-decision-template.md +0 -0
- /package/.codex/skills/{codebase-map-skill → genesis-codebase-map}/SKILL.md +0 -0
- /package/.codex/skills/{codebase-map-skill → genesis-codebase-map}/agents/openai.yaml +0 -0
- /package/.codex/skills/{codebase-map-skill → genesis-codebase-map}/checklists/checklist.md +0 -0
- /package/.codex/skills/{codebase-map-skill → genesis-codebase-map}/examples/example.md +0 -0
- /package/.codex/skills/{codebase-map-skill → genesis-codebase-map}/templates/map-update-template.md +0 -0
- /package/.codex/skills/{design-spec-skill → genesis-design-spec}/SKILL.md +0 -0
- /package/.codex/skills/{design-spec-skill → genesis-design-spec}/agents/openai.yaml +0 -0
- /package/.codex/skills/{design-spec-skill → genesis-design-spec}/checklists/checklist.md +0 -0
- /package/.codex/skills/{design-spec-skill → genesis-design-spec}/examples/example.md +0 -0
- /package/.codex/skills/{design-spec-skill → genesis-design-spec}/templates/design-spec-template.md +0 -0
- /package/.codex/skills/{docs-skill → genesis-docs}/SKILL.md +0 -0
- /package/.codex/skills/{docs-skill → genesis-docs}/agents/openai.yaml +0 -0
- /package/.codex/skills/{docs-skill → genesis-docs}/checklists/checklist.md +0 -0
- /package/.codex/skills/{docs-skill → genesis-docs}/examples/example.md +0 -0
- /package/.codex/skills/{docs-skill → genesis-docs}/templates/docs-update-template.md +0 -0
- /package/.codex/skills/{harness-engineering-skill → genesis-harness-engineering}/agents/openai.yaml +0 -0
- /package/.codex/skills/{pipeline-orchestration-skill → genesis-pipeline-orchestration}/SKILL.md +0 -0
- /package/.codex/skills/{pipeline-orchestration-skill → genesis-pipeline-orchestration}/agents/openai.yaml +0 -0
- /package/.codex/skills/{pipeline-orchestration-skill → genesis-pipeline-orchestration}/checklists/checklist.md +0 -0
- /package/.codex/skills/{pipeline-orchestration-skill → genesis-pipeline-orchestration}/examples/example.md +0 -0
- /package/.codex/skills/{pipeline-orchestration-skill → genesis-pipeline-orchestration}/templates/orchestration-template.md +0 -0
- /package/.codex/skills/{planning-skill → genesis-planning}/SKILL.md +0 -0
- /package/.codex/skills/{planning-skill → genesis-planning}/agents/openai.yaml +0 -0
- /package/.codex/skills/{planning-skill → genesis-planning}/checklists/checklist.md +0 -0
- /package/.codex/skills/{planning-skill → genesis-planning}/examples/example.md +0 -0
- /package/.codex/skills/{planning-skill → genesis-planning}/templates/plan-template.md +0 -0
- /package/.codex/skills/{release-skill → genesis-release}/SKILL.md +0 -0
- /package/.codex/skills/{release-skill → genesis-release}/agents/openai.yaml +0 -0
- /package/.codex/skills/{release-skill → genesis-release}/checklists/checklist.md +0 -0
- /package/.codex/skills/{release-skill → genesis-release}/examples/example.md +0 -0
- /package/.codex/skills/{release-skill → genesis-release}/templates/release-checklist-template.md +0 -0
- /package/.codex/skills/{research-skill → genesis-research}/SKILL.md +0 -0
- /package/.codex/skills/{research-skill → genesis-research}/agents/openai.yaml +0 -0
- /package/.codex/skills/{research-skill → genesis-research}/checklists/checklist.md +0 -0
- /package/.codex/skills/{research-skill → genesis-research}/examples/example.md +0 -0
- /package/.codex/skills/{research-skill → genesis-research}/templates/research-note-template.md +0 -0
|
@@ -0,0 +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_
|