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 profiles, covered/open-side behavior, Deeper’s three-step decoy/search proxy, deterministic recipes, exhaustive 382-state Gentle and 510-state Deeper solvability, contrast and brand-asset rules, recipe-two completion preservation, state sanitization/migration, captured-zone Dawn boundaries, and export utilities.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 manifest/scope, offline cache ownership, denied-audio operation, same-tab resume, offline closure, quiet tomorrow intent, same-origin requests, and standalone independence.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.