- 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, andadmin-auth-policy-bff.
The false-green paths now fail when evidence disappears#
veritas-nisaba-bridge.spec.tsdocuments why the older overlay was dead code, opens the liveVeritasSourceDirectoryprofile, requires its Nisaba lineage URL, follows it, and asserts the mounted Nisaba surface.pwa-smoke.spec.tsrequires 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.tsseeds 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#
- Current journey coverage registry
- Wave 5 predecessor
- Arete habits BFF spec
- Metis ingest BFF spec
- Sophia answer BFF spec
- Entitlements BFF spec
- Psyche tutor-memory BFF spec
- Nisaba notebook BFF spec
- Library shared-resolution spec
- Tenant invite-role BFF spec
- Telegram binding BFF spec
- Persona rehearsal BFF spec
- Admin auth-policy BFF spec
- Live Veritas/Nisaba bridge spec
- PWA smoke spec
- Library resume spec
Cross-references#
- Base journey-E2E audit
- Install-as-PWA result
- First-time visitor result
- Offline first-use journey
- Multi-device handoff journey
- Sophia grounded-answer journey
- Nisaba notebook journey
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?