docs(14): add VALIDATION.md — phase is Nyquist-compliant
14 automated tests covering AUTH-UI-01/02/03. 3 manual-only items (animated CSS, Roboto font render, HTMX browser swap) verified at human checkpoint on 2026-05-16. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
dcbc05b642
commit
8a34e5c79a
1 changed files with 83 additions and 0 deletions
83
.planning/phases/14-auth-pages/14-VALIDATION.md
Normal file
83
.planning/phases/14-auth-pages/14-VALIDATION.md
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
---
|
||||
phase: 14
|
||||
slug: auth-pages
|
||||
status: compliant
|
||||
nyquist_compliant: true
|
||||
wave_0_complete: true
|
||||
created: 2026-05-16
|
||||
---
|
||||
|
||||
# Phase 14 — Validation Strategy
|
||||
|
||||
---
|
||||
|
||||
## Test Infrastructure
|
||||
|
||||
| Property | Value |
|
||||
|----------|-------|
|
||||
| **Framework** | Go `testing` (stdlib) |
|
||||
| **Config file** | `backend/go.mod` |
|
||||
| **Quick run command** | `cd backend && go test ./templates/... -count=1` |
|
||||
| **Full suite command** | `cd backend && go test ./... -count=1` |
|
||||
| **Estimated runtime** | ~5 seconds |
|
||||
|
||||
---
|
||||
|
||||
## Sampling Rate
|
||||
|
||||
- **After every task commit:** `cd backend && go test ./templates/... -count=1`
|
||||
- **After every plan wave:** `cd backend && go test ./... -count=1`
|
||||
- **Before `/gsd-verify-work`:** Full suite must be green
|
||||
|
||||
---
|
||||
|
||||
## Per-Task Verification Map
|
||||
|
||||
| Task ID | Plan | Wave | Requirement | Test Type | Automated Command | File | Status |
|
||||
|---------|------|------|-------------|-----------|-------------------|------|--------|
|
||||
| 14-01-01 | 01 | 1 | AUTH-UI-01/02/03 | unit | `cd backend && go test ./templates/... -count=1 -run TestLoginPage_RendersAuthLayoutStructure` | `backend/templates/auth_login_test.go` | ✅ green |
|
||||
| 14-01-02 | 01 | 1 | AUTH-UI-01 | unit | `cd backend && go test ./templates/... -count=1 -run TestLoginPage_HTMXFormAttributes` | `backend/templates/auth_login_test.go` | ✅ green |
|
||||
| 14-01-03 | 01 | 1 | AUTH-UI-01 | unit | `cd backend && go test ./templates/... -count=1 -run TestLoginPage_DoesNotEchoPassword` | `backend/templates/auth_login_test.go` | ✅ green |
|
||||
| 14-01-04 | 01 | 1 | AUTH-UI-03 | unit | `cd backend && go test ./templates/... -count=1 -run TestAnimatedBackground_Exactly35Elements` | `backend/templates/auth_components_test.go` | ✅ green |
|
||||
| 14-01-05 | 01 | 1 | AUTH-UI-03 | unit | `cd backend && go test ./templates/... -count=1 -run TestGoogleButton_ConfiguredRendersLink` | `backend/templates/auth_components_test.go` | ✅ green |
|
||||
| 14-01-06 | 01 | 1 | AUTH-UI-03 | unit | `cd backend && go test ./templates/... -count=1 -run TestGoogleButton_UnconfiguredRendersDisabledButton` | `backend/templates/auth_components_test.go` | ✅ green |
|
||||
| 14-01-07 | 01 | 1 | AUTH-UI-03 | unit | `cd backend && go test ./templates/... -count=1 -run TestAuthDivider_RendersOrPill` | `backend/templates/auth_components_test.go` | ✅ green |
|
||||
| 14-02-01 | 02 | 2 | AUTH-UI-02 | unit | `cd backend && go test ./templates/... -count=1 -run TestSignupPage_RendersForm` | `backend/templates/auth_signup_test.go` | ✅ green |
|
||||
| 14-02-02 | 02 | 2 | AUTH-UI-02 | unit | `cd backend && go test ./templates/... -count=1 -run TestSignupFormFragment_RendersErrors` | `backend/templates/auth_signup_test.go` | ✅ green |
|
||||
| 14-02-03 | 02 | 2 | AUTH-UI-02 | unit | `cd backend && go test ./templates/... -count=1 -run TestSignupPage_DoesNotEchoPassword` | `backend/templates/auth_signup_test.go` | ✅ green |
|
||||
| 14-02-04 | 02 | 2 | AUTH-UI-03 | integration | `cd backend && go test ./internal/web/... -count=1 -run TestLoginProviderButtonsConfigured` | `backend/internal/web/handlers_auth_test.go` | ✅ green |
|
||||
| 14-02-05 | 02 | 2 | AUTH-UI-03 | integration | `cd backend && go test ./internal/web/... -count=1 -run TestLoginProviderButtonsDisabledWhenConfigMissing` | `backend/internal/web/handlers_auth_test.go` | ✅ green |
|
||||
| 14-02-06 | 02 | 2 | AUTH-UI-03 | integration | `cd backend && go test ./internal/web/... -count=1 -run TestSignupProviderButtonsConfigured` | `backend/internal/web/handlers_auth_test.go` | ✅ green |
|
||||
| 14-02-07 | 02 | 2 | AUTH-UI-03 | integration | `cd backend && go test ./internal/web/... -count=1 -run TestSignupProviderButtonsDisabledWhenConfigMissing` | `backend/internal/web/handlers_auth_test.go` | ✅ green |
|
||||
|
||||
*Status: ⬜ pending · ✅ green · ❌ red · ⚠️ flaky*
|
||||
|
||||
---
|
||||
|
||||
## Manual-Only Verifications
|
||||
|
||||
| Behavior | Requirement | Why Manual | Test Instructions |
|
||||
|----------|-------------|------------|-------------------|
|
||||
| Animated background renders with 35 floating logo icons visible in browser | AUTH-UI-01/02 | CSS animation + visual rendering cannot be asserted in Go template tests | `cd backend && just run` → visit http://localhost:8080/login → confirm floating logos animate across gradient background |
|
||||
| Google button renders with Roboto Medium font and correct pill shape | AUTH-UI-03 | Font loading (Google Fonts CDN) cannot be tested in-process | Visit http://localhost:8080/login → inspect gsi-material-button renders with Roboto font and 20px border-radius pill shape |
|
||||
| HTMX swap on login/signup form submission (inline error, no full reload) | AUTH-UI-01/02 | Requires browser + HTMX JS execution | Submit invalid credentials on /login → error appears inline within card without full page reload |
|
||||
|
||||
---
|
||||
|
||||
## Sign-Off
|
||||
|
||||
- **Automated:** 14/14 tests green (`cd backend && go test ./... -count=1`)
|
||||
- **Manual:** 3 items verified at human-verify checkpoint (2026-05-16, approved)
|
||||
- **Nyquist compliant:** Yes — all requirements have automated coverage; manual items are visual/browser-only behaviors that cannot be machine-tested
|
||||
|
||||
---
|
||||
|
||||
## Validation Audit 2026-05-16
|
||||
|
||||
| Metric | Count |
|
||||
|--------|-------|
|
||||
| Requirements audited | 3 (AUTH-UI-01, AUTH-UI-02, AUTH-UI-03) |
|
||||
| Gaps found | 3 |
|
||||
| Resolved (automated) | 3 |
|
||||
| Escalated to manual | 0 |
|
||||
| Final status | COMPLIANT |
|
||||
Loading…
Reference in a new issue