@tekyzinc/gsd-t 2.18.2 → 2.19.1

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 CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  All notable changes to GSD-T are documented here. Updated with each release.
4
4
 
5
+ ## [2.19.1] - 2026-02-16
6
+
7
+ ### Changed
8
+ - **Quick**: Now runs the FULL test suite (not just affected tests), requires comprehensive test creation for new/changed code paths including Playwright E2E, and verifies against requirements and contracts. "Quick doesn't mean skip testing."
9
+
10
+ ## [2.19.0] - 2026-02-16
11
+
12
+ ### Changed
13
+ - **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
14
+ - **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
15
+ - **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
16
+
5
17
  ## [2.18.2] - 2026-02-16
6
18
 
7
19
  ### 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
- 5. Verify acceptance criteria are met
34
- 6. Run affected unit tests fix any failures before proceeding
35
- 7. If E2E framework exists and task changed UI/routes/flows: run affected E2E specs, update specs if needed
36
- 8. Run the Pre-Commit Gate checklist from CLAUDE.md update ALL affected docs BEFORE committing
37
- 9. Commit with a descriptive message: `[{domain}] Task {N}: {description}`
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:
@@ -52,14 +52,23 @@ If `.gsd-t/progress.md` exists, assess what documentation was affected and updat
52
52
 
53
53
  ### Skip what's not affected — most quick tasks will only touch 1-2 of these.
54
54
 
55
- ## Step 5: Test Verification
56
-
57
- Before committing, verify the change works:
58
-
59
- 1. **Update tests**: If the change adds or modifies behavior, update or add tests to cover it
60
- 2. **Run affected tests**: Execute all tests related to the changed files and domain
61
- 3. **Verify passing**: All tests must pass. If any fail, fix before proceeding (up to 2 attempts)
62
- 4. **Run E2E tests**: If the change touched UI, routes, or user flows and an E2E framework exists, run affected specs
63
- 5. **No test framework?**: At minimum, manually verify the change works as expected and document how you verified it in the commit message
55
+ ## Step 5: Test & Verify (MANDATORY)
56
+
57
+ Quick does not mean skip testing. Before committing:
58
+
59
+ 1. **Write/update tests for every new or changed code path**:
60
+ - Unit tests: happy path + common edge cases + error cases
61
+ - Playwright E2E specs (if UI/routes/flows/modes changed): create new specs for new functionality, update existing specs for changed behavior
62
+ - Cover all modes/flags affected by this change
63
+ - "No feature code without test code" applies to quick tasks too
64
+ 2. **Run the FULL test suite** — not just affected tests:
65
+ - All unit/integration tests
66
+ - Full Playwright E2E suite (if configured)
67
+ - Fix any failures before proceeding (up to 2 attempts)
68
+ 3. **Verify against requirements**:
69
+ - Does the change satisfy its intended requirement?
70
+ - Did the change break any existing functionality? (the full test run catches this)
71
+ - If a contract exists for the interface touched, does the code still match?
72
+ 4. **No test framework?**: Set one up, or at minimum manually verify and document how in the commit message
64
73
 
65
74
  $ARGUMENTS
@@ -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
- If code changes affect user flows, update E2E test specs:
113
- - New pages/routes create new E2E specs
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. Quick scan of changed files
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
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:
@@ -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**: Are critical paths tested? Are edge cases covered?
23
- 5. **E2E Tests**: Run the full E2E suite (Playwright, Cypress, etc.) all specs must pass
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 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
+ 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.18.2",
3
+ "version": "2.19.1",
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",