AIJUJO 3.2 - DEVELOPMENT VALIDATION (2026-10-04 UTC)

Environment: Linux, Node.js 24, Python/Pillow, SQLite, local Cloudflare
Worker/D1/R2 bindings, and Mono C# compiler for source compilation.

Offline tests cover recurrence, sibling classes, time zones/DST, session
changes, WhatsApp text formats, safe links, backup validation, attendance,
payments, calendar/CSV exports, and document-stub UI events.

Online tests cover family isolation and teacher invitation scopes,
idempotency/concurrent edits/revocation, category calendars, navigation,
browser recorder chunk/file lifecycle, typed Excel workbook round trips,
recording/cloud/voice links and child/category scopes, and direct meeting
navigation with a separate native recording trigger.

Real local HTTP checks against the built Worker/D1/R2 cover generated
regular email/password registration and login/logout, password changes
with session revocation, disabled public profile generation, empty-family
onboarding/student creation, two parent contacts,
separate student names/grades/schools, home and billing addresses, required
field validation, account contact editing, all five registration roles,
isolated accounts, scoped teacher/student workspaces, recorded local paths,
recording device scopes/revocation, Excel source data, private voice audio
bytes, child manifests/mobile installation, and folder backups.
Private sample provisioning tests verify an empty calendar, idempotent
setup, preservation of added students, and validation of fixed sample setup.
Local billing-service tests verify configuration/student/test-mode gates,
hosted setup without charges, account ownership, masked card metadata, and
provider card detachment. The HTTP checks cover unconnected billing and
rejection of raw card fields. Stripe transport is mocked; no real provider
credentials or payment cards are used in these development tests.
Voice fixture: synthetic one-second tone. Authentication headers/users are
synthetic local fixtures, never production credentials.

JavaScript syntax checks, TypeScript checking, production Worker build,
ZIP integrity/expected-file checks, and native C# compilation are included
in the development verification.

VERIFICATION LIMITS
- Windows installation/uninstall, browser protocol policies, actual screen
  and system/microphone capture, MP4 playback, and Drive/OneDrive sync were
  not run on Windows. Run Save and test 10 seconds on EACH Windows PC.
- UI checks use a document stub; media checks use fake browser media APIs.
  A permitted rendered-browser automation surface was unavailable.
- Join is an ordinary meeting URL so a missing recorder cannot block it.
  Automatic recording starts through the installed Windows companion.
  It observes the Join click and scheduled end, not meeting admission or
  an external provider's real end. It captures the entire primary monitor.
- Email OTP is not connected. Users choose their own passwords and new
  registrations are regular accounts. The owner has one separate private
  sample profile. Existing account records remain compatible. Secure hosted card setup is
  implemented but awaits the site owner's Stripe sandbox secret key. Real
  Stripe redirects/card setup/removal have not been tested. No app fees,
  subscriptions, or payment charges are implemented.
- Direct WhatsApp sync, automatic provider meeting creation, live external
  calendar sync, and direct GitHub/Google Drive APIs are not connected.
- Online calendar/voice storage enables sharing. The chosen local/cloud
  synced folder holds video files and user-controlled backup copies.
- aijujo.com and www.aijujo.com require the owner's DNS configuration and
  HTTPS certificate validation. The Windows recorder trusts both origins.

Offline: node --test Source/tests/*.test.js
Online (site checkout): node --test tests/*.test.mjs
Built Worker (site checkout): node tests/http-smoke.mjs
