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
package/.codex/skills/genesis-release-orchestration/checklists/post-deployment-verification.md
ADDED
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
# Post-Deployment Verification Checklist
|
|
2
|
+
|
|
3
|
+
**Purpose**: Verify deployment success and stability post-deployment
|
|
4
|
+
**Duration**: 10-15 minutes per stage
|
|
5
|
+
**Risk**: Critical - must verify before next canary stage or production acceptance
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Section 1: Deployment Completion Verification (5 min)
|
|
10
|
+
|
|
11
|
+
- [ ] **Deployment completed successfully**
|
|
12
|
+
- All pods/containers running: `kubectl get pods` shows all Ready
|
|
13
|
+
- New version deployed: Verify version in logs/status endpoint
|
|
14
|
+
- Previous version stopped: Old containers terminated
|
|
15
|
+
- Deployment time recorded: Under <30 min target
|
|
16
|
+
- No deployment errors: Check CI/CD logs for failures
|
|
17
|
+
|
|
18
|
+
- [ ] **Database state consistent**
|
|
19
|
+
- Migrations completed: No pending migrations
|
|
20
|
+
- Data integrity: Sample data queries return expected values
|
|
21
|
+
- Rollback point saved: Previous database state available if needed
|
|
22
|
+
- No connection errors: Application connects to database successfully
|
|
23
|
+
|
|
24
|
+
- [ ] **Configuration deployed correctly**
|
|
25
|
+
- Environment-specific config loaded: Correct database, API keys
|
|
26
|
+
- Feature flags set correctly: New features enabled/disabled as intended
|
|
27
|
+
- Secrets loaded: No "secret not found" errors in logs
|
|
28
|
+
- Logging configured: Logs at appropriate level (not DEBUG in prod)
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Section 2: Health Check Validation (5 min)
|
|
33
|
+
|
|
34
|
+
- [ ] **Liveness checks passing**
|
|
35
|
+
- Endpoint: GET /health returns 200 OK
|
|
36
|
+
- Response time: <500ms
|
|
37
|
+
- Response body includes version: Confirm v2.5.0 deployed
|
|
38
|
+
- Check frequency: Every 10 seconds (configurable)
|
|
39
|
+
|
|
40
|
+
- [ ] **Readiness checks passing**
|
|
41
|
+
- Endpoint: GET /ready returns 200 OK
|
|
42
|
+
- Database connection: Verified in response
|
|
43
|
+
- Cache connection: Verified (if used)
|
|
44
|
+
- External service connectivity: Verified
|
|
45
|
+
- All dependencies healthy
|
|
46
|
+
|
|
47
|
+
- [ ] **Service discovery updated**
|
|
48
|
+
- Load balancer sees new instances: In rotation
|
|
49
|
+
- DNS resolves to new IPs: No stale DNS
|
|
50
|
+
- Service mesh updated: Istio/Envoy routes to new version
|
|
51
|
+
- No connection refused errors: Services can reach each other
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Section 3: Smoke Tests & Critical Workflows (10 min)
|
|
56
|
+
|
|
57
|
+
- [ ] **Critical workflow #1: User authentication**
|
|
58
|
+
- Login successful: User can authenticate
|
|
59
|
+
- Session created: Token generated and valid
|
|
60
|
+
- Session persists: Token valid across requests
|
|
61
|
+
- Logout works: Session properly cleared
|
|
62
|
+
|
|
63
|
+
- [ ] **Critical workflow #2: API response format** (if breaking changes)
|
|
64
|
+
- Response structure matches new format: { data: {...} } not { user: {...} }
|
|
65
|
+
- Required fields present: All documented fields in response
|
|
66
|
+
- Optional fields handled: Backward compatibility (if version allows)
|
|
67
|
+
- Error responses use new format: Consistent across all endpoints
|
|
68
|
+
|
|
69
|
+
- [ ] **Critical workflow #3: Database writes & reads**
|
|
70
|
+
- Create operation works: New data persisted
|
|
71
|
+
- Read operation works: Can retrieve created data
|
|
72
|
+
- Update operation works: Data can be modified
|
|
73
|
+
- Delete operation works: Data removal works
|
|
74
|
+
- No data corruption: Integrity constraints honored
|
|
75
|
+
|
|
76
|
+
- [ ] **Critical workflow #4: Third-party integrations**
|
|
77
|
+
- External API calls succeed: Payment processor, email service, etc.
|
|
78
|
+
- Webhooks received: Third parties can call back into service
|
|
79
|
+
- Error handling: Graceful failure if third party unavailable
|
|
80
|
+
- Retry logic: Automatic retries working for transient failures
|
|
81
|
+
|
|
82
|
+
- [ ] **Critical workflow #5: Backward compatibility** (for minor versions)
|
|
83
|
+
- Old API endpoints still work: If not broken
|
|
84
|
+
- Old response format accepted: Where supported
|
|
85
|
+
- Deprecated endpoints return warning: Clear guidance to migrate
|
|
86
|
+
- Migration timeline respected: Old version still functional
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Section 4: Performance & Baseline Metrics (5 min)
|
|
91
|
+
|
|
92
|
+
- [ ] **Response time metrics**
|
|
93
|
+
- P50 latency: Baseline ± 10% (healthy)
|
|
94
|
+
- P95 latency: Baseline ± 10% (acceptable)
|
|
95
|
+
- P99 latency: Baseline ± 20% (watch but acceptable)
|
|
96
|
+
- Median within SLA: <200ms for UI endpoints
|
|
97
|
+
|
|
98
|
+
- [ ] **Error rate metrics**
|
|
99
|
+
- 5xx errors: <0.1% (critical threshold 1%)
|
|
100
|
+
- 4xx errors: Normal range (expected user errors)
|
|
101
|
+
- Timeout errors: <0.01%
|
|
102
|
+
- No error spike: Consistent with pre-deployment baseline
|
|
103
|
+
|
|
104
|
+
- [ ] **Resource usage metrics**
|
|
105
|
+
- CPU usage: <70% (healthy, room for spike)
|
|
106
|
+
- Memory usage: <80% (healthy, no memory leaks)
|
|
107
|
+
- Disk usage: <80% (logs not filling disk)
|
|
108
|
+
- Network saturation: <60% (room for growth)
|
|
109
|
+
|
|
110
|
+
- [ ] **Throughput metrics**
|
|
111
|
+
- Requests per second: Matching pre-deployment baseline
|
|
112
|
+
- No request queue buildup: Processing without delays
|
|
113
|
+
- Connections active: Stable count (not growing indefinitely)
|
|
114
|
+
- Cache hit rate: Expected % (if applicable)
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## Section 5: Error Log Analysis (5 min)
|
|
119
|
+
|
|
120
|
+
- [ ] **No critical errors**
|
|
121
|
+
- Exception rate: 0 or expected baseline
|
|
122
|
+
- Stack traces: Review any new errors (expected after deployment)
|
|
123
|
+
- Database errors: No connection failures or constraint violations
|
|
124
|
+
- Timeout errors: <0.01%
|
|
125
|
+
|
|
126
|
+
- [ ] **No security alerts**
|
|
127
|
+
- Authentication failures: Normal rate (not spike)
|
|
128
|
+
- Authorization failures: Expected for denied access
|
|
129
|
+
- Suspicious patterns: No signs of attack or abuse
|
|
130
|
+
- Invalid requests: Normal rate (not DDoS)
|
|
131
|
+
|
|
132
|
+
- [ ] **Error messages understandable**
|
|
133
|
+
- Error descriptions: Clear and actionable
|
|
134
|
+
- Error codes: Match documentation (if breaking changes)
|
|
135
|
+
- Stack traces: Available for engineering review
|
|
136
|
+
- Correlation IDs: Present for request tracing
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Section 6: Consumer Compatibility Check (5 min)
|
|
141
|
+
|
|
142
|
+
- [ ] **Consumer health verified** (if breaking changes)
|
|
143
|
+
- Known clients connected: Monitoring shows active sessions
|
|
144
|
+
- No authentication errors: Clients authenticated successfully
|
|
145
|
+
- API response handling: Clients processing new format correctly
|
|
146
|
+
- Migration status: Clients on supported versions
|
|
147
|
+
|
|
148
|
+
- [ ] **No consumer errors**
|
|
149
|
+
- Consumer-specific endpoints: Working (if any)
|
|
150
|
+
- Third-party clients: No connection refused
|
|
151
|
+
- Mobile apps: No crashes reported
|
|
152
|
+
- Web clients: Working across browsers
|
|
153
|
+
|
|
154
|
+
- [ ] **Feedback mechanisms working**
|
|
155
|
+
- Error reporting: Clients can report issues
|
|
156
|
+
- Support channels: Accessible (email, Slack, support portal)
|
|
157
|
+
- Status page: Updated and accessible
|
|
158
|
+
- Incident escalation: Path clear if issues arise
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## Section 7: Deployment Strategy Progression (5 min)
|
|
163
|
+
|
|
164
|
+
**If Canary Deployment**:
|
|
165
|
+
|
|
166
|
+
- [ ] **Stage decision made** (if canary, proceed to next stage?)
|
|
167
|
+
- Errors acceptable: <1% error rate (go)
|
|
168
|
+
- Performance stable: Within baseline (go)
|
|
169
|
+
- No critical issues: Team agrees safe to proceed (go)
|
|
170
|
+
- Consumer feedback positive: No complaints (go)
|
|
171
|
+
|
|
172
|
+
**Decision**:
|
|
173
|
+
- [ ] GO to next stage: 10% traffic
|
|
174
|
+
- [ ] PAUSE: Monitor additional 30 minutes
|
|
175
|
+
- [ ] ROLLBACK: Critical issue found, revert to previous version
|
|
176
|
+
|
|
177
|
+
**If Blue-Green Deployment**:
|
|
178
|
+
|
|
179
|
+
- [ ] **Switch decision made**
|
|
180
|
+
- All health checks passing on new (blue) environment
|
|
181
|
+
- Load balancer can switch: DNS/LB config tested
|
|
182
|
+
- Old (green) environment: Still running, ready for instant rollback
|
|
183
|
+
- Consumer requests: Ready to flow to new environment
|
|
184
|
+
|
|
185
|
+
**Decision**:
|
|
186
|
+
- [ ] SWITCH: Route traffic from green to blue
|
|
187
|
+
- [ ] PAUSE: Monitor additional 30 minutes
|
|
188
|
+
- [ ] ROLLBACK: Critical issue found, stay on green
|
|
189
|
+
|
|
190
|
+
**If Rolling Deployment**:
|
|
191
|
+
|
|
192
|
+
- [ ] **Next wave ready**
|
|
193
|
+
- Current wave: All healthy and verified
|
|
194
|
+
- Next wave: Ready for deployment
|
|
195
|
+
- Health checks: Configured and passing
|
|
196
|
+
- No errors in current wave: Safe to proceed
|
|
197
|
+
|
|
198
|
+
**Decision**:
|
|
199
|
+
- [ ] PROCEED: Deploy next wave
|
|
200
|
+
- [ ] PAUSE: Monitor additional 15 minutes
|
|
201
|
+
- [ ] ROLLBACK: Issue found, stop rolling deployment
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## Section 8: Incident & Rollback Preparation (5 min)
|
|
206
|
+
|
|
207
|
+
- [ ] **Rollback plan confirmed** (always keep ready)
|
|
208
|
+
- Previous version available: Docker image, config, DB snapshot
|
|
209
|
+
- Rollback steps documented: Clear procedure to revert
|
|
210
|
+
- Team trained: Everyone knows rollback procedure
|
|
211
|
+
- Estimated time: <5 minutes to rollback
|
|
212
|
+
|
|
213
|
+
- [ ] **Incident response ready**
|
|
214
|
+
- Escalation path: Clear who to notify if issues
|
|
215
|
+
- On-call team: Available for next 1-2 hours
|
|
216
|
+
- Communication channels: Slack, PagerDuty, etc.
|
|
217
|
+
- Status page: Updated if incident occurs
|
|
218
|
+
|
|
219
|
+
- [ ] **Monitoring alert thresholds**
|
|
220
|
+
- Error rate alert: >5% triggers page
|
|
221
|
+
- Latency alert: >2s P95 triggers page
|
|
222
|
+
- Resource alert: CPU >80% triggers warning
|
|
223
|
+
- Dependency alert: External service down triggers alert
|
|
224
|
+
|
|
225
|
+
---
|
|
226
|
+
|
|
227
|
+
## Red Flags - Consider Rollback
|
|
228
|
+
|
|
229
|
+
🚨 **WARNING - Evaluate rollback**:
|
|
230
|
+
|
|
231
|
+
- [ ] Error rate >1% (watch)
|
|
232
|
+
- [ ] Latency spike >50% above baseline (watch)
|
|
233
|
+
- [ ] Any 5xx errors in logs (investigate)
|
|
234
|
+
- [ ] Database connection failures (investigate)
|
|
235
|
+
- [ ] Consumer complaints (investigate)
|
|
236
|
+
|
|
237
|
+
❌ **MUST ROLLBACK - Immediate action**:
|
|
238
|
+
|
|
239
|
+
- [ ] Error rate >5% (ROLLBACK)
|
|
240
|
+
- [ ] Complete service unavailability (ROLLBACK)
|
|
241
|
+
- [ ] Data corruption detected (ROLLBACK)
|
|
242
|
+
- [ ] Security vulnerability discovered (ROLLBACK)
|
|
243
|
+
- [ ] Database rollback failed (CRITICAL - escalate)
|
|
244
|
+
|
|
245
|
+
**If ROLLBACK needed**:
|
|
246
|
+
1. Execute rollback procedure immediately
|
|
247
|
+
2. Notify stakeholders: Team, consumers, support
|
|
248
|
+
3. Investigate root cause
|
|
249
|
+
4. Fix issue
|
|
250
|
+
5. Re-test before attempting deployment again
|
|
251
|
+
|
|
252
|
+
---
|
|
253
|
+
|
|
254
|
+
## Sign-Off Template
|
|
255
|
+
|
|
256
|
+
```
|
|
257
|
+
DEPLOYMENT: v2.5.0 → Canary Stage 1 (1% traffic)
|
|
258
|
+
DATE: 2026-05-31 14:30 UTC
|
|
259
|
+
VERIFIED BY: [Name]
|
|
260
|
+
DURATION: 1 hour monitoring
|
|
261
|
+
|
|
262
|
+
Health checks: ✓ PASS
|
|
263
|
+
Error rate: ✓ PASS (0.08%)
|
|
264
|
+
Response time: ✓ PASS (baseline +5%)
|
|
265
|
+
Critical workflows: ✓ PASS
|
|
266
|
+
Consumers: ✓ PASS
|
|
267
|
+
|
|
268
|
+
Issues found: None critical
|
|
269
|
+
|
|
270
|
+
DECISION: ✅ PROCEED TO STAGE 2
|
|
271
|
+
Next: Deploy to 10% traffic
|
|
272
|
+
Monitor: 2 hours
|
|
273
|
+
Go/no-go decision: 16:30 UTC
|
|
274
|
+
```
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
# Pre-Release Validation Checklist
|
|
2
|
+
|
|
3
|
+
**Purpose**: Verify release readiness before deployment approval
|
|
4
|
+
**Duration**: 10-15 minutes
|
|
5
|
+
**Risk**: Critical - must pass all checks for approval
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Section 1: Version & Changelog Verification (5 min)
|
|
10
|
+
|
|
11
|
+
- [ ] **VERSION file updated correctly**
|
|
12
|
+
- Current version in `/VERSION` matches git tag format (v{MAJOR}.{MINOR}.{PATCH})
|
|
13
|
+
- Version bump follows semantic versioning (breaking→major, feature→minor, patch→patch)
|
|
14
|
+
- No pre-release suffixes without approval (v2.5.0-rc1, etc.)
|
|
15
|
+
|
|
16
|
+
- [ ] **Changelog entry exists**
|
|
17
|
+
- Entry in `SPEC_CHANGELOG.md` for this version
|
|
18
|
+
- Changelog includes: ✨Added, 🔄Changed, 🐛Fixed, ⚠️Deprecated, 🗑️Removed, 🔐Security
|
|
19
|
+
- All breaking changes prominently listed
|
|
20
|
+
- Migration guide links included for breaking changes
|
|
21
|
+
- Release date documented
|
|
22
|
+
|
|
23
|
+
- [ ] **Git tags match release version**
|
|
24
|
+
- Tag format: `v{MAJOR}.{MINOR}.{PATCH}` (e.g., v2.5.0)
|
|
25
|
+
- Tag annotation includes breaking change summary
|
|
26
|
+
- Tag created on correct commit (HEAD of main branch)
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Section 2: Code Quality & Testing (5 min)
|
|
31
|
+
|
|
32
|
+
- [ ] **Test coverage 80%+ verified**
|
|
33
|
+
- Run test suite: All tests pass
|
|
34
|
+
- Coverage report generated: 80%+ threshold met
|
|
35
|
+
- Critical paths have >90% coverage
|
|
36
|
+
- No skipped tests (`.skip()` calls removed)
|
|
37
|
+
- E2E tests passing (Phase 5 validation)
|
|
38
|
+
|
|
39
|
+
- [ ] **No critical errors in logs**
|
|
40
|
+
- Linting passes: No errors, only warnings acceptable
|
|
41
|
+
- Type checking passes: All types resolved
|
|
42
|
+
- Security scan passing: No vulnerabilities found
|
|
43
|
+
- Dependency audit clean: No high-risk dependencies
|
|
44
|
+
|
|
45
|
+
- [ ] **Build artifacts valid**
|
|
46
|
+
- Docker image builds successfully
|
|
47
|
+
- All layers optimized (no bloat)
|
|
48
|
+
- Image pushed to registry successfully
|
|
49
|
+
- SHA hash recorded for deployment traceability
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Section 3: Breaking Changes & Migration (10 min)
|
|
54
|
+
|
|
55
|
+
- [ ] **All breaking changes documented**
|
|
56
|
+
- `SPEC_CHANGELOG.md` lists each breaking change:
|
|
57
|
+
* What changed (old vs new)
|
|
58
|
+
* Why it changed
|
|
59
|
+
* Consumer impact
|
|
60
|
+
* Migration deadline
|
|
61
|
+
- Count: N breaking changes documented
|
|
62
|
+
|
|
63
|
+
- [ ] **Migration guides complete** (required if breaking changes >0)
|
|
64
|
+
- Guide for each breaking change with:
|
|
65
|
+
* Before/after code examples (3+ languages)
|
|
66
|
+
* Step-by-step migration instructions
|
|
67
|
+
* Common pitfalls section
|
|
68
|
+
* Troubleshooting FAQ
|
|
69
|
+
* Support contact info
|
|
70
|
+
- Migration guides linked in:
|
|
71
|
+
* Release notes
|
|
72
|
+
* API documentation
|
|
73
|
+
* Consumer communication template
|
|
74
|
+
|
|
75
|
+
- [ ] **Affected consumers identified & notified**
|
|
76
|
+
- Identified: N clients/services affected
|
|
77
|
+
- Notified: Consumer list reviewed and approved
|
|
78
|
+
- Communication template prepared (email + Slack + in-app banner)
|
|
79
|
+
- Support team briefed on incoming migration questions
|
|
80
|
+
|
|
81
|
+
- [ ] **Deprecation timeline clear** (for gradual migration)
|
|
82
|
+
- If using deprecation period:
|
|
83
|
+
* Current version: v2.x (old API still works)
|
|
84
|
+
* Deadline version: v3.0 (old API removed)
|
|
85
|
+
* Timeline: N months to migrate
|
|
86
|
+
- Example: "Old endpoint deprecated in v2.5, removed in v3.0 (6-month timeline)"
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Section 4: Deployment Readiness (5 min)
|
|
91
|
+
|
|
92
|
+
- [ ] **Deployment runbooks prepared**
|
|
93
|
+
- Runbook exists for: dev, staging, production
|
|
94
|
+
- Each runbook includes:
|
|
95
|
+
* Pre-deployment steps (DB migrations, config validation)
|
|
96
|
+
* Deployment steps (build, push, deploy, restart)
|
|
97
|
+
* Post-deployment verification (health checks, smoke tests)
|
|
98
|
+
* Rollback procedure (trigger conditions, steps)
|
|
99
|
+
- Runbooks reviewed by ops team
|
|
100
|
+
|
|
101
|
+
- [ ] **Health checks configured**
|
|
102
|
+
- Liveness probe configured: /health (returns 200)
|
|
103
|
+
- Readiness probe configured: /ready (checks dependencies)
|
|
104
|
+
- Metrics endpoint configured: /metrics (Prometheus format)
|
|
105
|
+
- Smoke test scenarios defined (3+ critical workflows)
|
|
106
|
+
|
|
107
|
+
- [ ] **Database migrations prepared** (if applicable)
|
|
108
|
+
- Migration script exists and tested
|
|
109
|
+
- Backward compatible: Can rollback if needed
|
|
110
|
+
- Zero-downtime approach: Old code works during migration
|
|
111
|
+
- Data integrity verified: No data loss risk
|
|
112
|
+
- Estimated duration: <5 min migration window
|
|
113
|
+
|
|
114
|
+
- [ ] **Configuration prepared**
|
|
115
|
+
- Config files generated for: dev, staging, prod
|
|
116
|
+
- Environment-specific values validated:
|
|
117
|
+
* Database URLs
|
|
118
|
+
* API keys / secrets (via secrets manager)
|
|
119
|
+
* Feature flags properly set
|
|
120
|
+
* Logging levels appropriate
|
|
121
|
+
- No hardcoded values found
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Section 5: Rollback Capability (5 min)
|
|
126
|
+
|
|
127
|
+
- [ ] **Rollback plan tested**
|
|
128
|
+
- Rollback triggers defined: error rate >5%, latency >2s, health check fail
|
|
129
|
+
- Rollback steps documented and verified
|
|
130
|
+
- Previous version artifacts available: Docker image, config, DB state
|
|
131
|
+
- Rollback time: <5 minutes verified
|
|
132
|
+
- Rollback reverses all changes: code, config, DB state
|
|
133
|
+
|
|
134
|
+
- [ ] **Deployment strategy matches risk**
|
|
135
|
+
- Risk score calculated: N/10
|
|
136
|
+
- Strategy selected:
|
|
137
|
+
* Low (1-2): Rolling deployment
|
|
138
|
+
* Medium (3-5): Blue-green deployment
|
|
139
|
+
* High (6-8): Canary (1%→10%→50%→100%)
|
|
140
|
+
* Critical (9-10): Scheduled deployment + manual approval at each stage
|
|
141
|
+
- Strategy team-reviewed and approved
|
|
142
|
+
|
|
143
|
+
- [ ] **Monitoring configured**
|
|
144
|
+
- Dashboard created for deployment monitoring
|
|
145
|
+
- Alerts configured for error rate spike
|
|
146
|
+
- Alert thresholds set: >5% error rate = trigger alert
|
|
147
|
+
- Team on-call for deployment window
|
|
148
|
+
- Escalation path defined
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## Section 6: Approvals & Sign-Off (5 min)
|
|
153
|
+
|
|
154
|
+
- [ ] **Required approvals obtained**
|
|
155
|
+
- Risk score: N/10
|
|
156
|
+
- Approval required from:
|
|
157
|
+
* Low (1-2): Tech Lead (or auto-approve)
|
|
158
|
+
* Medium (3-5): Tech Lead + Lead Engineer
|
|
159
|
+
* High (6-8): Tech Lead + Product Lead
|
|
160
|
+
* Critical (9-10): CTO + scheduled window approval
|
|
161
|
+
- All approvers signed off with timestamp
|
|
162
|
+
|
|
163
|
+
- [ ] **Deployment window scheduled**
|
|
164
|
+
- If breaking changes: scheduled deployment window
|
|
165
|
+
- Team availability: All on-call resources available
|
|
166
|
+
- Communication: Consumers notified of maintenance window (if needed)
|
|
167
|
+
- Rollback team: Same team on standby for 1 hour post-deployment
|
|
168
|
+
|
|
169
|
+
- [ ] **Documentation complete**
|
|
170
|
+
- Release notes ready (version, what's new, what's fixed, breaking changes)
|
|
171
|
+
- Consumer communication sent (email + Slack + notification)
|
|
172
|
+
- Internal team briefed: engineering, support, ops
|
|
173
|
+
- External status page updated (if consumer-facing)
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## Red Flags - STOP if any present
|
|
178
|
+
|
|
179
|
+
❌ **MUST STOP - Do not proceed to deployment**:
|
|
180
|
+
|
|
181
|
+
- [ ] Test coverage <80% (BLOCKER)
|
|
182
|
+
- [ ] Breaking changes undocumented (BLOCKER)
|
|
183
|
+
- [ ] Migration guides missing for breaking changes (BLOCKER)
|
|
184
|
+
- [ ] Rollback plan untested (BLOCKER)
|
|
185
|
+
- [ ] Required approvals missing (BLOCKER)
|
|
186
|
+
- [ ] Version bump doesn't match semantic versioning (BLOCKER)
|
|
187
|
+
- [ ] Critical errors in logs/build (BLOCKER)
|
|
188
|
+
- [ ] Database rollback impossible (HIGH RISK)
|
|
189
|
+
- [ ] Consumers not notified of breaking changes (HIGH RISK)
|
|
190
|
+
|
|
191
|
+
**If STOP condition found**:
|
|
192
|
+
1. Identify blocking issue
|
|
193
|
+
2. Take corrective action
|
|
194
|
+
3. Re-run validation checklist
|
|
195
|
+
4. Do not deploy until all checks pass
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## Sign-Off Template
|
|
200
|
+
|
|
201
|
+
```
|
|
202
|
+
RELEASE: v2.5.0
|
|
203
|
+
DATE: 2026-05-31
|
|
204
|
+
CHECKED BY: [Name]
|
|
205
|
+
APPROVED BY: [Name] (Tech Lead)
|
|
206
|
+
|
|
207
|
+
Version verification: ✓ PASS
|
|
208
|
+
Test coverage: ✓ PASS (82%)
|
|
209
|
+
Breaking changes documented: ✓ PASS (2 breaking changes)
|
|
210
|
+
Deployment runbook: ✓ PASS
|
|
211
|
+
Rollback tested: ✓ PASS
|
|
212
|
+
Approvals obtained: ✓ PASS
|
|
213
|
+
|
|
214
|
+
Risk Score: 6/10 (HIGH - canary deployment)
|
|
215
|
+
Status: ✅ APPROVED FOR DEPLOYMENT
|
|
216
|
+
|
|
217
|
+
Next step: Begin canary deployment (Stage 1: 1% traffic)
|
|
218
|
+
Monitoring window: 1 hour
|
|
219
|
+
Rollback team: On standby
|
|
220
|
+
```
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Example: Orchestrating a Minor Version Release (v2.4.1 → v2.5.0)
|
|
2
|
+
|
|
3
|
+
## Scenario
|
|
4
|
+
|
|
5
|
+
The team has completed sprint work. SPEC_CHANGELOG.md shows 3 new optional features and 2 bug fixes — no breaking changes. A minor version release is required.
|
|
6
|
+
|
|
7
|
+
## Trigger
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
/prep-release
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Or auto-triggered when `VERSION` file is bumped and all tests pass.
|
|
14
|
+
|
|
15
|
+
## Phase 1: Version Detection (2 min auto)
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
Current Version: v2.4.1
|
|
19
|
+
Changes since last release:
|
|
20
|
+
- 0 BREAKING changes
|
|
21
|
+
- 3 FEATURE changes (new optional fields)
|
|
22
|
+
- 2 BUG_FIX changes
|
|
23
|
+
|
|
24
|
+
Semantic versioning decision:
|
|
25
|
+
FEATURE changes → Minor version bump
|
|
26
|
+
Proposed: v2.4.1 → v2.5.0
|
|
27
|
+
Risk level: MEDIUM (new features, no breaking changes)
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Phase 2: Risk Assessment (3 min auto)
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
Risk score: 4/10 (MEDIUM)
|
|
34
|
+
- No breaking changes
|
|
35
|
+
- 3 new optional API fields (backward compatible)
|
|
36
|
+
- All 94 tests passing
|
|
37
|
+
- Recommended strategy: Blue-green deployment
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Phase 3: Runbook Generated (3 min auto)
|
|
41
|
+
|
|
42
|
+
**`.docs/releases/v2.5.0-runbook.md`** created with:
|
|
43
|
+
- Pre-deployment database migration steps (none needed)
|
|
44
|
+
- Docker build + push commands for staging
|
|
45
|
+
- Blue-green switch command
|
|
46
|
+
- Health check endpoint list
|
|
47
|
+
- Rollback command (instant switch back to Green)
|
|
48
|
+
|
|
49
|
+
## Phase 4: Release Notes Generated (2 min auto)
|
|
50
|
+
|
|
51
|
+
```markdown
|
|
52
|
+
## v2.5.0 — May 31, 2026
|
|
53
|
+
|
|
54
|
+
### Added
|
|
55
|
+
- User profiles now include optional `avatarUrl` field
|
|
56
|
+
- API supports `?include=preferences` query parameter
|
|
57
|
+
- Notifications support `priority` field (low/medium/high)
|
|
58
|
+
|
|
59
|
+
### Fixed
|
|
60
|
+
- Fixed: User deletion no longer leaves orphaned sessions
|
|
61
|
+
- Fixed: Rate limiter correctly resets after 1-hour window
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Approval
|
|
65
|
+
|
|
66
|
+
Risk 4/10 → Lead Engineer approval required (not CTO level).
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
Approval: ✅ [Lead Engineer] @ 14:32 — LGTM
|
|
70
|
+
Deployment: Cleared for blue-green deployment
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Outcome
|
|
74
|
+
|
|
75
|
+
- ✅ Version bumped to v2.5.0
|
|
76
|
+
- ✅ Runbook generated in 3 minutes
|
|
77
|
+
- ✅ Release notes complete
|
|
78
|
+
- ✅ Total prep time: ~10 minutes (vs 2+ hours manual)
|