Repository navigation
Expand file tree
/
Copy pathprd.example.json
More file actions
53 lines (53 loc) · 1.83 KB
/
Copy pathprd.example.json
File metadata and controls
53 lines (53 loc) · 1.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
{
"project": "MyApp",
"branchName": "feat/wagering-history",
"description": "User Wagering History - Persist and display each user's past wagers",
"userStories": [
{
"id": "WAGER-001",
"title": "Add wagers table to database schema",
"description": "As a developer, I need a database table to store wager records so we can persist user wagers across sessions.",
"acceptanceCriteria": [
"Migration creates a `wagers` table with id, userId, amount, outcome, createdAt",
"Foreign key constraint to users table",
"Index on userId for query performance",
"Typecheck passes"
],
"dependsOn": [],
"priority": 1,
"passes": false,
"notes": ""
},
{
"id": "WAGER-002",
"title": "Add wager creation server action",
"description": "As a developer, I need a server action to create a new wager so the UI can submit wagers.",
"acceptanceCriteria": [
"Action validates input (amount > 0, userId exists)",
"Returns the created wager",
"Tests cover the happy path and validation errors",
"Typecheck passes"
],
"dependsOn": ["WAGER-001"],
"priority": 2,
"passes": false,
"notes": ""
},
{
"id": "WAGER-003",
"title": "Build wager history list UI",
"description": "As a user, I want to see my past wagers in a list so I can review my activity.",
"acceptanceCriteria": [
"List shows last 50 wagers, newest first",
"Each row shows amount, outcome, and date",
"Empty state when no wagers exist",
"Typecheck passes",
"Verify in a real browser using the Codex Browser plugin, Playwright, or equivalent browser automation"
],
"dependsOn": ["WAGER-002"],
"priority": 3,
"passes": false,
"notes": ""
}
]
}