Skip to content

Commit 2d15077

Browse files
authored
Merge pull request #183 from tebanieo/master
Feat: Adding feature flag system, enabling mcp chat
2 parents 1d4e27c + 8057747 commit 2d15077

File tree

8 files changed

+2353
-22
lines changed

8 files changed

+2353
-22
lines changed

workshops/modernizr/prompts/02-a-dynamodb-data-modeling/design.md

Lines changed: 435 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
# DynamoDB Data Modeling with MCP Server - Requirements
2+
3+
## Introduction
4+
5+
The DynamoDB Data Modeling with MCP Server stage leverages specialized MCP tools to transform MySQL schema analysis into an optimized DynamoDB data model. This stage simplifies the modeling process by using expert MCP servers while maintaining comprehensive validation and producing the critical migration contract for subsequent stages.
6+
7+
## Requirements
8+
9+
### Requirement 1
10+
11+
**User Story:** As a DynamoDB architect, I want to systematically gather access pattern requirements and leverage MCP server expertise, so that I can efficiently create an optimal data model based on real usage patterns.
12+
13+
#### Acceptance Criteria
14+
15+
1. WHEN gathering requirements THEN the system SHALL analyze stage-01 artifacts to extract entities, relationships, and initial access patterns
16+
2. WHEN documenting patterns THEN the system SHALL require RPS estimates for EVERY pattern and never fabricate numbers
17+
3. WHEN preparing for MCP analysis THEN the system SHALL create comprehensive input documentation with all necessary context
18+
4. WHEN requirements are incomplete THEN the system SHALL not proceed until user confirms all patterns are captured
19+
5. WHEN requirements are complete THEN the system SHALL have documented all read and write patterns ready for MCP server analysis
20+
21+
### Requirement 2
22+
23+
**User Story:** As a database designer, I want to leverage MCP server expertise for DynamoDB design, so that I can apply proven design principles and patterns efficiently.
24+
25+
#### Acceptance Criteria
26+
27+
1. WHEN using MCP server THEN the system SHALL provide complete context including entities, relationships, access patterns, and RPS estimates
28+
2. WHEN requesting design THEN the system SHALL specify multi-table first approach with natural keys and access pattern driven design
29+
3. WHEN evaluating alternatives THEN the system SHALL request multiple design options with trade-off analysis
30+
4. WHEN receiving recommendations THEN the system SHALL validate that all access patterns are satisfied
31+
5. WHEN finalizing design THEN the system SHALL ensure comprehensive justifications and cost analysis are provided
32+
33+
### Requirement 3
34+
35+
**User Story:** As a cost-conscious architect, I want MCP server analysis of denormalization decisions and cost implications, so that I can make informed decisions about performance vs complexity vs cost.
36+
37+
#### Acceptance Criteria
38+
39+
1. WHEN evaluating denormalization THEN the system SHALL request MCP server analysis of denormalization trade-offs with production risk assessment
40+
2. WHEN analyzing costs THEN the system SHALL obtain total cost of ownership analysis including development velocity and operational overhead
41+
3. WHEN assessing risks THEN the system SHALL request hot partition vulnerability analysis and write amplification calculations
42+
4. WHEN making decisions THEN the system SHALL ensure explicit trade-offs with rollback strategies are documented
43+
5. WHEN comparing approaches THEN the system SHALL obtain multiple design alternatives with clear justifications
44+
45+
### Requirement 4
46+
47+
**User Story:** As a migration engineer, I want a detailed migration contract in exact JSON format generated with MCP server assistance, so that subsequent stages can automatically generate infrastructure and migration code.
48+
49+
#### Acceptance Criteria
50+
51+
1. WHEN creating migration contract THEN the system SHALL use MCP server to generate the EXACT JSON structure specified with all required fields
52+
2. WHEN mapping attributes THEN the system SHALL ensure proper type mappings (S, N, B) and source table/column references
53+
3. WHEN handling denormalization THEN the system SHALL include denormalized=true, justification, and join object specifications
54+
4. WHEN managing unique constraints THEN the system SHALL implement dedicated lookup tables with TransactWriteItems patterns
55+
5. WHEN completing contract THEN the system SHALL validate that all access patterns are satisfied by the designed tables and GSIs
56+
57+
### Requirement 5
58+
59+
**User Story:** As a quality assurance engineer, I want comprehensive validation of MCP server outputs with table-by-table review, so that I can ensure the data model meets all requirements and the user understands each design decision.
60+
61+
#### Acceptance Criteria
62+
63+
1. WHEN receiving MCP outputs THEN the system SHALL validate that all original access patterns are addressed
64+
2. WHEN reviewing design THEN the system SHALL conduct table-by-table validation with the user for each DynamoDB table
65+
3. WHEN validating each table THEN the system SHALL explain the purpose, source mapping, key design, and access patterns served
66+
4. WHEN checking user understanding THEN the system SHALL not proceed to the next table until the user confirms understanding of the current table
67+
5. WHEN finalizing design THEN the system SHALL obtain user approval of the complete design after individual table validation
68+
69+
### Requirement 6
70+
71+
**User Story:** As a database architect, I want detailed explanation of table consolidation and denormalization decisions, so that I can understand why multiple MySQL tables are combined into single DynamoDB tables.
72+
73+
#### Acceptance Criteria
74+
75+
1. WHEN consolidating tables THEN the system SHALL clearly explain which MySQL tables are being combined and why
76+
2. WHEN denormalizing data THEN the system SHALL provide detailed justification for each denormalization decision
77+
3. WHEN presenting table design THEN the system SHALL show the mapping between source MySQL tables and target DynamoDB table
78+
4. WHEN validating design THEN the system SHALL ensure user understands the trade-offs of table consolidation
79+
5. WHEN documenting decisions THEN the system SHALL record user feedback and any concerns about table design

0 commit comments

Comments
 (0)