@tekyzinc/gsd-t 2.56.10 → 2.56.12
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.
|
@@ -678,6 +678,14 @@ Rules:
|
|
|
678
678
|
7. **E2E Functional Gaps**: Review ALL Playwright specs. Do they test actual
|
|
679
679
|
behavior (state changes, data loaded, navigation works) or just check
|
|
680
680
|
that elements exist? Flag and rewrite any shallow/layout tests.
|
|
681
|
+
8. **Design Fidelity** (if .gsd-t/contracts/design-contract.md exists):
|
|
682
|
+
Open every implemented screen in a real browser. Screenshot at mobile
|
|
683
|
+
(375px), tablet (768px), desktop (1280px). Get Figma reference via
|
|
684
|
+
Figma MCP get_screenshot (or design contract images). Compare every
|
|
685
|
+
element: chart types, colors, typography, spacing, layout, component
|
|
686
|
+
states, data visualization style. Any visual deviation from the design
|
|
687
|
+
is a CRITICAL bug. 'Build shows vertical bars but design shows horizontal
|
|
688
|
+
stacked bars' is a real bug, not a style opinion.
|
|
681
689
|
|
|
682
690
|
## Exploratory Testing (if Playwright MCP available)
|
|
683
691
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tekyzinc/gsd-t",
|
|
3
|
-
"version": "2.56.
|
|
3
|
+
"version": "2.56.12",
|
|
4
4
|
"description": "GSD-T: Contract-Driven Development for Claude Code — 51 slash commands with headless CI/CD mode, graph-powered code analysis, real-time agent dashboard, execution intelligence, task telemetry, doc-ripple enforcement, backlog management, impact analysis, test sync, milestone archival, and PRD generation",
|
|
5
5
|
"author": "Tekyz, Inc.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -322,7 +322,7 @@ After QA passes, every code-producing command spawns a **Red Team agent** — an
|
|
|
322
322
|
**Key Red Team rules:**
|
|
323
323
|
- **Inverted incentive**: More bugs found = more value. Zero bugs requires exhaustive proof of thoroughness.
|
|
324
324
|
- **False positive penalty**: Reporting non-bugs destroys credibility. Every bug must be reproduced with proof.
|
|
325
|
-
- **Exhaustive categories**: Contract violations, boundary inputs, state transitions, error paths, missing flows, regression, E2E functional gaps — all must be attempted.
|
|
325
|
+
- **Exhaustive categories**: Contract violations, boundary inputs, state transitions, error paths, missing flows, regression, E2E functional gaps, design fidelity (when design contract exists: render in browser, screenshot, compare pixel-by-pixel against Figma) — all must be attempted.
|
|
326
326
|
- **VERDICT**: `FAIL` (bugs found — blocks completion) or `GRUDGING PASS` (exhaustive search, nothing found).
|
|
327
327
|
- **Report**: Written to `.gsd-t/red-team-report.md`; bugs also appended to `.gsd-t/qa-issues.md`.
|
|
328
328
|
|
|
@@ -259,7 +259,46 @@ MANDATORY:
|
|
|
259
259
|
|
|
260
260
|
---
|
|
261
261
|
|
|
262
|
-
## 10.
|
|
262
|
+
## 10. Naming Conventions (Classes, IDs, Data Attributes)
|
|
263
|
+
|
|
264
|
+
```
|
|
265
|
+
MANDATORY:
|
|
266
|
+
├── CSS class naming — use ONE consistent convention per project:
|
|
267
|
+
│ BEM: .block__element--modifier (e.g., .card__title--highlighted)
|
|
268
|
+
│ Tailwind: utility classes only (no custom class names needed)
|
|
269
|
+
│ CSS Modules: camelCase (e.g., styles.cardTitle)
|
|
270
|
+
│ Scoped CSS (Vue/Svelte): semantic kebab-case (e.g., .card-title)
|
|
271
|
+
│ NEVER mix conventions in the same project
|
|
272
|
+
├── IDs — use sparingly, only when required:
|
|
273
|
+
│ Form label associations: <label for="email-input">
|
|
274
|
+
│ Anchor targets: <section id="pricing">
|
|
275
|
+
│ ARIA references: aria-labelledby, aria-describedby
|
|
276
|
+
│ NEVER use IDs for styling — classes only
|
|
277
|
+
│ NEVER use auto-generated or meaningless IDs (id="div1", id="el-47")
|
|
278
|
+
├── Data attributes — for JavaScript hooks and testing:
|
|
279
|
+
│ data-testid for test selectors (e.g., data-testid="submit-button")
|
|
280
|
+
│ data-* for component state/config (e.g., data-active="true")
|
|
281
|
+
│ NEVER use classes or IDs for JavaScript selection — use data attributes
|
|
282
|
+
├── Component naming — match the design system:
|
|
283
|
+
│ If Figma layers are named "Hero/CTA Button" → component is CTAButton
|
|
284
|
+
│ If design system has "Card > Title" → class is .card__title or .card-title
|
|
285
|
+
│ Align code names with design names for traceability
|
|
286
|
+
├── Semantic naming — describe purpose, not appearance:
|
|
287
|
+
│ BAD: .blue-text, .big-box, .left-panel, .mt-20
|
|
288
|
+
│ GOOD: .primary-action, .feature-card, .sidebar, .section-spacing
|
|
289
|
+
│ Exception: utility classes in Tailwind (appearance-based by design)
|
|
290
|
+
└── File naming — match component names:
|
|
291
|
+
Component: FeatureCard.vue → styles: feature-card.css or scoped
|
|
292
|
+
Component: HeroSection.tsx → test: HeroSection.test.tsx
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
**BAD** — `<div class="div1 blue-thing" id="x47" onclick="...">`
|
|
296
|
+
|
|
297
|
+
**GOOD** — `<section class="feature-card" data-testid="feature-card-pricing">`
|
|
298
|
+
|
|
299
|
+
---
|
|
300
|
+
|
|
301
|
+
## 11. CSS Precision Rules
|
|
263
302
|
|
|
264
303
|
```
|
|
265
304
|
MANDATORY:
|
|
@@ -290,7 +329,7 @@ MANDATORY:
|
|
|
290
329
|
|
|
291
330
|
---
|
|
292
331
|
|
|
293
|
-
##
|
|
332
|
+
## 12. Typography Rendering
|
|
294
333
|
|
|
295
334
|
```
|
|
296
335
|
MANDATORY:
|
|
@@ -323,7 +362,7 @@ MANDATORY:
|
|
|
323
362
|
|
|
324
363
|
---
|
|
325
364
|
|
|
326
|
-
##
|
|
365
|
+
## 13. Color Accuracy
|
|
327
366
|
|
|
328
367
|
```
|
|
329
368
|
MANDATORY:
|
|
@@ -357,7 +396,7 @@ MANDATORY:
|
|
|
357
396
|
|
|
358
397
|
---
|
|
359
398
|
|
|
360
|
-
##
|
|
399
|
+
## 14. Interactive States
|
|
361
400
|
|
|
362
401
|
```
|
|
363
402
|
MANDATORY:
|
|
@@ -394,7 +433,7 @@ MANDATORY:
|
|
|
394
433
|
|
|
395
434
|
---
|
|
396
435
|
|
|
397
|
-
##
|
|
436
|
+
## 15. Visual Verification Loop
|
|
398
437
|
|
|
399
438
|
```
|
|
400
439
|
MANDATORY:
|
|
@@ -454,7 +493,7 @@ MANDATORY:
|
|
|
454
493
|
|
|
455
494
|
---
|
|
456
495
|
|
|
457
|
-
##
|
|
496
|
+
## 16. Anti-Patterns
|
|
458
497
|
|
|
459
498
|
```
|
|
460
499
|
NEVER DO THESE:
|
|
@@ -474,7 +513,7 @@ NEVER DO THESE:
|
|
|
474
513
|
|
|
475
514
|
---
|
|
476
515
|
|
|
477
|
-
##
|
|
516
|
+
## 17. Design-to-Code Verification Checklist
|
|
478
517
|
|
|
479
518
|
Before marking any design implementation task as complete:
|
|
480
519
|
|
|
@@ -486,6 +525,7 @@ Before marking any design implementation task as complete:
|
|
|
486
525
|
- [ ] Every CSS value traces to a design contract entry
|
|
487
526
|
- [ ] CSS custom properties (or Tailwind config) define all design tokens
|
|
488
527
|
- [ ] Semantic HTML used (no div-soup, proper heading hierarchy)
|
|
528
|
+
- [ ] Naming conventions consistent: classes (BEM/Tailwind/Modules/scoped), IDs (minimal, semantic), data-testid for test hooks
|
|
489
529
|
- [ ] All interactive states implemented (hover, focus, active, disabled)
|
|
490
530
|
- [ ] Responsive behavior implemented for all target breakpoints
|
|
491
531
|
- [ ] Visual verification loop completed at mobile, tablet, and desktop widths
|