@tekyzinc/gsd-t 2.18.2 → 2.19.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/CHANGELOG.md +7 -0
- package/commands/gsd-t-execute.md +18 -5
- package/commands/gsd-t-test-sync.md +26 -11
- package/commands/gsd-t-verify.md +14 -6
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to GSD-T are documented here. Updated with each release.
|
|
4
4
|
|
|
5
|
+
## [2.19.0] - 2026-02-16
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
- **Execute**: "No feature code without test code" — every task must include comprehensive unit tests AND Playwright E2E specs for all new code paths, modes, and flows. Tests are part of the deliverable, not a follow-up
|
|
9
|
+
- **Test-Sync**: Creates tests immediately during execute phase instead of deferring gaps to verify. Missing Playwright specs for new features/modes are created on the spot
|
|
10
|
+
- **Verify**: Zero test coverage on new functionality is now a FAIL (not WARN). Coverage audit checks that every new feature, mode, page, and flow has comprehensive Playwright specs covering happy path, error states, edge cases, and all modes/flags
|
|
11
|
+
|
|
5
12
|
## [2.18.2] - 2026-02-16
|
|
6
13
|
|
|
7
14
|
### Added
|
|
@@ -30,11 +30,20 @@ For each task:
|
|
|
30
30
|
3. Read the domain's constraints.md — follow all patterns
|
|
31
31
|
4. **Destructive Action Guard**: Before implementing, check if the task involves any destructive or structural changes (DROP TABLE, schema changes that lose data, removing existing modules, replacing architecture patterns). If YES → STOP and present the change to the user with what exists, what will change, what will break, and a safe migration path. Wait for explicit approval before proceeding.
|
|
32
32
|
5. Implement the task
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
33
|
+
6. Verify acceptance criteria are met
|
|
34
|
+
7. **Write comprehensive tests for every new or changed code path** (MANDATORY — no exceptions):
|
|
35
|
+
a. **Unit/integration tests**: Cover the happy path, common edge cases, error cases, and boundary conditions for every new or modified function
|
|
36
|
+
b. **Playwright E2E tests** (if UI/routes/flows/modes changed): Detect `playwright.config.*` or Playwright in dependencies. If present:
|
|
37
|
+
- Create NEW specs for new features, pages, modes, or flows — not just update existing ones
|
|
38
|
+
- Cover: happy path, form validation errors, empty states, loading states, error states, responsive breakpoints
|
|
39
|
+
- Cover: all feature modes/flags (e.g., if `--component` mode was added, test `--component` mode specifically)
|
|
40
|
+
- Cover: common edge cases (network errors, invalid input, rapid clicking, back/forward navigation)
|
|
41
|
+
- Use descriptive test names that explain the scenario being tested
|
|
42
|
+
c. If no test framework exists: set one up as part of the task (at minimum, Playwright for E2E)
|
|
43
|
+
d. **"No feature code without test code"** — implementation and tests are ONE deliverable, not two separate steps
|
|
44
|
+
8. **Run ALL tests** — unit, integration, and full Playwright suite. Fix any failures before proceeding (up to 2 attempts)
|
|
45
|
+
9. Run the Pre-Commit Gate checklist from CLAUDE.md — update ALL affected docs BEFORE committing
|
|
46
|
+
10. Commit with a descriptive message: `[{domain}] Task {N}: {description}`
|
|
38
47
|
10. Update `.gsd-t/progress.md` — mark task complete
|
|
39
48
|
11. If you've reached a CHECKPOINT in integration-points.md, pause and verify the contract before continuing
|
|
40
49
|
|
|
@@ -55,6 +64,10 @@ RULES FOR ALL TEAMMATES:
|
|
|
55
64
|
- **Destructive Action Guard**: NEVER drop tables, remove columns, delete data, replace architecture patterns, or remove working modules without messaging the lead first. The lead must get user approval before any destructive action proceeds.
|
|
56
65
|
- Only modify files listed in your domain's scope.md
|
|
57
66
|
- Implement interfaces EXACTLY as specified in contracts
|
|
67
|
+
- **Write comprehensive tests with every task** — no feature code without test code:
|
|
68
|
+
- Unit/integration tests: happy path + edge cases + error cases for every new/changed function
|
|
69
|
+
- Playwright E2E specs (if UI/routes/flows/modes changed): new specs for new features, cover all modes/flags, form validation, empty/loading/error states, common edge cases
|
|
70
|
+
- Tests are part of the deliverable, not a follow-up
|
|
58
71
|
- If a task is marked BLOCKED, message the lead and wait
|
|
59
72
|
- Run the Pre-Commit Gate checklist from CLAUDE.md BEFORE every commit — update all affected docs
|
|
60
73
|
- After completing each task, message the lead with:
|
|
@@ -108,13 +108,27 @@ Determine which E2E specs are affected:
|
|
|
108
108
|
- Changed database schema? → Run specs that depend on that data
|
|
109
109
|
- Not sure what's affected? → Run the full E2E suite
|
|
110
110
|
|
|
111
|
-
### C) Update E2E Tests
|
|
112
|
-
|
|
113
|
-
|
|
111
|
+
### C) Create and Update Playwright E2E Tests (MANDATORY when UI/routes/flows/modes changed)
|
|
112
|
+
|
|
113
|
+
If Playwright is configured (`playwright.config.*` or Playwright in dependencies):
|
|
114
|
+
|
|
115
|
+
**For new features, pages, modes, or flows — CREATE comprehensive specs:**
|
|
116
|
+
- Happy path for every new user flow
|
|
117
|
+
- All feature modes/flags (e.g., `--component` mode gets its own test suite, not just default mode)
|
|
118
|
+
- Form validation: valid input, invalid input, empty fields, boundary values
|
|
119
|
+
- Error states: network failures, API errors, permission denied, timeout
|
|
120
|
+
- Empty states: no data, first-time user, cleared data
|
|
121
|
+
- Loading states: skeleton screens, spinners, progressive loading
|
|
122
|
+
- Edge cases: rapid clicking, double submission, back/forward navigation, browser refresh mid-flow
|
|
123
|
+
- Responsive: test at mobile and desktop breakpoints if layout changes
|
|
124
|
+
|
|
125
|
+
**For changed features — UPDATE existing specs AND add missing coverage:**
|
|
114
126
|
- Changed UI elements (selectors, text, layout) → update locators and assertions
|
|
115
127
|
- 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
128
|
- Removed features → remove or update affected E2E specs
|
|
129
|
+
- Review existing specs for missing edge cases and add them
|
|
130
|
+
|
|
131
|
+
**This is NOT optional.** Every new code path that a user can reach must have a Playwright spec. "We'll add tests later" is never acceptable.
|
|
118
132
|
|
|
119
133
|
### D) Capture Results
|
|
120
134
|
For all test types:
|
|
@@ -236,13 +250,14 @@ If issues found, add to current domain's tasks:
|
|
|
236
250
|
|
|
237
251
|
### During Execute Phase (auto-invoked):
|
|
238
252
|
After each task completes:
|
|
239
|
-
1.
|
|
240
|
-
2.
|
|
241
|
-
3. Run affected
|
|
242
|
-
4.
|
|
243
|
-
5. If
|
|
244
|
-
6. If
|
|
245
|
-
7.
|
|
253
|
+
1. Scan changed files and map to existing tests
|
|
254
|
+
2. **If new code paths have zero test coverage: write tests NOW** — do not defer
|
|
255
|
+
3. Run ALL affected unit/integration tests
|
|
256
|
+
4. Run ALL affected Playwright E2E tests
|
|
257
|
+
5. If failures: fix immediately (up to 2 attempts) before continuing
|
|
258
|
+
6. If E2E specs are missing for new features/modes/flows: **create them NOW**, not later
|
|
259
|
+
7. If E2E specs need updating for changed behavior: update them before continuing
|
|
260
|
+
8. **No task is complete until its tests exist and pass** — do not move to the next task with test gaps
|
|
246
261
|
|
|
247
262
|
### During Verify Phase (auto-invoked):
|
|
248
263
|
Full sync:
|
package/commands/gsd-t-verify.md
CHANGED
|
@@ -19,8 +19,12 @@ Standard dimensions (adjust based on project):
|
|
|
19
19
|
1. **Functional Correctness**: Does it work per requirements?
|
|
20
20
|
2. **Contract Compliance**: Does every domain honor its contracts?
|
|
21
21
|
3. **Code Quality**: Conventions, patterns, error handling, readability
|
|
22
|
-
4. **Test Coverage**:
|
|
23
|
-
|
|
22
|
+
4. **Test Coverage Completeness**: Every new or changed code path MUST have tests. Check:
|
|
23
|
+
- Do all new functions have unit tests (happy path + edge cases + error cases)?
|
|
24
|
+
- Do all new features/modes/flows have Playwright E2E specs?
|
|
25
|
+
- Do all new UI components have interaction tests?
|
|
26
|
+
- **Zero test coverage on new functionality = FAIL** (not WARN, not "nice to have" — FAIL)
|
|
27
|
+
5. **E2E Tests**: Run the FULL Playwright suite — all specs must pass. If new features lack specs, create them before proceeding.
|
|
24
28
|
6. **Security**: Auth flows, input validation, data exposure, dependencies
|
|
25
29
|
7. **Integration Integrity**: Do the seams between domains hold under stress?
|
|
26
30
|
|
|
@@ -35,10 +39,14 @@ Work through each dimension sequentially. For each:
|
|
|
35
39
|
|
|
36
40
|
**Mandatory test execution:**
|
|
37
41
|
1. Run ALL unit/integration tests — every test must pass
|
|
38
|
-
2. Detect
|
|
39
|
-
3.
|
|
40
|
-
4.
|
|
41
|
-
|
|
42
|
+
2. Detect Playwright (check for `playwright.config.*`, Playwright deps in package.json)
|
|
43
|
+
3. Run the FULL Playwright E2E suite — every spec must pass
|
|
44
|
+
4. **Coverage audit**: For every new feature, mode, page, or flow added in this milestone:
|
|
45
|
+
- Confirm Playwright specs exist that specifically test it
|
|
46
|
+
- Confirm specs cover: happy path, error states, edge cases, all modes/flags
|
|
47
|
+
- If specs are missing or incomplete → invoke `gsd-t-test-sync` to create them, then re-run
|
|
48
|
+
- **Missing E2E coverage on new functionality = verification FAIL**
|
|
49
|
+
5. Tests are NOT optional — verification cannot pass without running them and confirming comprehensive coverage
|
|
42
50
|
|
|
43
51
|
### Team Mode (when agent teams are enabled)
|
|
44
52
|
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tekyzinc/gsd-t",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.19.0",
|
|
4
4
|
"description": "GSD-T: Contract-Driven Development for Claude Code — 41 slash commands with backlog management, impact analysis, test sync, and milestone archival",
|
|
5
5
|
"author": "Tekyz, Inc.",
|
|
6
6
|
"license": "MIT",
|