omgkit 2.13.0 → 2.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +93 -10
- package/package.json +2 -2
- package/plugin/agents/api-designer.md +5 -0
- package/plugin/agents/architect.md +8 -0
- package/plugin/agents/brainstormer.md +4 -0
- package/plugin/agents/cicd-manager.md +6 -0
- package/plugin/agents/code-reviewer.md +6 -0
- package/plugin/agents/copywriter.md +2 -0
- package/plugin/agents/data-engineer.md +255 -0
- package/plugin/agents/database-admin.md +10 -0
- package/plugin/agents/debugger.md +10 -0
- package/plugin/agents/devsecops.md +314 -0
- package/plugin/agents/docs-manager.md +4 -0
- package/plugin/agents/domain-decomposer.md +181 -0
- package/plugin/agents/embedded-systems.md +397 -0
- package/plugin/agents/fullstack-developer.md +12 -0
- package/plugin/agents/game-systems-designer.md +375 -0
- package/plugin/agents/git-manager.md +10 -0
- package/plugin/agents/journal-writer.md +2 -0
- package/plugin/agents/ml-engineer.md +284 -0
- package/plugin/agents/observability-engineer.md +353 -0
- package/plugin/agents/oracle.md +9 -0
- package/plugin/agents/performance-engineer.md +290 -0
- package/plugin/agents/pipeline-architect.md +6 -0
- package/plugin/agents/planner.md +12 -0
- package/plugin/agents/platform-engineer.md +325 -0
- package/plugin/agents/project-manager.md +3 -0
- package/plugin/agents/researcher.md +5 -0
- package/plugin/agents/scientific-computing.md +426 -0
- package/plugin/agents/scout.md +3 -0
- package/plugin/agents/security-auditor.md +7 -0
- package/plugin/agents/sprint-master.md +17 -0
- package/plugin/agents/tester.md +10 -0
- package/plugin/agents/ui-ux-designer.md +12 -0
- package/plugin/agents/vulnerability-scanner.md +6 -0
- package/plugin/commands/data/pipeline.md +47 -0
- package/plugin/commands/data/quality.md +49 -0
- package/plugin/commands/domain/analyze.md +34 -0
- package/plugin/commands/domain/map.md +41 -0
- package/plugin/commands/game/balance.md +56 -0
- package/plugin/commands/game/optimize.md +62 -0
- package/plugin/commands/iot/provision.md +58 -0
- package/plugin/commands/ml/evaluate.md +47 -0
- package/plugin/commands/ml/train.md +48 -0
- package/plugin/commands/perf/benchmark.md +54 -0
- package/plugin/commands/perf/profile.md +49 -0
- package/plugin/commands/platform/blueprint.md +56 -0
- package/plugin/commands/security/audit.md +54 -0
- package/plugin/commands/security/scan.md +55 -0
- package/plugin/commands/sre/dashboard.md +53 -0
- package/plugin/registry.yaml +711 -0
- package/plugin/skills/ai-ml/experiment-tracking/SKILL.md +338 -0
- package/plugin/skills/ai-ml/feature-stores/SKILL.md +340 -0
- package/plugin/skills/ai-ml/llm-ops/SKILL.md +454 -0
- package/plugin/skills/ai-ml/ml-pipelines/SKILL.md +390 -0
- package/plugin/skills/ai-ml/model-monitoring/SKILL.md +398 -0
- package/plugin/skills/ai-ml/model-serving/SKILL.md +386 -0
- package/plugin/skills/event-driven/cqrs-patterns/SKILL.md +348 -0
- package/plugin/skills/event-driven/event-sourcing/SKILL.md +334 -0
- package/plugin/skills/event-driven/kafka-deep/SKILL.md +252 -0
- package/plugin/skills/event-driven/saga-orchestration/SKILL.md +335 -0
- package/plugin/skills/event-driven/schema-registry/SKILL.md +328 -0
- package/plugin/skills/event-driven/stream-processing/SKILL.md +313 -0
- package/plugin/skills/game/game-audio/SKILL.md +446 -0
- package/plugin/skills/game/game-networking/SKILL.md +490 -0
- package/plugin/skills/game/godot-patterns/SKILL.md +413 -0
- package/plugin/skills/game/shader-programming/SKILL.md +492 -0
- package/plugin/skills/game/unity-patterns/SKILL.md +488 -0
- package/plugin/skills/iot/device-provisioning/SKILL.md +405 -0
- package/plugin/skills/iot/edge-computing/SKILL.md +369 -0
- package/plugin/skills/iot/industrial-protocols/SKILL.md +438 -0
- package/plugin/skills/iot/mqtt-deep/SKILL.md +418 -0
- package/plugin/skills/iot/ota-updates/SKILL.md +426 -0
- package/plugin/skills/microservices/api-gateway-patterns/SKILL.md +201 -0
- package/plugin/skills/microservices/circuit-breaker-patterns/SKILL.md +246 -0
- package/plugin/skills/microservices/contract-testing/SKILL.md +284 -0
- package/plugin/skills/microservices/distributed-tracing/SKILL.md +246 -0
- package/plugin/skills/microservices/service-discovery/SKILL.md +304 -0
- package/plugin/skills/microservices/service-mesh/SKILL.md +181 -0
- package/plugin/skills/mobile-advanced/mobile-ci-cd/SKILL.md +407 -0
- package/plugin/skills/mobile-advanced/mobile-security/SKILL.md +403 -0
- package/plugin/skills/mobile-advanced/offline-first/SKILL.md +473 -0
- package/plugin/skills/mobile-advanced/push-notifications/SKILL.md +494 -0
- package/plugin/skills/mobile-advanced/react-native-deep/SKILL.md +374 -0
- package/plugin/skills/simulation/numerical-methods/SKILL.md +434 -0
- package/plugin/skills/simulation/parallel-computing/SKILL.md +382 -0
- package/plugin/skills/simulation/physics-engines/SKILL.md +377 -0
- package/plugin/skills/simulation/validation-verification/SKILL.md +479 -0
- package/plugin/skills/simulation/visualization-scientific/SKILL.md +365 -0
- package/plugin/workflows/ai-engineering/agent-development.md +3 -3
- package/plugin/workflows/ai-engineering/fine-tuning.md +3 -3
- package/plugin/workflows/ai-engineering/model-evaluation.md +3 -3
- package/plugin/workflows/ai-engineering/prompt-engineering.md +2 -2
- package/plugin/workflows/ai-engineering/rag-development.md +4 -4
- package/plugin/workflows/ai-ml/data-pipeline.md +188 -0
- package/plugin/workflows/ai-ml/experiment-cycle.md +203 -0
- package/plugin/workflows/ai-ml/feature-engineering.md +208 -0
- package/plugin/workflows/ai-ml/model-deployment.md +199 -0
- package/plugin/workflows/ai-ml/monitoring-setup.md +227 -0
- package/plugin/workflows/api/api-design.md +1 -1
- package/plugin/workflows/api/api-testing.md +2 -2
- package/plugin/workflows/content/technical-docs.md +1 -1
- package/plugin/workflows/database/migration.md +1 -1
- package/plugin/workflows/database/optimization.md +1 -1
- package/plugin/workflows/database/schema-design.md +3 -3
- package/plugin/workflows/development/bug-fix.md +3 -3
- package/plugin/workflows/development/code-review.md +2 -1
- package/plugin/workflows/development/feature.md +3 -3
- package/plugin/workflows/development/refactor.md +2 -2
- package/plugin/workflows/event-driven/consumer-groups.md +190 -0
- package/plugin/workflows/event-driven/event-storming.md +172 -0
- package/plugin/workflows/event-driven/replay-testing.md +186 -0
- package/plugin/workflows/event-driven/saga-implementation.md +206 -0
- package/plugin/workflows/event-driven/schema-evolution.md +173 -0
- package/plugin/workflows/fullstack/authentication.md +4 -4
- package/plugin/workflows/fullstack/full-feature.md +4 -4
- package/plugin/workflows/game-dev/content-pipeline.md +218 -0
- package/plugin/workflows/game-dev/platform-submission.md +263 -0
- package/plugin/workflows/game-dev/playtesting.md +237 -0
- package/plugin/workflows/game-dev/prototype-to-production.md +205 -0
- package/plugin/workflows/microservices/contract-first.md +151 -0
- package/plugin/workflows/microservices/distributed-tracing.md +166 -0
- package/plugin/workflows/microservices/domain-decomposition.md +123 -0
- package/plugin/workflows/microservices/integration-testing.md +149 -0
- package/plugin/workflows/microservices/service-mesh-setup.md +153 -0
- package/plugin/workflows/microservices/service-scaffolding.md +151 -0
- package/plugin/workflows/omega/1000x-innovation.md +2 -2
- package/plugin/workflows/omega/100x-architecture.md +2 -2
- package/plugin/workflows/omega/10x-improvement.md +2 -2
- package/plugin/workflows/quality/performance-optimization.md +2 -2
- package/plugin/workflows/research/best-practices.md +1 -1
- package/plugin/workflows/research/technology-research.md +1 -1
- package/plugin/workflows/security/penetration-testing.md +3 -3
- package/plugin/workflows/security/security-audit.md +3 -3
- package/plugin/workflows/sprint/sprint-execution.md +2 -2
- package/plugin/workflows/sprint/sprint-retrospective.md +1 -1
- package/plugin/workflows/sprint/sprint-setup.md +1 -1
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Test event-driven systems by replaying production events
|
|
3
|
+
triggers:
|
|
4
|
+
- manual
|
|
5
|
+
- test:replay
|
|
6
|
+
agents:
|
|
7
|
+
- tester
|
|
8
|
+
- data-engineer
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Replay Testing Workflow
|
|
12
|
+
|
|
13
|
+
Test system behavior by replaying historical events.
|
|
14
|
+
|
|
15
|
+
## Prerequisites
|
|
16
|
+
- [ ] Event store with historical data
|
|
17
|
+
- [ ] Isolated test environment
|
|
18
|
+
- [ ] Anonymization requirements defined
|
|
19
|
+
|
|
20
|
+
## Phase 1: Event Preparation
|
|
21
|
+
|
|
22
|
+
### Step 1.1: Select Events for Replay
|
|
23
|
+
```yaml
|
|
24
|
+
agent: data-engineer
|
|
25
|
+
action: query
|
|
26
|
+
criteria:
|
|
27
|
+
- Time range
|
|
28
|
+
- Event types
|
|
29
|
+
- Specific scenarios
|
|
30
|
+
- Edge cases
|
|
31
|
+
sources:
|
|
32
|
+
- Event store
|
|
33
|
+
- Kafka topics (with retention)
|
|
34
|
+
- Dead letter queues
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Step 1.2: Anonymize Events
|
|
38
|
+
```yaml
|
|
39
|
+
agent: data-engineer
|
|
40
|
+
action: transform
|
|
41
|
+
anonymization:
|
|
42
|
+
- PII fields: hash or fake
|
|
43
|
+
- Financial data: obfuscate
|
|
44
|
+
- IDs: maintain referential integrity
|
|
45
|
+
- Timestamps: optional offset
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Step 1.3: Create Event Dataset
|
|
49
|
+
```yaml
|
|
50
|
+
agent: data-engineer
|
|
51
|
+
action: export
|
|
52
|
+
format:
|
|
53
|
+
- JSON Lines
|
|
54
|
+
- Avro files
|
|
55
|
+
- Parquet
|
|
56
|
+
outputs:
|
|
57
|
+
- event_dataset
|
|
58
|
+
- metadata (counts, types, time range)
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Phase 2: Environment Setup
|
|
62
|
+
|
|
63
|
+
### Step 2.1: Provision Test Environment
|
|
64
|
+
```yaml
|
|
65
|
+
agent: tester
|
|
66
|
+
action: setup
|
|
67
|
+
components:
|
|
68
|
+
- Service under test
|
|
69
|
+
- Dependencies (mocked or real)
|
|
70
|
+
- Database (clean state)
|
|
71
|
+
- Message broker
|
|
72
|
+
isolation:
|
|
73
|
+
- Network isolation
|
|
74
|
+
- No production access
|
|
75
|
+
- Clean state between runs
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Step 2.2: Configure Replay Infrastructure
|
|
79
|
+
```yaml
|
|
80
|
+
agent: tester
|
|
81
|
+
action: configure
|
|
82
|
+
replay_tools:
|
|
83
|
+
- Kafka replay consumer
|
|
84
|
+
- Custom replay script
|
|
85
|
+
- Event sourcing replay
|
|
86
|
+
settings:
|
|
87
|
+
- Replay speed (1x, 10x, max)
|
|
88
|
+
- Ordering guarantees
|
|
89
|
+
- Pause/resume capability
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Phase 3: Replay Execution
|
|
93
|
+
|
|
94
|
+
### Step 3.1: Baseline Replay
|
|
95
|
+
```yaml
|
|
96
|
+
agent: tester
|
|
97
|
+
action: replay
|
|
98
|
+
mode: baseline
|
|
99
|
+
purpose: Establish expected behavior
|
|
100
|
+
capture:
|
|
101
|
+
- Final state
|
|
102
|
+
- Processing metrics
|
|
103
|
+
- Error counts
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### Step 3.2: Modified Replay
|
|
107
|
+
```yaml
|
|
108
|
+
agent: tester
|
|
109
|
+
action: replay
|
|
110
|
+
mode: comparison
|
|
111
|
+
with_changes:
|
|
112
|
+
- New code version
|
|
113
|
+
- Modified configuration
|
|
114
|
+
- Different event order
|
|
115
|
+
capture:
|
|
116
|
+
- State differences
|
|
117
|
+
- Performance differences
|
|
118
|
+
- New errors
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## Phase 4: Analysis
|
|
122
|
+
|
|
123
|
+
### Step 4.1: State Comparison
|
|
124
|
+
```yaml
|
|
125
|
+
agent: tester
|
|
126
|
+
action: compare
|
|
127
|
+
aspects:
|
|
128
|
+
- Database state diff
|
|
129
|
+
- Emitted events diff
|
|
130
|
+
- Side effects diff
|
|
131
|
+
- Error handling diff
|
|
132
|
+
tools:
|
|
133
|
+
- Database diff tools
|
|
134
|
+
- Event comparison scripts
|
|
135
|
+
- State snapshot comparison
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### Step 4.2: Performance Analysis
|
|
139
|
+
```yaml
|
|
140
|
+
agent: tester
|
|
141
|
+
action: analyze
|
|
142
|
+
metrics:
|
|
143
|
+
- Processing throughput
|
|
144
|
+
- Latency distribution
|
|
145
|
+
- Resource usage
|
|
146
|
+
- Error rates
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### Step 4.3: Issue Identification
|
|
150
|
+
```yaml
|
|
151
|
+
agent: tester
|
|
152
|
+
action: identify
|
|
153
|
+
issues:
|
|
154
|
+
- State inconsistencies
|
|
155
|
+
- Missing events
|
|
156
|
+
- Processing errors
|
|
157
|
+
- Performance regressions
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
## Phase 5: Reporting
|
|
161
|
+
|
|
162
|
+
### Step 5.1: Generate Report
|
|
163
|
+
```yaml
|
|
164
|
+
agent: tester
|
|
165
|
+
action: report
|
|
166
|
+
contents:
|
|
167
|
+
- Replay summary
|
|
168
|
+
- State comparison results
|
|
169
|
+
- Performance metrics
|
|
170
|
+
- Identified issues
|
|
171
|
+
- Recommendations
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
## Outputs
|
|
175
|
+
- [ ] Anonymized event dataset
|
|
176
|
+
- [ ] Replay configuration
|
|
177
|
+
- [ ] Baseline results
|
|
178
|
+
- [ ] Comparison report
|
|
179
|
+
- [ ] Issue list
|
|
180
|
+
|
|
181
|
+
## Quality Gates
|
|
182
|
+
- Events properly anonymized
|
|
183
|
+
- Replay environment isolated
|
|
184
|
+
- Baseline established
|
|
185
|
+
- Differences explained
|
|
186
|
+
- No data leakage
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Implement distributed transactions using saga pattern
|
|
3
|
+
triggers:
|
|
4
|
+
- manual
|
|
5
|
+
- transaction:distributed
|
|
6
|
+
agents:
|
|
7
|
+
- architect
|
|
8
|
+
- fullstack-developer
|
|
9
|
+
- tester
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Saga Implementation Workflow
|
|
13
|
+
|
|
14
|
+
Implement distributed transactions with compensation.
|
|
15
|
+
|
|
16
|
+
## Prerequisites
|
|
17
|
+
- [ ] Business process requiring multi-service transaction
|
|
18
|
+
- [ ] Services identified for participation
|
|
19
|
+
- [ ] Failure scenarios documented
|
|
20
|
+
|
|
21
|
+
## Phase 1: Saga Design
|
|
22
|
+
|
|
23
|
+
### Step 1.1: Choose Saga Type
|
|
24
|
+
```yaml
|
|
25
|
+
agent: architect
|
|
26
|
+
action: design
|
|
27
|
+
types:
|
|
28
|
+
choreography:
|
|
29
|
+
pros:
|
|
30
|
+
- Simple, loosely coupled
|
|
31
|
+
- No central coordinator
|
|
32
|
+
cons:
|
|
33
|
+
- Hard to track flow
|
|
34
|
+
- Difficult to debug
|
|
35
|
+
use_when: Simple, few participants
|
|
36
|
+
orchestration:
|
|
37
|
+
pros:
|
|
38
|
+
- Clear flow visibility
|
|
39
|
+
- Easier debugging
|
|
40
|
+
- Centralized logic
|
|
41
|
+
cons:
|
|
42
|
+
- Single point of failure
|
|
43
|
+
- More complexity
|
|
44
|
+
use_when: Complex, many participants
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Step 1.2: Define Saga Steps
|
|
48
|
+
```yaml
|
|
49
|
+
agent: architect
|
|
50
|
+
action: define
|
|
51
|
+
steps:
|
|
52
|
+
- name: step_name
|
|
53
|
+
service: service_name
|
|
54
|
+
action: forward_action
|
|
55
|
+
compensation: rollback_action
|
|
56
|
+
timeout: duration
|
|
57
|
+
retries: count
|
|
58
|
+
example:
|
|
59
|
+
- name: ReserveInventory
|
|
60
|
+
service: inventory
|
|
61
|
+
action: reserve
|
|
62
|
+
compensation: releaseReservation
|
|
63
|
+
- name: ProcessPayment
|
|
64
|
+
service: payment
|
|
65
|
+
action: charge
|
|
66
|
+
compensation: refund
|
|
67
|
+
- name: ConfirmOrder
|
|
68
|
+
service: order
|
|
69
|
+
action: confirm
|
|
70
|
+
compensation: cancel
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Phase 2: Implementation - Choreography
|
|
74
|
+
|
|
75
|
+
### Step 2.1: Define Events
|
|
76
|
+
```yaml
|
|
77
|
+
agent: fullstack-developer
|
|
78
|
+
action: define
|
|
79
|
+
events:
|
|
80
|
+
- forward_events:
|
|
81
|
+
- InventoryReserved
|
|
82
|
+
- PaymentProcessed
|
|
83
|
+
- OrderConfirmed
|
|
84
|
+
- compensation_events:
|
|
85
|
+
- InventoryReleased
|
|
86
|
+
- PaymentRefunded
|
|
87
|
+
- OrderCancelled
|
|
88
|
+
- failure_events:
|
|
89
|
+
- InventoryReservationFailed
|
|
90
|
+
- PaymentFailed
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Step 2.2: Implement Event Handlers
|
|
94
|
+
```yaml
|
|
95
|
+
agent: fullstack-developer
|
|
96
|
+
action: implement
|
|
97
|
+
per_service:
|
|
98
|
+
- Listen for trigger event
|
|
99
|
+
- Execute local transaction
|
|
100
|
+
- Publish result event
|
|
101
|
+
- Handle compensation trigger
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Phase 3: Implementation - Orchestration
|
|
105
|
+
|
|
106
|
+
### Step 3.1: Create Orchestrator
|
|
107
|
+
```yaml
|
|
108
|
+
agent: fullstack-developer
|
|
109
|
+
action: implement
|
|
110
|
+
components:
|
|
111
|
+
- Saga definition (steps, compensations)
|
|
112
|
+
- State machine
|
|
113
|
+
- Step executor
|
|
114
|
+
- Compensation executor
|
|
115
|
+
patterns:
|
|
116
|
+
- Process Manager
|
|
117
|
+
- State machine
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Step 3.2: Implement Saga State
|
|
121
|
+
```yaml
|
|
122
|
+
agent: fullstack-developer
|
|
123
|
+
action: implement
|
|
124
|
+
state_management:
|
|
125
|
+
- Saga instance ID
|
|
126
|
+
- Current step
|
|
127
|
+
- Completed steps
|
|
128
|
+
- Compensation state
|
|
129
|
+
- Payload data
|
|
130
|
+
persistence:
|
|
131
|
+
- Database
|
|
132
|
+
- Event store
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## Phase 4: Error Handling
|
|
136
|
+
|
|
137
|
+
### Step 4.1: Implement Retries
|
|
138
|
+
```yaml
|
|
139
|
+
agent: fullstack-developer
|
|
140
|
+
action: implement
|
|
141
|
+
retry_strategy:
|
|
142
|
+
- Exponential backoff
|
|
143
|
+
- Max retries
|
|
144
|
+
- Idempotency keys
|
|
145
|
+
- Dead letter handling
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### Step 4.2: Implement Timeouts
|
|
149
|
+
```yaml
|
|
150
|
+
agent: fullstack-developer
|
|
151
|
+
action: implement
|
|
152
|
+
timeout_handling:
|
|
153
|
+
- Per-step timeouts
|
|
154
|
+
- Overall saga timeout
|
|
155
|
+
- Timeout triggers compensation
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Step 4.3: Implement Compensation
|
|
159
|
+
```yaml
|
|
160
|
+
agent: fullstack-developer
|
|
161
|
+
action: implement
|
|
162
|
+
compensation_rules:
|
|
163
|
+
- Execute in reverse order
|
|
164
|
+
- Handle partial failures
|
|
165
|
+
- Idempotent compensations
|
|
166
|
+
- Report final status
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
## Phase 5: Testing
|
|
170
|
+
|
|
171
|
+
### Step 5.1: Unit Test Steps
|
|
172
|
+
```yaml
|
|
173
|
+
agent: tester
|
|
174
|
+
action: test
|
|
175
|
+
coverage:
|
|
176
|
+
- Forward action success
|
|
177
|
+
- Forward action failure
|
|
178
|
+
- Compensation action
|
|
179
|
+
- Idempotency
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### Step 5.2: Integration Test Saga
|
|
183
|
+
```yaml
|
|
184
|
+
agent: tester
|
|
185
|
+
action: test
|
|
186
|
+
scenarios:
|
|
187
|
+
- Happy path completion
|
|
188
|
+
- Failure at each step
|
|
189
|
+
- Timeout handling
|
|
190
|
+
- Concurrent sagas
|
|
191
|
+
- Recovery after crash
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
## Outputs
|
|
195
|
+
- [ ] Saga definition
|
|
196
|
+
- [ ] Orchestrator/event handlers
|
|
197
|
+
- [ ] Compensation logic
|
|
198
|
+
- [ ] State persistence
|
|
199
|
+
- [ ] Test suite
|
|
200
|
+
|
|
201
|
+
## Quality Gates
|
|
202
|
+
- All steps have compensations
|
|
203
|
+
- Idempotency verified
|
|
204
|
+
- Timeout handling tested
|
|
205
|
+
- State recovery works
|
|
206
|
+
- Concurrent execution safe
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Safely evolve event schemas with backward/forward compatibility
|
|
3
|
+
triggers:
|
|
4
|
+
- manual
|
|
5
|
+
- schema:change
|
|
6
|
+
agents:
|
|
7
|
+
- architect
|
|
8
|
+
- fullstack-developer
|
|
9
|
+
- tester
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Schema Evolution Workflow
|
|
13
|
+
|
|
14
|
+
Evolve event schemas without breaking consumers.
|
|
15
|
+
|
|
16
|
+
## Prerequisites
|
|
17
|
+
- [ ] Schema registry in place
|
|
18
|
+
- [ ] Current schema version documented
|
|
19
|
+
- [ ] Consumer inventory identified
|
|
20
|
+
|
|
21
|
+
## Phase 1: Change Analysis
|
|
22
|
+
|
|
23
|
+
### Step 1.1: Classify Schema Change
|
|
24
|
+
```yaml
|
|
25
|
+
agent: architect
|
|
26
|
+
action: analyze
|
|
27
|
+
change_types:
|
|
28
|
+
- backward_compatible:
|
|
29
|
+
- Add optional field
|
|
30
|
+
- Add new event type
|
|
31
|
+
- Add default value
|
|
32
|
+
- forward_compatible:
|
|
33
|
+
- Remove optional field
|
|
34
|
+
- Ignore unknown fields
|
|
35
|
+
- breaking:
|
|
36
|
+
- Remove required field
|
|
37
|
+
- Change field type
|
|
38
|
+
- Rename field
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Step 1.2: Impact Assessment
|
|
42
|
+
```yaml
|
|
43
|
+
agent: architect
|
|
44
|
+
action: assess
|
|
45
|
+
considerations:
|
|
46
|
+
- Affected consumers
|
|
47
|
+
- Required timeline
|
|
48
|
+
- Rollback strategy
|
|
49
|
+
- Data migration needs
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Phase 2: Schema Design
|
|
53
|
+
|
|
54
|
+
### Step 2.1: Design New Schema Version
|
|
55
|
+
```yaml
|
|
56
|
+
agent: fullstack-developer
|
|
57
|
+
action: design
|
|
58
|
+
formats:
|
|
59
|
+
- Avro
|
|
60
|
+
- Protobuf
|
|
61
|
+
- JSON Schema
|
|
62
|
+
best_practices:
|
|
63
|
+
- Use optional fields by default
|
|
64
|
+
- Include schema version field
|
|
65
|
+
- Document deprecations
|
|
66
|
+
- Plan for unknown fields
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Step 2.2: Validate Compatibility
|
|
70
|
+
```yaml
|
|
71
|
+
agent: fullstack-developer
|
|
72
|
+
action: validate
|
|
73
|
+
checks:
|
|
74
|
+
- backward_compatibility_test
|
|
75
|
+
- forward_compatibility_test
|
|
76
|
+
- schema_registry_compatibility
|
|
77
|
+
tools:
|
|
78
|
+
- Confluent Schema Registry
|
|
79
|
+
- AWS Glue Schema Registry
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Phase 3: Consumer Preparation
|
|
83
|
+
|
|
84
|
+
### Step 3.1: Update Consumer Code
|
|
85
|
+
```yaml
|
|
86
|
+
agent: fullstack-developer
|
|
87
|
+
action: update
|
|
88
|
+
patterns:
|
|
89
|
+
- Handle missing optional fields
|
|
90
|
+
- Ignore unknown fields
|
|
91
|
+
- Version-aware deserialization
|
|
92
|
+
- Graceful degradation
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Step 3.2: Deploy Consumer Updates
|
|
96
|
+
```yaml
|
|
97
|
+
agent: fullstack-developer
|
|
98
|
+
action: deploy
|
|
99
|
+
strategy:
|
|
100
|
+
- Deploy consumers first
|
|
101
|
+
- Verify backward compatibility
|
|
102
|
+
- No data loss on old messages
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Phase 4: Producer Update
|
|
106
|
+
|
|
107
|
+
### Step 4.1: Register New Schema
|
|
108
|
+
```yaml
|
|
109
|
+
agent: fullstack-developer
|
|
110
|
+
action: register
|
|
111
|
+
steps:
|
|
112
|
+
- Submit to schema registry
|
|
113
|
+
- Verify compatibility check passes
|
|
114
|
+
- Document schema version
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Step 4.2: Update Producer Code
|
|
118
|
+
```yaml
|
|
119
|
+
agent: fullstack-developer
|
|
120
|
+
action: update
|
|
121
|
+
requirements:
|
|
122
|
+
- Use new schema for serialization
|
|
123
|
+
- Include schema ID in messages
|
|
124
|
+
- Test with new format
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### Step 4.3: Deploy Producer
|
|
128
|
+
```yaml
|
|
129
|
+
agent: fullstack-developer
|
|
130
|
+
action: deploy
|
|
131
|
+
strategy:
|
|
132
|
+
- Canary deployment
|
|
133
|
+
- Monitor consumer errors
|
|
134
|
+
- Verify message processing
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## Phase 5: Cleanup (Breaking Changes Only)
|
|
138
|
+
|
|
139
|
+
### Step 5.1: Migration Period
|
|
140
|
+
```yaml
|
|
141
|
+
agent: architect
|
|
142
|
+
action: monitor
|
|
143
|
+
period: grace_period
|
|
144
|
+
checks:
|
|
145
|
+
- Old schema messages processed
|
|
146
|
+
- No consumer errors
|
|
147
|
+
- All consumers upgraded
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### Step 5.2: Deprecate Old Schema
|
|
151
|
+
```yaml
|
|
152
|
+
agent: fullstack-developer
|
|
153
|
+
action: deprecate
|
|
154
|
+
steps:
|
|
155
|
+
- Mark old schema deprecated
|
|
156
|
+
- Set deletion date
|
|
157
|
+
- Notify remaining consumers
|
|
158
|
+
- Eventually delete
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
## Outputs
|
|
162
|
+
- [ ] New schema version
|
|
163
|
+
- [ ] Compatibility validation report
|
|
164
|
+
- [ ] Updated consumer code
|
|
165
|
+
- [ ] Updated producer code
|
|
166
|
+
- [ ] Migration documentation
|
|
167
|
+
|
|
168
|
+
## Quality Gates
|
|
169
|
+
- Schema passes compatibility checks
|
|
170
|
+
- All consumers handle new schema
|
|
171
|
+
- No message processing errors
|
|
172
|
+
- Rollback plan tested
|
|
173
|
+
- Documentation updated
|
|
@@ -10,10 +10,10 @@ agents:
|
|
|
10
10
|
- security-auditor
|
|
11
11
|
- tester
|
|
12
12
|
skills:
|
|
13
|
-
- oauth
|
|
14
|
-
- better-auth
|
|
15
|
-
- owasp
|
|
16
|
-
- security-hardening
|
|
13
|
+
- security/oauth
|
|
14
|
+
- security/better-auth
|
|
15
|
+
- security/owasp
|
|
16
|
+
- security/security-hardening
|
|
17
17
|
commands:
|
|
18
18
|
- /planning:plan
|
|
19
19
|
- /dev:feature
|
|
@@ -14,10 +14,10 @@ agents:
|
|
|
14
14
|
- code-reviewer
|
|
15
15
|
- git-manager
|
|
16
16
|
skills:
|
|
17
|
-
- writing-plans
|
|
18
|
-
- database-schema-design
|
|
19
|
-
- api-architecture
|
|
20
|
-
- frontend-design
|
|
17
|
+
- methodology/writing-plans
|
|
18
|
+
- databases/database-schema-design
|
|
19
|
+
- backend/api-architecture
|
|
20
|
+
- frontend/frontend-design
|
|
21
21
|
commands:
|
|
22
22
|
- /planning:plan-detailed
|
|
23
23
|
- /dev:feature
|