V1 Web PWA · Walk result

Journey result: Journey E2E quality audit — Wave 6

A dated evidence record for V1 Web PWA: observed behavior, current source reconciliation, automation evidence, and explicit proof limits.

verdict: partial· 2026-06-05
8sections7 minread1table

On this page
  • Walked: 2026-06-05 as an eight-auditor review of the then-current 52 journeys. It classified each claim as covered, wireable now, build-feasible, or product-blocked, then shipped the test-only and documentation repair set.
  • Reconciled: 2026-07-18 against the current 64-journey registry and the surviving real-HTTP, PWA, Library, Tara, multi-device, and Veritas/Nisaba specs. This was a source reconciliation, not a fresh full-suite runtime walk.
  • Verdict: partial — Wave 6 correctly overturned stale “route absent” claims, repaired a false-green test aimed at dead UI, removed silent guards, and shipped 11 real-HTTP BFF specs plus two client deepenings. Its five-grade downgrade table is historical: later coverage re-earned deep for four journeys, while offline first use remains partial.
  • Lineage: Wave 5 is the predecessor; current coverage supersedes Wave 6 as the inventory and grade authority.

Result at a glance#

Wave 6 lane Dated finding or delivery Current source disposition Authority limit
Grade honesty First-time, install, offline, update, and multi-device were downgraded from deep to partial Superseded snapshot: current coverage is deep for first-time, install, update, and multi-device; offline remains partial Later evidence re-earned grades; it does not retroactively change the Wave 6 run
“Route absent” claims Psyche memory, Sophia answers, Metis ingest, Nisaba notebooks, entitlements, persona rehearsal, and Veritas briefing had registered paths Corrected; the shipped BFF specs remain and drive persistence, validation, auth/scope, abstention, or read-back as appropriate A route/API contract is not automatically a complete customer journey
Real-HTTP expansion 11 focused BFF specs shipped and were live-verified in the wave All 11 named files remain in the current E2E tree Source presence here; this docs audit did not rerun the app/BFF stack
Dead-component false green Veritas/Nisaba targeted an unmounted SourceDirectoryOverlay Closed: the current spec targets the mounted Source Directory, opens a profile, follows the lineage action, and reaches Nisaba One bridge affordance, not full graph authority
PWA silent passes Boolean type checks and optional meta/skip-link loops could pass without their targets Closed: worker registration count, required meta tags, and nonzero skip-link count are unconditional Browser harness, not OS installation authority
Library escape hatch A zero-card branch returned before testing resume navigation Closed: the real BFF seed must produce at least one card before the route assertion Seeded continuity lane, not every saved-item shape
Client deepenings Tara Begin-sit telemetry and multi-device failed-write honesty were added Current suites retain their respective telemetry/write-failure contracts Named events and client state, not downstream analytics or cross-device delivery

Evidence map#

Wave 6's useful distinction was between an absent capability and an untested registered capability. Only the latter could move directly into a real-HTTP contract test.

flowchart LR A[Journey or doc claim] --> B{Route or mounted surface exists?} B -- yes --> C[Wire real HTTP or live DOM] C --> D[Assert write, read-back,<br/>validation, and auth] D --> E[Update cross-links and grade] B -- no --> F[Build-feasible or<br/>product-blocked backlog] E --> G[Later evidence additions] F --> G G --> H[Current 64-journey registry]

Proven observations#

The real-HTTP delivery still exists#

  • Arete habit creation and check-in exercise the real store, including read-back, same-day amendment, validation, ownership, auth, and no-store mutation responses.
  • Metis ingest distinguishes processed text from URL/PDF references that remain awaiting_source_content; it does not fabricate extraction. Course proposal validation is covered separately in the same spec.
  • Sophia's real in-process Nisaba corpus produces cited grounded/cautious envelopes and an honest abstention branch. Claims cannot point at missing citations or fall through as model-only.
  • Psyche/Metis tutor memory folds turns into learner-scoped mastery and recovery state, then reads it back with auth, validation, isolation, and ordering checks.
  • Nisaba notebook create, rename, capture, idempotency, revision, ownership, scope, and invalid-reference behavior are driven over the registered routes.
  • Entitlements, shared-library resolution, tenant invite role, Telegram binding, persona rehearsal/tone calibration, and admin studio auth policy complete the 11-file Wave 6 delivery. Their current filenames remain entitlements-aaa-bff, library-shared-resolution, tenant-invite-role-bff, telegram-binding-bff, persona-rehearsal-bff, and admin-auth-policy-bff.

The false-green paths now fail when evidence disappears#

  • veritas-nisaba-bridge.spec.ts documents why the older overlay was dead code, opens the live VeritasSourceDirectory profile, requires its Nisaba lineage URL, follows it, and asserts the mounted Nisaba surface.
  • pwa-smoke.spec.ts requires at least one service-worker registration, exact required mobile meta, and a nonzero skip-link set before checking every link. The old “boolean type” and zero-iteration paths are gone.
  • library-save-collection-share.spec.ts seeds through the real saved-items BFF, requires at least one resume card, clicks the router-driven control, and pins the encoded resume path.

The old grade table records a moment, not a ceiling#

  • First-time anonymous visitor later gained SMTP/Mailpit verification, re-entry, legal, metadata, and onboarding continuity evidence.
  • Install/update later gained manifest and registration failure states, real cache purge, standalone relaunch, queued-write/update coordination, and more.
  • Multi-device later gained BFF-backed notebook anchors, eviction, failure honesty, and deep-link restoration. Those additions explain the current deep grade.
  • Offline first use remains partial because named offline routes and writes do not create universal replay, conflict, quota, and dynamic-content parity.

Boundaries and gaps#

  • A registered route is not a complete journey. Pure-request specs prove contracts below UI steps; they do not invent a customer affordance that is absent or certify a handoff the browser never performs.
  • Real HTTP is not external-provider authority. These tests reach the actual development BFF and stores, but deterministic corpora, dev bearers, and in-process services stop short of production identity, providers, and data.
  • A read-back is only as durable as its store. Each spec must be interpreted with the backing implementation; in-memory/dev persistence is not a database durability or disaster-recovery claim.
  • A nonzero control count is not accessibility completeness. It closes the zero-iteration false green. Full keyboard, name/role/value, contrast, and assistive-technology coverage still belong to their own gates.
  • Current deep is not universal coverage. The current grades summarize named evidence and explicit boundaries, not every failure, browser, device, or cross-service outcome.
  • Wave 6's build backlog is historical. Some items may have moved; current journey docs and source must be checked before treating any item as open.
  • Source reconciliation is not a rerun. This documentation audit verified current files and assertions but did not execute the 11 BFF specs.
  • The 52-journey scope is historical. Current authority is the 64-journey registry.

Re-run evidence#

The Wave 6 real-HTTP delivery can be rerun serially against the expected BFF:

bash
PW_BROWSER_CHANNEL=chrome pnpm exec playwright test \
  -c apps/oshun/web/playwright.config.ts \
  apps/oshun/web/e2e/arete-habits-bff.spec.ts \
  apps/oshun/web/e2e/metis-ingest-bff.spec.ts \
  apps/oshun/web/e2e/sophia-answer-bff.spec.ts \
  apps/oshun/web/e2e/entitlements-aaa-bff.spec.ts \
  apps/oshun/web/e2e/psyche-tutor-memory-bff.spec.ts \
  apps/oshun/web/e2e/nisaba-notebook-bff.spec.ts \
  apps/oshun/web/e2e/library-shared-resolution.spec.ts \
  apps/oshun/web/e2e/tenant-invite-role-bff.spec.ts \
  apps/oshun/web/e2e/telegram-binding-bff.spec.ts \
  apps/oshun/web/e2e/persona-rehearsal-bff.spec.ts \
  apps/oshun/web/e2e/admin-auth-policy-bff.spec.ts \
  --workers=1

Run the mounted-UI hygiene and client deepenings separately so a failure remains attributable. A green BFF batch proves these 11 contracts; it does not certify the complete browser journeys or reproduce every later grade addition.

Source trail#

Cross-references#

Open questions#

  • Which pure-BFF contracts still lack a browser action that proves a customer or operator can reach them without a fabricated surface?
  • Which development stores need a disposable durable-backend variant before their read-backs can support stronger persistence claims?
  • How should grade history record the exact later specs that re-earned depth, rather than silently replacing the earlier downgrade?
  • Which Wave 6 build-feasible items remain open after current source review, and who owns the product decision for each inert control?
  • What one-worker, artifact-retaining run should become the next current 64-journey baseline?