Testing
Nindova distinguishes three evidence levels:
- Verified — directly observed on a rendered or release-facing surface.
- Source-proven — supported by code or deterministic tests but not observed on every target device.
- Untested risk — plausible behavior that still lacks the required human/device evidence.
test:unitproves motif and layer counts for both Night profiles, deterministic recipes, exhaustive 382-state Gentle and 510-state Deeper solvability, contrast and brand rules, state migration, Dawn boundaries, plus the 24-point/16-mill Navakankari fixture, exact 23-point Aadu graph, and Pallanguzhi traversal. Architecture checks keep navigation, Salon lifecycle, Sector Sprint protocol, and browser infrastructure out of their former shallow callers; a direct navigation test covers cancel, retry, confirmed exit, History destination, and restored scroll.test:houseenters all five category doors and completes every chapter, study, or Act of all eight Salon games through production controls. It completes the narrated Sector Sprint journey; the separate exploration suite plays the action courses. It also checks visible classic-source disclosures, 44px board choices, v1→v2 Gallery recovery, Sector Sprint boundaries, compact active storage, phone/desktop rendering, keyboard/focus and nonvisual Stack state, cancel→retry→leave scroll continuity, Escape focus restoration for both destructive dialogs, adult-boundary behavior, result replacement, corrupt recovery, Gallery clearing, responsive layouts, same-origin requests, direct Night isolation, and cold offline navigation.test:runner-feelplays the Chandigarh action courses through real movement and jumps, reaches home, checks idle/release/cancellation/blur, early home and the foreground cap, narrated parity, phone layouts and 120 frame intervals under 4× CPU throttling. Its historic command name remains for compatibility.- Assessment-readiness unit coverage proves unsupported evidence leaves gates unmet, entertainment results are ineligible, and even a complete evidence fixture cannot authorize research collection or public cognitive output.
test:publiccovers the landing page and visual-identity docs at 320, 375, 414, 768, and 1440px, real image loading, 44px calls to action, 200% zoom, reduced motion, and horizontal overflow.test:arcremoves all 18 pairs throughwindow.__ct, assertsintake → play → settling → end, immutable copy, local completion, screenshots, and zero browser errors.test:portraitcovers 320, 375, 414, 768, and 1440px surfaces, 44px targets, semantic labels, keyboard pairing, 200% zoom, reduced motion, and horizontal overflow.test:layeredproves real visual overlap and z-order, the structural Gentle/Deeper distinction, Deeper’s one opening pair, covered/side-blocked semantics, synchronous pair removal, the paired bloom, qualitative path reflection, optional Image Drift, reduced-motion opacity, Rest, and deliberate same-night return.test:self-closingproves help does not play, reviewer and production caps remain distinct, and no-input/partial/selected-tile paths converge on Rest by the global deadline.test:nightcovers corrupt recovery, old active-record cleanup, unknown-profile rejection, “Not now” return, Gentle and Deeper reload resume, same-night board identity, v3 completion, and replay idempotence.test:dawnserves the composed build and verifies morning boundaries, the rendered kitchen composition, local PNG download, share cancellation, loop fallback, and a real browser loop.test:pwaverifies base-path landing routes; House worker scope, cache migration, source-only assessment exclusion, HTTP-cache-cleared cold offline entry, and same-origin requests; plus Night manifest/scope, offline cache ownership, denied-audio operation, same-tab resume, offline closure, quiet tomorrow intent, and standalone independence. The harness observes the real static product and does not fulfill or mock network routes.test:wall-clockleaves a production Session untouched through its twelve-minute automatic settle and the absolute fifteen-minute ceiling.
Release commands
Section titled “Release commands”npm run checknpm testnpm run test:wall-clockInterface changes also require visual inspection at phone and desktop widths. Automation cannot close the current real-device screen-reader or Punjabi cultural-review limitations.
All twelve browser journey modules share tests/browser/evidence-harness.mjs for preview, Chromium context, capability adapters, failure/request capture, and fail-clean teardown that attempts every owned resource. Journey code remains responsible for user-visible behavior and assertions; the harness is not product authority.