openweb / docs /validation.md
Leon4gr45's picture
Upload folder using huggingface_hub
33962ff verified
|
Raw History Blame Contribute Delete
2.25 kB

Visual Mentor v2 validation

The current qualification is v2-release-readiness.md, with raw evidence under v2-evidence and the UI comparison.

The original main UI was captured before new feature work. Local sample/CPU and mock-provider tests are explicitly distinguished from live Laya and from pending HF, physical camera, NVIDIA, Whisper, VLM, embedding and private-backup gates.

Reproduce backend and browser tests with an isolated data directory. For the extra real frontend/backend sample smoke test, start FastAPI on loopback 8000:

VRAG_DATA=/tmp/mentor-test-data VM_STATE_DIR=/tmp/mentor-test-config \
  python -m uvicorn vrag.api:app --host 127.0.0.1 --port 8000

Then, in a separate shell:

python -m pytest -q
npm --prefix web run lint
npm --prefix web run build
cd web && VM_FULLSTACK=1 CHROMIUM_PATH=/usr/bin/chromium npx playwright test

Playwright starts its own loopback web server on the existing app port 7860. Real age encryption tests require age/age-keygen on PATH (or AGE_BIN selecting age); otherwise those tests are skipped rather than reported as encryption evidence. The recorded run installed age in a temporary tool directory and had no skips.

Neither test suite starts DGX/model services or sends production/camera data. check-laya.py --synthetic is a separate, explicit live-generated-image test. Docker qualification starts only its own ephemeral network-isolated containers, publishes no ports, and cleans up its own volumes/containers. Private Space and backup workflow activation require the runbooks' explicit approvals.

GitHub-native backup refactor

The subsequent backup qualification and unresolved live gates are recorded in github-backup-migration.md. Successful recovery unit and subprocess tests use real age/SQLite/FFmpeg with mocked GitHub transport; they are not a successful live GitHub or private-HF scheduling integration test. Opt-in live drill: AGE_BIN=/path/to/age python tests/live_github_recovery.py. It writes only a unique test namespace and refuses to claim success unless a fresh application recovers all file hashes after destruction of its source/stage.