@tekyzinc/gsd-t 2.1.0 → 2.2.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.
@@ -27,10 +27,12 @@ For each task:
27
27
  3. Read the domain's constraints.md — follow all patterns
28
28
  4. Implement the task
29
29
  5. Verify acceptance criteria are met
30
- 6. Run the Pre-Commit Gate checklist from CLAUDE.md update ALL affected docs BEFORE committing
31
- 7. Commit with a descriptive message: `[{domain}] Task {N}: {description}`
32
- 8. Update `.gsd-t/progress.md`mark task complete
33
- 9. If you've reached a CHECKPOINT in integration-points.md, pause and verify the contract before continuing
30
+ 6. Run affected unit testsfix any failures before proceeding
31
+ 7. If E2E framework exists and task changed UI/routes/flows: run affected E2E specs, update specs if needed
32
+ 8. Run the Pre-Commit Gate checklist from CLAUDE.md — update ALL affected docs BEFORE committing
33
+ 9. Commit with a descriptive message: `[{domain}] Task {N}: {description}`
34
+ 10. Update `.gsd-t/progress.md` — mark task complete
35
+ 11. If you've reached a CHECKPOINT in integration-points.md, pause and verify the contract before continuing
34
36
 
35
37
  ### Team Mode (when agent teams are enabled)
36
38
  Spawn teammates for independent domains:
@@ -15,9 +15,11 @@ Read:
15
15
  4. `.gsd-t/domains/{current}/tasks.md` — recent completed tasks
16
16
 
17
17
  Identify:
18
- - Test framework (pytest, jest, vitest, etc.)
18
+ - **Unit/integration test framework** (pytest, jest, vitest, etc.)
19
+ - **E2E test framework** (Playwright, Cypress, Puppeteer, etc.) — check for `playwright.config.*`, `cypress.config.*`, `playwright/`, `cypress/`, `e2e/`, or E2E-related dependencies in package.json/requirements.txt
19
20
  - Test directory structure
20
21
  - Naming conventions
22
+ - Test run commands (from package.json scripts, Makefile, or CI config)
21
23
 
22
24
  ## Step 2: Map Code to Tests
23
25
 
@@ -77,6 +79,7 @@ Tests that sometimes fail:
77
79
 
78
80
  ## Step 4: Run Affected Tests
79
81
 
82
+ ### A) Unit/Integration Tests
80
83
  Execute tests that cover changed code:
81
84
 
82
85
  ```bash
@@ -87,7 +90,34 @@ pytest tests/test_{module}.py -v
87
90
  npm test -- --testPathPattern="{module}"
88
91
  ```
89
92
 
90
- Capture results:
93
+ ### B) E2E Tests
94
+ If an E2E framework is detected, run E2E tests affected by the changes:
95
+
96
+ ```bash
97
+ # Playwright
98
+ npx playwright test {affected-spec}.spec.ts
99
+
100
+ # Cypress
101
+ npx cypress run --spec "cypress/e2e/{affected-spec}.cy.ts"
102
+ ```
103
+
104
+ Determine which E2E specs are affected:
105
+ - Changed a UI component or page? → Run specs that test that page/flow
106
+ - Changed an API endpoint? → Run specs that exercise that endpoint
107
+ - Changed auth/session logic? → Run all auth-related E2E specs
108
+ - Changed database schema? → Run specs that depend on that data
109
+ - Not sure what's affected? → Run the full E2E suite
110
+
111
+ ### C) Update E2E Tests
112
+ If code changes affect user flows, update E2E test specs:
113
+ - New pages/routes → create new E2E specs
114
+ - Changed UI elements (selectors, text, layout) → update locators and assertions
115
+ - Changed form fields or validation → update form fill steps and error assertions
116
+ - New features → add E2E specs covering the happy path + key error cases
117
+ - Removed features → remove or update affected E2E specs
118
+
119
+ ### D) Capture Results
120
+ For all test types:
91
121
  - PASS: Test still valid
92
122
  - FAIL: Test needs update or code has bug
93
123
  - ERROR: Test broken (import error, etc.)
@@ -101,11 +131,13 @@ Create/update `.gsd-t/test-coverage.md`:
101
131
 
102
132
  ## Summary
103
133
  - Source files analyzed: {N}
104
- - Test files found: {N}
134
+ - Unit/integration test files: {N}
135
+ - E2E test specs: {N}
105
136
  - Coverage gaps: {N}
106
137
  - Stale tests: {N}
107
138
  - Dead tests: {N}
108
- - Tests passing: {N}/{total}
139
+ - Unit tests passing: {N}/{total}
140
+ - E2E tests passing: {N}/{total}
109
141
 
110
142
  ## Coverage Status
111
143
 
@@ -205,17 +237,20 @@ If issues found, add to current domain's tasks:
205
237
  ### During Execute Phase (auto-invoked):
206
238
  After each task completes:
207
239
  1. Quick scan of changed files
208
- 2. Run affected tests
209
- 3. If failures: pause and report
210
- 4. If gaps: note for end-of-phase sync
211
- 5. Continue execution
240
+ 2. Run affected unit/integration tests
241
+ 3. Run affected E2E tests (if E2E framework detected)
242
+ 4. If failures: pause and report
243
+ 5. If E2E specs need updating: update them before continuing
244
+ 6. If gaps: note for end-of-phase sync
245
+ 7. Continue execution
212
246
 
213
247
  ### During Verify Phase (auto-invoked):
214
248
  Full sync:
215
- 1. Complete coverage analysis
216
- 2. Run all tests
217
- 3. Generate full report
218
- 4. Block verification if critical tests failing
249
+ 1. Complete coverage analysis (unit + E2E)
250
+ 2. Run ALL unit/integration tests
251
+ 3. Run the FULL E2E test suite — this is mandatory, not optional
252
+ 4. Generate full report
253
+ 5. Block verification if any critical tests failing (unit or E2E)
219
254
 
220
255
  ### Standalone Mode:
221
256
  ```
@@ -238,19 +273,27 @@ Full sync:
238
273
  ```
239
274
  🧪 Test Sync Complete
240
275
 
241
- Results:
276
+ Unit/Integration:
242
277
  - Tests run: 45
243
278
  - Passing: 43
244
279
  - Failing: 2
245
- - Coverage gaps: 3
280
+
281
+ E2E ({framework}):
282
+ - Specs run: 12
283
+ - Passing: 11
284
+ - Failing: 1
285
+
286
+ Coverage:
287
+ - Gaps: 3
246
288
  - Stale tests: 1
247
289
  - Dead tests: 0
248
290
 
249
291
  Action Required:
250
- - 2 failing tests must be fixed before verify passes
292
+ - 2 failing unit tests must be fixed before verify passes
293
+ - 1 failing E2E spec must be fixed before verify passes
251
294
  - See .gsd-t/test-coverage.md for details
252
295
 
253
- Generated 4 test tasks → added to current domain
296
+ Generated 5 test tasks → added to current domain
254
297
  ```
255
298
 
256
299
  $ARGUMENTS
@@ -20,8 +20,9 @@ Standard dimensions (adjust based on project):
20
20
  2. **Contract Compliance**: Does every domain honor its contracts?
21
21
  3. **Code Quality**: Conventions, patterns, error handling, readability
22
22
  4. **Test Coverage**: Are critical paths tested? Are edge cases covered?
23
- 5. **Security**: Auth flows, input validation, data exposure, dependencies
24
- 6. **Integration Integrity**: Do the seams between domains hold under stress?
23
+ 5. **E2E Tests**: Run the full E2E suite (Playwright, Cypress, etc.) — all specs must pass
24
+ 6. **Security**: Auth flows, input validation, data exposure, dependencies
25
+ 7. **Integration Integrity**: Do the seams between domains hold under stress?
25
26
 
26
27
  ## Step 3: Execute Verification
27
28
 
@@ -32,6 +33,13 @@ Work through each dimension sequentially. For each:
32
33
  3. Record findings as PASS / WARN / FAIL with specifics
33
34
  4. If FAIL, create a remediation task
34
35
 
36
+ **Mandatory test execution:**
37
+ 1. Run ALL unit/integration tests — every test must pass
38
+ 2. Detect E2E framework (check for `playwright.config.*`, `cypress.config.*`, E2E deps in package.json)
39
+ 3. If E2E framework exists, run the FULL E2E suite — every spec must pass
40
+ 4. If E2E specs are missing or stale, invoke `gsd-t-test-sync` to update them first, then re-run
41
+ 5. Tests are NOT optional — verification cannot pass without running them
42
+
35
43
  ### Team Mode (when agent teams are enabled)
36
44
  ```
37
45
  Create an agent team for verification:
@@ -88,6 +96,8 @@ Create or update `.gsd-t/verify-report.md`:
88
96
  - Functional: {PASS/WARN/FAIL} — {X}/{Y} criteria met
89
97
  - Contracts: {PASS/WARN/FAIL} — {X}/{Y} contracts compliant
90
98
  - Code Quality: {PASS/WARN/FAIL} — {N} issues found
99
+ - Unit Tests: {PASS/WARN/FAIL} — {N}/{total} passing
100
+ - E2E Tests: {PASS/WARN/FAIL} — {N}/{total} specs passing
91
101
  - Security: {PASS/WARN/FAIL} — {N} findings
92
102
  - Integration: {PASS/WARN/FAIL}
93
103
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tekyzinc/gsd-t",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
4
4
  "description": "GSD-T: Contract-Driven Development for Claude Code — 27 slash commands with impact analysis, test sync, and milestone archival",
5
5
  "author": "Tekyz, Inc.",
6
6
  "license": "MIT",
@@ -133,8 +133,12 @@ BEFORE EVERY COMMIT:
133
133
  │ YES → Update .gsd-t/techdebt.md
134
134
  ├── Did I establish a pattern future work should follow?
135
135
  │ YES → Update CLAUDE.md or domain constraints.md
136
- └── Did I add/change tests?
137
- YES → Verify test names and paths are referenced in requirements
136
+ ├── Did I add/change tests?
137
+ YES → Verify test names and paths are referenced in requirements
138
+ ├── Did I change UI, routes, or user flows?
139
+ │ YES → Update affected E2E test specs (Playwright/Cypress)
140
+ └── Did I run the affected tests?
141
+ YES → Verify they pass. NO → Run them now.
138
142
  ```
139
143
 
140
144
  If ANY answer is YES and the doc is NOT updated, update it BEFORE committing. No exceptions.