@torus-engineering/tas-kit 1.13.0 → 2.1.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.
Files changed (100) hide show
  1. package/.tas/_platform/claude-code/settings.json +58 -46
  2. package/.tas/_platform/hooks/code-quality.js +127 -127
  3. package/.tas/_platform/hooks/session-end.js +111 -111
  4. package/.tas/agents/architect.md +53 -53
  5. package/.tas/agents/aws-reviewer.md +71 -71
  6. package/.tas/agents/build-resolver.md +89 -59
  7. package/.tas/agents/code-explorer.md +63 -63
  8. package/.tas/agents/csharp-reviewer.md +62 -62
  9. package/.tas/agents/database-reviewer.md +73 -73
  10. package/.tas/agents/doc-updater.md +68 -66
  11. package/.tas/agents/python-reviewer.md +67 -67
  12. package/.tas/agents/security-reviewer.md +79 -79
  13. package/.tas/agents/software-engineer.md +53 -0
  14. package/.tas/agents/typescript-reviewer.md +65 -65
  15. package/.tas/commands/ado-create.md +33 -28
  16. package/.tas/commands/ado-delete.md +26 -22
  17. package/.tas/commands/ado-get.md +24 -20
  18. package/.tas/commands/ado-status.md +22 -18
  19. package/.tas/commands/ado-update.md +31 -27
  20. package/.tas/commands/tas-adr.md +37 -33
  21. package/.tas/commands/tas-apitest-plan.md +177 -173
  22. package/.tas/commands/tas-apitest.md +147 -143
  23. package/.tas/commands/tas-brainstorm.md +23 -19
  24. package/.tas/commands/tas-brd.md +50 -0
  25. package/.tas/commands/tas-bug.md +127 -113
  26. package/.tas/commands/tas-checklist.md +180 -0
  27. package/.tas/commands/tas-debug.md +103 -0
  28. package/.tas/commands/tas-design.md +41 -37
  29. package/.tas/commands/tas-dev.md +225 -125
  30. package/.tas/commands/tas-e2e-mobile.md +146 -155
  31. package/.tas/commands/tas-e2e-web.md +150 -163
  32. package/.tas/commands/tas-e2e.md +289 -102
  33. package/.tas/commands/tas-feature.md +181 -47
  34. package/.tas/commands/tas-fix.md +72 -51
  35. package/.tas/commands/tas-functest-mobile.md +138 -144
  36. package/.tas/commands/tas-functest-web.md +176 -192
  37. package/.tas/commands/tas-functest.md +225 -76
  38. package/.tas/commands/tas-init.md +22 -17
  39. package/.tas/commands/tas-master-plan.md +300 -0
  40. package/.tas/commands/tas-orchestrate.md +159 -0
  41. package/.tas/commands/tas-plan.md +152 -117
  42. package/.tas/commands/tas-prd.md +57 -37
  43. package/.tas/commands/tas-review-pr.md +174 -0
  44. package/.tas/commands/tas-review.md +115 -113
  45. package/.tas/commands/tas-sad.md +47 -43
  46. package/.tas/commands/tas-security.md +91 -87
  47. package/.tas/commands/tas-spec.md +54 -50
  48. package/.tas/commands/tas-status.md +25 -16
  49. package/.tas/project-status-example.yaml +3 -1
  50. package/.tas/rules/ado-integration.md +67 -65
  51. package/.tas/rules/common/api-design.md +517 -517
  52. package/.tas/rules/common/build-debug-loop.md +233 -0
  53. package/.tas/rules/common/code-review.md +4 -0
  54. package/.tas/rules/common/feature-done.md +42 -0
  55. package/.tas/rules/common/post-implementation-review.md +4 -0
  56. package/.tas/rules/common/project-status.md +33 -16
  57. package/.tas/rules/common/sad-impact.md +81 -0
  58. package/.tas/rules/common/tdd.md +104 -89
  59. package/.tas/rules/csharp/api-testing.md +2 -2
  60. package/.tas/rules/csharp/torus-core-framework.md +128 -0
  61. package/.tas/tas-example.yaml +9 -32
  62. package/.tas/templates/AGENTS.md +13 -0
  63. package/.tas/templates/API-Test-Spec.md +5 -4
  64. package/.tas/templates/BRD.md +133 -0
  65. package/.tas/templates/Bug.md +15 -0
  66. package/.tas/templates/E2E-Execution-Report.md +8 -8
  67. package/.tas/templates/E2E-Mobile-Spec.md +6 -8
  68. package/.tas/templates/E2E-Report.md +2 -2
  69. package/.tas/templates/E2E-Scenario.md +22 -22
  70. package/.tas/templates/E2E-Test-Spec.md +274 -0
  71. package/.tas/templates/E2E-Web-Spec.md +4 -4
  72. package/.tas/templates/Feature-Technical-Part.md +69 -0
  73. package/.tas/templates/Feature-Technical-Stack.md +74 -0
  74. package/.tas/templates/Feature-Technical.md +329 -0
  75. package/.tas/templates/Feature.md +50 -26
  76. package/.tas/templates/Func-Test-Script.md +29 -56
  77. package/.tas/templates/Func-Test-Spec.md +144 -142
  78. package/.tas/templates/PRD.md +173 -142
  79. package/.tas/templates/TestChecklist.md +96 -0
  80. package/.tas/templates/torus-dotnet-bootstrap.md +223 -0
  81. package/.tas/tools/tas-ado-readme.md +24 -27
  82. package/.tas/tools/tas-ado.py +328 -25
  83. package/.tas/tools/tas-github.py +339 -0
  84. package/README.md +142 -57
  85. package/bin/cli.js +90 -90
  86. package/lib/adapters/antigravity.js +131 -131
  87. package/lib/adapters/claude-code.js +71 -35
  88. package/lib/adapters/codex.js +157 -157
  89. package/lib/adapters/cursor.js +80 -80
  90. package/lib/adapters/index.js +20 -20
  91. package/lib/adapters/utils.js +81 -81
  92. package/lib/deleted-files.json +7 -0
  93. package/lib/install.js +546 -543
  94. package/package.json +2 -2
  95. package/.tas/README.md +0 -334
  96. package/.tas/commands/tas-epic.md +0 -35
  97. package/.tas/commands/tas-story.md +0 -91
  98. package/.tas/rules/common/story-done.md +0 -30
  99. package/.tas/templates/Epic.md +0 -46
  100. package/.tas/templates/Story.md +0 -90
@@ -0,0 +1,274 @@
1
+ ---
2
+ created_date: YYYY-MM-DD
3
+ updated_date: YYYY-MM-DD
4
+ executor: ""
5
+ reviewer: ""
6
+ status: Draft
7
+ epic_id: ""
8
+ feature_ids: [] # comma-separated Feature IDs chained in this scenario
9
+ scenario_id: ""
10
+ platform: web
11
+ tags: []
12
+ ver: 1.0
13
+ ---
14
+
15
+ # E2E Test Specification: {Scenario Name}
16
+
17
+ **Epic**: [{Epic_ID}] | **Features**: {feature_ids} | **Scenario**: [{Scenario_ID}]
18
+ **Author**: @{executor} | **Reviewer**: @{reviewer} | **Status**: {status}
19
+
20
+ ---
21
+
22
+ ## 1. Scenario Overview
23
+
24
+ > 📌 E2E Test Case mô phỏng **hành trình thực tế của người dùng (User Journey)** xuyên suốt hệ thống, kết nối multiple features thành một workflow hoàn chỉnh.
25
+
26
+ | **Field** | **Detail** |
27
+ | ------------------- | ----------------------------------------------------------------- |
28
+ | **Scenario Name** | {Business Flow Name - e.g., "Complete Purchase Journey"} |
29
+ | **Business Value** | {Why this flow matters - revenue, user retention, compliance} |
30
+ | **User Persona** | {Who performs this journey - e.g., "First-time Customer", "Admin"} |
31
+ | **Entry Point** | {Where user starts - e.g., Homepage, Login page} |
32
+ | **Exit Point** | {Where user ends - e.g., Order confirmation, Dashboard} |
33
+ | **Success Criteria**| {What defines success - e.g., Order created, Email sent} |
34
+
35
+ ---
36
+
37
+ ## 2. Integrated Systems & Dependencies
38
+
39
+ > 🔗 **Systems involved in this E2E flow**
40
+
41
+ | **System / Module** | **Role** | **Integration Type** | **Failure Impact** |
42
+ | ------------------------ | ---------------------------------- | ------------------- | ------------------ |
43
+ | Frontend (Web/Mobile) | User interface | Direct | Critical |
44
+ | Backend API | Business logic processing | REST/GraphQL | Critical |
45
+ | Database | Data persistence | ORM/Query | Critical |
46
+ | Payment Gateway | Payment processing | Third-party API | High |
47
+ | Email Service | Notifications | Webhook/API | Medium |
48
+ | {External System} | {Description} | {Type} | {Impact} |
49
+
50
+ ### Prerequisites & Setup
51
+
52
+ | **Requirement** | **State** | **Verification** |
53
+ | ------------------------ | ---------------------------------- | --------------------------------------------- |
54
+ | Test Environment | Staging / Test | `curl https://test-api.example.com/health` |
55
+ | User Accounts | Created with proper roles | Check admin panel / DB |
56
+ | Master Data | Products, configs seeded | Verify test data fixtures |
57
+ | Third-party Credentials | Payment gateway, SMS configured | Test transaction → verify dashboard |
58
+ | Feature Flags | Required features enabled | Confirm with dev team |
59
+
60
+ ---
61
+
62
+ ## 3. Functional Test Cases Mapping
63
+
64
+ > 📋 **E2E flow được xây dựng từ các Functional Test Cases đã có**
65
+ > Mỗi bước trong E2E mapping với 1 hoặc nhiều Functional TCs
66
+
67
+ | **E2E Step** | **Functional TC Reference** | **Feature** | **Purpose** |
68
+ | ------------ | ---------------------------------- | ------------------------ | ------------------------------------ |
69
+ | Step 1 | `{FT_ID}_001_H` | {Feature A} | Initial action |
70
+ | Step 2 | `{FT_ID}_002_H`, `{FT_ID}_003_N` | {Feature B} | Core processing |
71
+ | Step 3 | `{FT_ID}_004_H` | {Feature C} | Validation & confirmation |
72
+
73
+ ---
74
+
75
+ ## 4. E2E Test Scenarios
76
+
77
+ ### Test ID Format: `{PROJECT}_E2E_{SCENARIO_ID}_{FLOW_TYPE}_{NUMBER}`
78
+
79
+ **Flow Types:**
80
+ - `HP` - Happy Path (Main user journey)
81
+ - `NEG` - Negative Flow (Error handling across systems)
82
+ - `EDGE` - Edge Case (Boundary conditions)
83
+ - `PERF` - Performance Flow
84
+
85
+ ---
86
+
87
+ ### 4.1 Happy Path E2E Scenarios
88
+
89
+ > ✅ **Main user journeys - MUST automate these**
90
+
91
+ | **E2E Case ID** | **User Persona** | **Business Flow** | **Pre-Conditions** | **Cross-Functional Steps** | **Expected Final State** | **Priority** | **Autoable** | **Traceability** |
92
+ | --------------------- | ---------------- | ------------------------------------------- | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | ------------ | ------------ | -------------------------- |
93
+ | `{PROJECT}_E2E_001_HP` | Customer | Complete purchase journey | 1. User logged in<br>2. Product in stock<br>3. Payment method valid | **Step 1 [Browse]:** Navigate to product page<br>**Step 2 [Cart]:** Add to cart, verify total<br>**Step 3 [Checkout]:** Fill shipping info<br>**Step 4 [Payment]:** Process payment via gateway<br>**Step 5 [Confirm]:** Verify order created<br>**Step 6 [Notify]:** Check email sent | Order status = "Confirmed"<br>Inventory decremented<br>Payment recorded<br>Email received | P0 | Yes | FT-001, FT-005, FT-012 |
94
+ | `{PROJECT}_E2E_002_HP` | Admin | User onboarding workflow | 1. Admin logged in<br>2. Email server configured | **Step 1 [Invite]:** Create user invite<br>**Step 2 [Email]:** Verify invitation sent<br>**Step 3 [Accept]:** User accepts invite<br>**Step 4 [Setup]:** Complete profile<br>**Step 5 [Notify]:** Admin notified | User status = "Active"<br>Admin dashboard updated<br>Welcome email sent | P0 | Yes | FT-020, FT-021, FT-025 |
95
+
96
+ ---
97
+
98
+ ### 4.2 Negative Flow E2E Scenarios
99
+
100
+ > ❌ **Error handling across system boundaries**
101
+
102
+ | **E2E Case ID** | **User Persona** | **Business Flow** | **Pre-Conditions** | **Cross-Functional Steps** | **Expected Final State** | **Priority** | **Autoable** | **Traceability** |
103
+ | --------------------- | ---------------- | ------------------------------------------- | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ------------ | ------------ | ----------------------- |
104
+ | `{PROJECT}_E2E_003_NEG` | Customer | Payment failure recovery | 1. User logged in<br>2. Invalid card | **Step 1 [Browse]:** Select product<br>**Step 2 [Cart]:** Proceed to checkout<br>**Step 3 [Payment]:** Submit invalid payment<br>**Step 4 [Error]:** Verify error message<br>**Step 5 [Retry]:** Update payment method<br>**Step 6 [Success]:** Complete payment | Order NOT created<br>Error displayed clearly<br>Cart preserved<br>Retry successful | P1 | Yes | FT-001, FT-008, FT-015 |
105
+ | `{PROJECT}_E2E_004_NEG` | Customer | Stock depletion during checkout | 1. Product low stock<br>2. Multiple users | **Step 1 [Browse]:** Add to cart (stock available)<br>**Step 2 [Delay]:** Wait 30s<br>**Step 3 [Checkout]:** Attempt payment<br>**Step 4 [Error]:** Verify out-of-stock message<br>**Step 5 [Notify]:** Check stock alert | Payment rejected<br>Clear OOS message<br>Back-in-stock notification registered | P1 | Yes | FT-001, FT-009, FT-018 |
106
+
107
+ ---
108
+
109
+ ### 4.3 Edge Case E2E Scenarios
110
+
111
+ > ⚠️ **Boundary and unusual conditions**
112
+
113
+ | **E2E Case ID** | **User Persona** | **Business Flow** | **Pre-Conditions** | **Cross-Functional Steps** | **Expected Final State** | **Priority** | **Autoable** | **Traceability** |
114
+ | --------------------- | ---------------- | ------------------------------------------- | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | ------------ | ------------ | --------------------- |
115
+ | `{PROJECT}_E2E_005_EDGE` | Customer | Large order handling | 1. VIP customer<br>2. Bulk discount enabled | **Step 1 [Browse]:** Add 100+ items<br>**Step 2 [Cart]:** Verify bulk discount applied<br>**Step 3 [Checkout]:** Process large order<br>**Step 4 [Confirm]:** Verify order split if needed<br>**Step 5 [Notify]:** Verify warehouse notification | Order created with discount<br>Warehouse notified of bulk<br>Invoice correct | P2 | Yes | FT-003, FT-007, FT-014 |
116
+ | `{PROJECT}_E2E_006_EDGE` | Admin | Concurrent user operations | 1. Two admin sessions<br>2. Same record | **Step 1 [Session A]:** Open record for edit<br>**Step 2 [Session B]:** Attempt same record edit<br>**Step 3 [Conflict]:** Verify optimistic lock<br>**Step 4 [Resolve]:** Save latest changes<br>**Step 5 [Audit]:** Check audit log | Optimistic lock triggered<br>Last write wins<br>Audit log complete | P2 | Yes | FT-022, FT-028 |
117
+
118
+ ---
119
+
120
+ ### 4.4 Performance E2E Scenarios
121
+
122
+ > ⚡ **Load and timing validation**
123
+
124
+ | **E2E Case ID** | **User Persona** | **Business Flow** | **Pre-Conditions** | **Cross-Functional Steps** | **Expected Final State** | **Priority** | **Autoable** | **Traceability** |
125
+ | --------------------- | ---------------- | ------------------------------------------- | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | ------------ | ------------ | ------------------- |
126
+ | `{PROJECT}_E2E_007_PERF` | Customer | Peak load checkout | 1. Load test configured<br>2. 50 concurrent users | **Step 1 [Load]:** Simulate 50 users starting checkout<br>**Step 2 [Process]:** All users complete payment<br>**Step 3 [Verify]:** Check all orders created<br>**Step 4 [DB]:** Verify no deadlocks<br>**Step 5 [Timing]:** Response < 3s p95 | All 50 orders created<br>No data corruption<br>p95 response time < 3s<br>Zero errors logged | P1 | Yes | FT-001, FT-012, FT-018 |
127
+
128
+ ---
129
+
130
+ ## 5. Data Flow Validation
131
+
132
+ > 🔄 **E2E phải kiểm tra dữ liệu cuối cùng trong Database/system bên thứ ba**
133
+
134
+ | **Data Point** | **Source** | **Expected Value** | **Verification Method** | **System** |
135
+ | --------------------- | ----------------------- | -------------------------------------- | ----------------------------------------------------------- | ----------------- |
136
+ | Order Status | Database | "Confirmed" | `SELECT status FROM orders WHERE id = {order_id}` | Backend DB |
137
+ | Payment Transaction | Payment Gateway API | transaction_id present, status=success | `GET /api/payment/{transaction_id}` | Third-party API |
138
+ | Inventory Count | Database | Decremented by 1 | `SELECT quantity FROM products WHERE id = {product_id}` | Backend DB |
139
+ | Email Delivered | Email Service / Mailhog | Email present in inbox | Check Mailhog or test email inbox | Email Service |
140
+ | Audit Log | Database | Action recorded with timestamp | `SELECT * FROM audit_logs WHERE entity_id = {order_id}` | Backend DB |
141
+
142
+ ---
143
+
144
+ ## 6. Integration Points Validation
145
+
146
+ > 🔗 **Critical checkpoints between systems**
147
+
148
+ | **Integration Point** | **Test Method** | **Success Criteria** | **Failure Handling** |
149
+ | -------------------------- | --------------------------------------------- | --------------------------------------------------------- | ----------------------------------------------- |
150
+ | Frontend → Backend API | Intercept network requests, verify response | Status 200, valid JSON, correct data | Show user-friendly error, retry logic |
151
+ | Backend → Payment Gateway | Mock or real payment, verify callback | Payment success, transaction ID returned | Handle timeout, log failure, notify user |
152
+ | Backend → Email Service | Check email delivery (Mailhog/test inbox) | Email sent, correct recipient, valid content | Queue for retry, log delivery status |
153
+ | Backend → Database | Query DB after flow completes | Data persisted correctly, no orphan records | Transaction rollback, error logging |
154
+ | External API Callback | Simulate webhook from external system | Callback received, processed, status updated | Idempotency, retry mechanism, dead letter queue |
155
+
156
+ ---
157
+
158
+ ## 7. Browser & Platform Matrix
159
+
160
+ | **Platform** | **Browser / Device** | **Version** | **Required** | **Notes** |
161
+ | -------------- | -------------------- | ---------------- | ------------ | ---------------------------------- |
162
+ | Desktop Web | Chrome | Latest | Yes | Primary platform |
163
+ | Desktop Web | Firefox | Latest | Yes | Firefox-specific issues |
164
+ | Desktop Web | Safari | Latest | Yes | WebKit engine differences |
165
+ | Mobile Web | iOS Safari | iOS 17+ | Yes | Mobile responsive |
166
+ | Mobile Web | Android Chrome | Android 14+ | Yes | Mobile responsive |
167
+ | Mobile App | iOS App | iOS 17+ | Optional | If mobile app exists |
168
+ | Mobile App | Android App | Android 14+ | Optional | If mobile app exists |
169
+
170
+ ---
171
+
172
+ ## 8. Success Criteria & Exit Conditions
173
+
174
+ ### Must Have (P0)
175
+ - [ ] All Happy Path E2E scenarios pass
176
+ - [ ] Database state verified correct after each flow
177
+ - [ ] Third-party integrations validated (payment, email)
178
+ - [ ] No data corruption or orphan records
179
+ - [ ] User receives all expected notifications
180
+
181
+ ### Should Have (P1)
182
+ - [ ] Negative flows handle errors gracefully
183
+ - [ ] Performance within SLA (p95 < 3s)
184
+ - [ ] All required browsers/platforms pass
185
+ - [ ] Audit logs complete and accurate
186
+
187
+ ### Nice to Have (P2)
188
+ - [ ] Edge cases handled correctly
189
+ - [ ] Performance under load validated
190
+ - [ ] Accessibility checks pass
191
+ - [ ] Cross-browser consistency verified
192
+
193
+ ---
194
+
195
+ ## 9. Risk & Dependency Matrix
196
+
197
+ | **Risk ID** | **Risk Description** | **Impact** | **Mitigation Strategy** | **Owner** |
198
+ | ----------- | ------------------------------------------------ | ---------- | ------------------------------------------------------------ | ------------ |
199
+ | E2E-RSK-01 | Payment gateway downtime during test | High | Have mock payment fallback, check status page first | DevOps |
200
+ | E2E-RSK-02 | Test data not seeded properly | High | Verify data setup script runs before E2E suite | QA Lead |
201
+ | E2E-RSK-03 | Flaky tests due to timing issues | Medium | Add explicit waits, use stable selectors | Automation |
202
+ | E2E-RSK-04 | Staging environment not production-like | High | Regular sync of staging with production config | DevOps |
203
+ | E2E-RSK-05 | Third-party API rate limits during E2E runs | Medium | Use test API keys, implement exponential backoff | Backend Dev |
204
+
205
+ ---
206
+
207
+ ## 10. Automation Strategy
208
+
209
+ ### Framework & Tools
210
+
211
+ | **Component** | **Tool** | **Purpose** |
212
+ | ---------------- | ------------------ | ------------------------------------- |
213
+ | Test Framework | Playwright/Cypress | E2E test execution |
214
+ | API Testing | Postman/REST Assured | Backend integration validation |
215
+ | Data Verification | SQL scripts / DB client | Database state validation |
216
+ | Email Testing | Mailhog / Test mail inbox | Notification verification |
217
+ | Load Testing | k6 / JMeter | Performance E2E scenarios |
218
+
219
+ ### Automation Execution
220
+
221
+ ```bash
222
+ # Run E2E suite locally
223
+ yarn e2e:local
224
+
225
+ # Run on specific environment
226
+ yarn e2e:staging
227
+
228
+ # Run specific scenario
229
+ yarn e2e:scenario --scenarioId="E2E_001"
230
+
231
+ # Run with report
232
+ yarn e2e:report
233
+ ```
234
+
235
+ ### CI/CD Integration
236
+
237
+ - Run smoke E2E tests on every PR
238
+ - Run full E2E suite on merge to main
239
+ - Run regression E2E nightly on staging
240
+ - Block deployment if critical E2E tests fail
241
+
242
+ ---
243
+
244
+ ## 11. Coverage Summary
245
+
246
+ **Feature Coverage:**
247
+
248
+ | **Feature ID** | **Feature Name** | **E2E Scenarios Covered** | **Coverage %** |
249
+ | -------------- | --------------------------- | ------------------------- | -------------- |
250
+ | {Feature-001} | {Feature Name} | E2E_001, E2E_003 | 100% |
251
+ | {Feature-002} | {Feature Name} | E2E_001, E2E_002 | 100% |
252
+ | {Feature-003} | {Feature Name} | E2E_005 | 100% |
253
+
254
+ **Overall Coverage:**
255
+
256
+ | **Metric** | **Value** |
257
+ | -------------------- | -------------------- |
258
+ | Total E2E Scenarios | {count} |
259
+ | Happy Path | {count} ({percent}%) |
260
+ | Negative Flows | {count} ({percent}%) |
261
+ | Edge Cases | {count} ({percent}%) |
262
+ | Automatable | {count} ({percent}%) |
263
+ | Manual Only | {count} ({percent}%) |
264
+
265
+ ---
266
+
267
+ ## 12. Change Log
268
+
269
+ > **Note:** Changes are summarized daily (Daily Summary format).
270
+
271
+ | **Date** | **Ver** | **Daily Summary of Changes** | **Author** |
272
+ | ----------------- | ------- | ------------------------------------------------------------------------- | ------------- |
273
+ | {created_date} | 1.0 | Initial E2E test specification created | @{executor} |
274
+ | {updated_date} | 1.0 | Initial E2E test specification created | @{executor} |
@@ -3,14 +3,14 @@ created_date:
3
3
  updated_date:
4
4
  executor:
5
5
  status: Draft
6
- epic_id:
6
+ feature_ids: # comma-separated Feature IDs chained in this scenario
7
7
  scenario_id:
8
8
  ---
9
9
 
10
10
  # E2E Web Test Specification: {Scenario Name}
11
11
 
12
12
  **Scenario**: [{Scenario_ID}]({SCENARIO_LINK})
13
- **Epic(s)**: [{Epic_ID}]({Epic_LINK})
13
+ **Features**: {feature_ids}
14
14
  **Author**: @[executor]
15
15
  **Created**: [created_date]
16
16
  **Status**: [status] (Draft | Ready | Implemented | Verified)
@@ -54,8 +54,8 @@ scenario_id:
54
54
 
55
55
  | Test ID | Step | Page | Action | Expected | Browser | Viewport |
56
56
  |---------|------|------|--------|----------|---------|----------|
57
- | {PROJECT}_E{EPIC}_E2E_001_H | 1 | {Page} | {Action} | {Expected} | All | All |
58
- | {PROJECT}_E{EPIC}_E2E_001_H | 2 | {Page} | {Action} | {Expected} | All | All |
57
+ | {PROJECT}_E2E_001_H | 1 | {Page} | {Action} | {Expected} | All | All |
58
+ | {PROJECT}_E2E_001_H | 2 | {Page} | {Action} | {Expected} | All | All |
59
59
 
60
60
  ### Cross-Browser Specific
61
61
 
@@ -0,0 +1,69 @@
1
+ ---
2
+ feature_id: # e.g., Feature-001
3
+ parent_technical_file: # relative path to Feature-Technical.md (index)
4
+ part_id: # e.g., part1, part2
5
+ part_title: # e.g., Cart Processing
6
+ stacks_involved: # e.g., [service, integration]
7
+ plan_by:
8
+ plan_date:
9
+ status: Draft # Draft | Approved | Implemented
10
+ ---
11
+ # Feature-{NNN}-Technical: {Title} — Part: {part_title}
12
+
13
+ > Sub-feature detail file for part `{part_id}`. Global context (Context Diagram, Data Flow, API Spec, ERD, Architecture Decisions): see [`{parent_technical_file}`]({parent_technical_file}).
14
+ > Stacks involved in this part: {stacks_involved}.
15
+ > Source of truth for SE during `/tas-dev` for this part only.
16
+
17
+ ---
18
+
19
+ ## Stack: {Stack}
20
+ > *(repeat this section per stack involved in this part — omit stacks not touched here)*
21
+
22
+ ### Logic Flow
23
+ 1. {entry point}
24
+ 2. {validation / auth}
25
+ 3. {business logic}
26
+ 4. {persistence / external call}
27
+ 5. {response / event emit}
28
+
29
+ ### File Changes
30
+
31
+ #### Modify
32
+ | File | Change | Reason |
33
+ |------|--------|--------|
34
+ | {path} | {what} | {why} |
35
+
36
+ #### Create
37
+ | File | Purpose |
38
+ |------|---------|
39
+ | {path} | {what it does} |
40
+
41
+ #### Delete
42
+ | File | Reason |
43
+ |------|--------|
44
+ | {path} | {why removed} |
45
+
46
+ ### Config
47
+ | Item | Type | Value / Source | Environment |
48
+ |------|------|----------------|-------------|
49
+ | {VAR_NAME} | env var | {description} | dev / staging / prod |
50
+
51
+ ### Unit Test Cases
52
+ > Test ID: `{PROJECT}_F{FEATURE}_AC{N}_UT_NNN_{H|E|N}`
53
+
54
+ | ID | AC Ref | Type | Description | Input | Expected Output |
55
+ |----|--------|------|-------------|-------|-----------------|
56
+ | {PROJ}_F{NNN}_AC1_UT_001_H | AC-1 | Happy | {description} | {input} | {expected} |
57
+ | {PROJ}_F{NNN}_AC1_UT_001_E | AC-1 | Edge | {description} | {boundary} | {expected} |
58
+ | {PROJ}_F{NNN}_AC1_UT_001_N | AC-1 | Negative | {description} | {invalid} | {error} |
59
+
60
+ ### Tasks
61
+ - [ ] 1: {file + change}
62
+ - [ ] 2: {file + change}
63
+ - [ ] 3: Unit tests for AC-1, AC-2
64
+
65
+ ---
66
+
67
+ ## Changelog
68
+ | Date | Changes | Author |
69
+ |------|---------|--------|
@@ -0,0 +1,74 @@
1
+ ---
2
+ feature_id: # e.g., Feature-001
3
+ parent_technical_file: # relative path to Feature-Technical.md (index)
4
+ stack: # web | service | integration | app
5
+ plan_by:
6
+ plan_date:
7
+ status: Draft # Draft | Approved | Implemented
8
+ ---
9
+ # Feature-{NNN}-Technical: {Title} — Stack: {Stack}
10
+
11
+ > Stack detail file for `{stack}`. Global context (Context Diagram, Data Flow, API Spec, ERD, Architecture Decisions): see [`{parent_technical_file}`]({parent_technical_file}).
12
+ > Source of truth for SE during `/tas-dev` for this stack only.
13
+
14
+ ---
15
+
16
+ ## Logic Flow
17
+ 1. {entry point}
18
+ 2. {validation / auth}
19
+ 3. {business logic}
20
+ 4. {persistence / external call}
21
+ 5. {response / event emit}
22
+
23
+ Optional sequence diagram:
24
+ :::mermaid
25
+ sequenceDiagram
26
+ Caller->>Controller: request
27
+ Controller->>Service: invoke
28
+ Service->>Repository: read/write
29
+ Repository->>DB: query
30
+ DB-->>Service: rows
31
+ Service-->>Caller: response
32
+ :::
33
+
34
+ ## File Changes
35
+
36
+ ### Modify
37
+ | File | Change | Reason |
38
+ |------|--------|--------|
39
+ | {path} | {what} | {why} |
40
+
41
+ ### Create
42
+ | File | Purpose |
43
+ |------|---------|
44
+ | {path} | {what it does} |
45
+
46
+ ### Delete
47
+ | File | Reason |
48
+ |------|--------|
49
+ | {path} | {why removed} |
50
+
51
+ ## Config
52
+ | Item | Type | Value / Source | Environment |
53
+ |------|------|----------------|-------------|
54
+ | {VAR_NAME} | env var | {description} | dev / staging / prod |
55
+
56
+ ## Unit Test Cases
57
+ > Test ID: `{PROJECT}_F{FEATURE}_AC{N}_UT_NNN_{H|E|N}`
58
+
59
+ | ID | AC Ref | Type | Description | Input | Expected Output |
60
+ |----|--------|------|-------------|-------|-----------------|
61
+ | {PROJ}_F{NNN}_AC1_UT_001_H | AC-1 | Happy | {description} | {input} | {expected} |
62
+ | {PROJ}_F{NNN}_AC1_UT_001_E | AC-1 | Edge | {description} | {boundary} | {expected} |
63
+ | {PROJ}_F{NNN}_AC1_UT_001_N | AC-1 | Negative | {description} | {invalid} | {error} |
64
+
65
+ ## Tasks
66
+ - [ ] 1: {file + change}
67
+ - [ ] 2: {file + change}
68
+ - [ ] 3: Unit tests for AC-1, AC-2
69
+
70
+ ---
71
+
72
+ ## Changelog
73
+ | Date | Changes | Author |
74
+ |------|---------|--------|