From 3a287997fab2fcd9b207d692d4af1b334801bbfb Mon Sep 17 00:00:00 2001
From: BigSimmo <87357024+BigSimmo@users.noreply.github.com>
Date: Thu, 15 Oct 2026 00:08:30 +0800
Subject: [PATCH 01/68] feat(ingestion): preserve managed reference pipeline
and RAG handover
Capture the scoped ingestion and Answer implementation with portable test
candidates and a sanitised plan, progress and verification record. Retain
failed and unrun evidence; no new readiness checks or bulk ingestion.
---
docs/README.md | 1163 +--
.../complete-record.md | 177 +
.../ingestion-evidence-index.json | 581 ++
.../rag-evidence-inventory.json | 1137 +++
.../source-inventory.json | 812 ++
scripts/build-worker.mjs | 7 +
src/app/admin/pilot/page.tsx | 20 +
src/app/admin/pilot/pilot-client.tsx | 169 +
src/app/api/answer/route.ts | 25 +-
src/app/api/answer/stream/route.ts | 34 +-
src/app/api/upload/route.ts | 491 +-
.../clinical-dashboard/answer-copy-payload.ts | 30 +
.../answer-result-surface.tsx | 56 +-
.../admin-reference-preparation-receipt.ts | 149 +
src/lib/admin-text-source-section-layout.ts | 9 +
src/lib/answer-pilot-budget.js | 171 +
src/lib/answer-pilot-diagnostic.js | 543 ++
src/lib/answer-pilot-ticket.js | 178 +
src/lib/answer-verification.ts | 9 +
src/lib/answer-wire-budget-guard.js | 373 +
src/lib/deep-memory-preparation.ts | 469 ++
src/lib/deep-memory.ts | 308 +
src/lib/document-enrichment.ts | 321 +
src/lib/document-ingress-safety.ts | 1 +
src/lib/extractors/document.ts | 65 +-
src/lib/extractors/docx-source-provenance.ts | 420 +
src/lib/extractors/pdf-source-provenance.ts | 161 +
src/lib/extractors/text-source-provenance.ts | 247 +
src/lib/extractors/xlsx-extraction-budget.ts | 31 +-
src/lib/extractors/xlsx-original-zip.ts | 418 +
src/lib/extractors/xlsx-source-preflight.ts | 1214 +++
src/lib/extractors/xlsx-source-provenance.ts | 1142 +++
src/lib/ingestion-generation-evidence.ts | 809 ++
src/lib/ingestion-provider-egress.ts | 1 +
src/lib/model-index-extraction.ts | 11 +
src/lib/model-index-version.ts | 1 +
src/lib/openai.ts | 173 +-
src/lib/privacy-page-content.tsx | 11 +-
.../rag-admission-discharge-side-evidence.ts | 72 +
src/lib/rag/rag-answer-instructions.ts | 2 +
src/lib/rag/rag-candidate-sources.ts | 100 +
src/lib/rag/rag-claim-support.ts | 193 +-
src/lib/rag/rag-context-pack.ts | 42 +-
src/lib/rag/rag-extractive-answer.ts | 1685 +++-
src/lib/rag/rag-governed-search.ts | 3 +
src/lib/rag/rag-source-block.ts | 616 +-
.../rag/rag-source-bound-alcohol-summary.ts | 259 +
src/lib/rag/rag.ts | 345 +-
src/lib/registered-public-answer-options.ts | 182 +
.../registered-published-admin-source-plan.ts | 138 +
src/lib/supabase/server.ts | 13 +
src/lib/trusted-document-admission.ts | 843 ++
src/lib/types.ts | 8 +
supabase/applied-migration-hashes.json | 6 +-
supabase/drift-manifest.json | 800 +-
.../_shared/document-ingress-safety.ts | 485 ++
.../functions/_shared/ingestion-attempt.ts | 158 +
.../_shared/ingestion-provider-egress.ts | 247 +
.../functions/_shared/public-source-policy.ts | 645 ++
.../_shared/source-anchored-summary.ts | 733 ++
.../unavailable-ingestion-provider-egress.ts | 34 +
.../functions/indexing-v3-agent/behavior.ts | 288 +-
supabase/functions/indexing-v3-agent/index.ts | 1589 ++--
supabase/functions/ingestion-worker/auth.ts | 30 +
supabase/functions/ingestion-worker/index.ts | 335 +
.../functions/ingestion-worker/retirement.ts | 32 +
...ministrator_txt_fenced_runtime_cutover.sql | 5638 ++++++++++++++
...ed_generation_quality_repair_ownership.sql | 289 +
...007_managed_native_pdf_terminal_append.sql | 1586 ++++
supabase/schema.sql | 6778 ++++++++++++++++-
...dmin-reference-preparation-receipt.test.ts | 100 +
tests/chunking-native-table-link.test.ts | 369 +
...ocument-extraction-source-fidelity.test.ts | 340 +
tests/document-ingress-safety.test.ts | 307 +
tests/edge-provider-egress.test.ts | 242 +
tests/helpers/synthetic-ingestion-egress.ts | 56 +
tests/indexing-v3-attempt.test.ts | 320 +
tests/ingestion-generation-evidence.test.ts | 94 +
tests/ingestion-provider-egress.test.ts | 302 +
tests/original-source-applicability.test.ts | 349 +
tests/pdf-source-provenance.test.ts | 204 +
...stered-published-admin-source-plan.test.ts | 134 +
tests/text-source-provenance.test.ts | 249 +
tests/trusted-document-admission.test.ts | 499 ++
tests/worker-admin-source-runtime.test.ts | 344 +
tests/worker-admin-text-inspection.test.ts | 857 +++
tests/worker-candidate-chunks.test.ts | 650 ++
tests/worker-clamav-inspection.test.ts | 242 +
.../worker-generation-attempt-control.test.ts | 285 +
tests/worker-generation-evidence.test.ts | 529 ++
.../worker-generation-image-retention.test.ts | 214 +
...rker-generation-quality-diagnostic.test.ts | 305 +
tests/worker-ingestion-attempt.test.ts | 249 +
tests/worker-malware-inspection.test.ts | 228 +
...worker-managed-admin-text-terminal.test.ts | 601 ++
...rker-managed-local-memory-producer.test.ts | 278 +
...rker-managed-native-parent-closure.test.ts | 586 ++
.../worker-managed-prepared-supplier.test.ts | 1220 +++
tests/worker-managed-private-terminal.test.ts | 320 +
tests/worker-managed-provider-vectors.test.ts | 339 +
tests/worker-managed-vector-final.test.ts | 485 ++
.../worker-original-witness-readback.test.ts | 339 +
tests/worker-page-serialization.test.ts | 115 +
tests/worker-provider-authority-read.test.ts | 299 +
...rker-published-admin-source-layout.test.ts | 320 +
tests/worker-run-loop.test.ts | 7 +
tests/worker-whole-original-supplier.test.ts | 1503 ++++
tests/xlsx-source-provenance.test.ts | 739 ++
worker/admin-source-runtime.ts | 453 ++
worker/admin-text-inspection.ts | 592 ++
worker/behavior.ts | 355 +-
worker/candidate-chunks.ts | 510 ++
worker/clamav-inspection.ts | 430 ++
worker/generation-evidence.ts | 1068 +++
worker/index.ts | 3 +-
worker/main.ts | 4124 +++++-----
worker/malware-inspection.ts | 319 +
worker/managed-admin-pdf-terminal.ts | 460 ++
worker/managed-admin-text-terminal.ts | 601 ++
worker/managed-local-memory-producer.ts | 220 +
worker/managed-native-parent-closure.ts | 640 ++
worker/managed-prepared-supplier.ts | 834 ++
worker/managed-private-terminal.ts | 379 +
worker/managed-provider-vectors.ts | 206 +
worker/managed-vector-final.ts | 576 ++
worker/original-witness-readback.ts | 179 +
worker/provider-egress.ts | 248 +
.../published-admin-source-layout-contract.ts | 51 +
worker/published-admin-source-layout.ts | 354 +
worker/python/extract_pdf_assets.py | 7 +-
worker/row-contracts.ts | 113 +-
worker/scoped-candidate-projection.ts | 613 ++
worker/types.ts | 9 +
worker/whole-original-supplier.ts | 1555 ++++
134 files changed, 61582 insertions(+), 4047 deletions(-)
create mode 100644 docs/audit/ingestion-rag-2026-10-15/complete-record.md
create mode 100644 docs/audit/ingestion-rag-2026-10-15/ingestion-evidence-index.json
create mode 100644 docs/audit/ingestion-rag-2026-10-15/rag-evidence-inventory.json
create mode 100644 docs/audit/ingestion-rag-2026-10-15/source-inventory.json
create mode 100644 src/app/admin/pilot/page.tsx
create mode 100644 src/app/admin/pilot/pilot-client.tsx
create mode 100644 src/lib/admin-reference-preparation-receipt.ts
create mode 100644 src/lib/admin-text-source-section-layout.ts
create mode 100644 src/lib/answer-pilot-budget.js
create mode 100644 src/lib/answer-pilot-diagnostic.js
create mode 100644 src/lib/answer-pilot-ticket.js
create mode 100644 src/lib/answer-wire-budget-guard.js
create mode 100644 src/lib/deep-memory-preparation.ts
create mode 100644 src/lib/document-ingress-safety.ts
create mode 100644 src/lib/extractors/docx-source-provenance.ts
create mode 100644 src/lib/extractors/pdf-source-provenance.ts
create mode 100644 src/lib/extractors/text-source-provenance.ts
create mode 100644 src/lib/extractors/xlsx-original-zip.ts
create mode 100644 src/lib/extractors/xlsx-source-preflight.ts
create mode 100644 src/lib/extractors/xlsx-source-provenance.ts
create mode 100644 src/lib/ingestion-generation-evidence.ts
create mode 100644 src/lib/ingestion-provider-egress.ts
create mode 100644 src/lib/model-index-version.ts
create mode 100644 src/lib/rag/rag-admission-discharge-side-evidence.ts
create mode 100644 src/lib/rag/rag-source-bound-alcohol-summary.ts
create mode 100644 src/lib/registered-public-answer-options.ts
create mode 100644 src/lib/registered-published-admin-source-plan.ts
create mode 100644 src/lib/trusted-document-admission.ts
create mode 100644 supabase/functions/_shared/document-ingress-safety.ts
create mode 100644 supabase/functions/_shared/ingestion-attempt.ts
create mode 100644 supabase/functions/_shared/ingestion-provider-egress.ts
create mode 100644 supabase/functions/_shared/public-source-policy.ts
create mode 100644 supabase/functions/_shared/source-anchored-summary.ts
create mode 100644 supabase/functions/_shared/unavailable-ingestion-provider-egress.ts
create mode 100644 supabase/functions/ingestion-worker/auth.ts
create mode 100644 supabase/functions/ingestion-worker/index.ts
create mode 100644 supabase/functions/ingestion-worker/retirement.ts
create mode 100644 supabase/migrations/20261013075944_administrator_txt_fenced_runtime_cutover.sql
create mode 100644 supabase/migrations/20261013144347_managed_generation_quality_repair_ownership.sql
create mode 100644 supabase/migrations/20261013200007_managed_native_pdf_terminal_append.sql
create mode 100644 tests/admin-reference-preparation-receipt.test.ts
create mode 100644 tests/chunking-native-table-link.test.ts
create mode 100644 tests/document-extraction-source-fidelity.test.ts
create mode 100644 tests/document-ingress-safety.test.ts
create mode 100644 tests/edge-provider-egress.test.ts
create mode 100644 tests/helpers/synthetic-ingestion-egress.ts
create mode 100644 tests/indexing-v3-attempt.test.ts
create mode 100644 tests/ingestion-generation-evidence.test.ts
create mode 100644 tests/ingestion-provider-egress.test.ts
create mode 100644 tests/original-source-applicability.test.ts
create mode 100644 tests/pdf-source-provenance.test.ts
create mode 100644 tests/registered-published-admin-source-plan.test.ts
create mode 100644 tests/text-source-provenance.test.ts
create mode 100644 tests/trusted-document-admission.test.ts
create mode 100644 tests/worker-admin-source-runtime.test.ts
create mode 100644 tests/worker-admin-text-inspection.test.ts
create mode 100644 tests/worker-candidate-chunks.test.ts
create mode 100644 tests/worker-clamav-inspection.test.ts
create mode 100644 tests/worker-generation-attempt-control.test.ts
create mode 100644 tests/worker-generation-evidence.test.ts
create mode 100644 tests/worker-generation-image-retention.test.ts
create mode 100644 tests/worker-generation-quality-diagnostic.test.ts
create mode 100644 tests/worker-ingestion-attempt.test.ts
create mode 100644 tests/worker-malware-inspection.test.ts
create mode 100644 tests/worker-managed-admin-text-terminal.test.ts
create mode 100644 tests/worker-managed-local-memory-producer.test.ts
create mode 100644 tests/worker-managed-native-parent-closure.test.ts
create mode 100644 tests/worker-managed-prepared-supplier.test.ts
create mode 100644 tests/worker-managed-private-terminal.test.ts
create mode 100644 tests/worker-managed-provider-vectors.test.ts
create mode 100644 tests/worker-managed-vector-final.test.ts
create mode 100644 tests/worker-original-witness-readback.test.ts
create mode 100644 tests/worker-page-serialization.test.ts
create mode 100644 tests/worker-provider-authority-read.test.ts
create mode 100644 tests/worker-published-admin-source-layout.test.ts
create mode 100644 tests/worker-whole-original-supplier.test.ts
create mode 100644 tests/xlsx-source-provenance.test.ts
create mode 100644 worker/admin-source-runtime.ts
create mode 100644 worker/admin-text-inspection.ts
create mode 100644 worker/candidate-chunks.ts
create mode 100644 worker/clamav-inspection.ts
create mode 100644 worker/generation-evidence.ts
create mode 100644 worker/malware-inspection.ts
create mode 100644 worker/managed-admin-pdf-terminal.ts
create mode 100644 worker/managed-admin-text-terminal.ts
create mode 100644 worker/managed-local-memory-producer.ts
create mode 100644 worker/managed-native-parent-closure.ts
create mode 100644 worker/managed-prepared-supplier.ts
create mode 100644 worker/managed-private-terminal.ts
create mode 100644 worker/managed-provider-vectors.ts
create mode 100644 worker/managed-vector-final.ts
create mode 100644 worker/original-witness-readback.ts
create mode 100644 worker/provider-egress.ts
create mode 100644 worker/published-admin-source-layout-contract.ts
create mode 100644 worker/published-admin-source-layout.ts
create mode 100644 worker/scoped-candidate-projection.ts
create mode 100644 worker/whole-original-supplier.ts
diff --git a/docs/README.md b/docs/README.md
index 231aa3140d..f2ec2d7109 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -1,579 +1,584 @@
-# PsychSift Documentation Index
-
-_Updated 2026-10-08 — catalogue Context7 and CME guides; clarify issue authority; Documentation owns._
-
-Categorised map of every tracked Markdown document under `docs/`: the load-bearing docs lead
-each category, and an "Also catalogued" list completes it (the immutable
-`branch-review-records/` and `outstanding-issues-inbox/` files are indexed by their own
-generators, not here). Categories distinguish **maintained** documents (keep these current when
-behavior changes) from **point-in-time records** (historical; do not update, supersede with a
-new dated doc instead). No check fails when a document is missing from this index, so add each
-new document here when you write it. Owner decisions are indexed separately in
-[decisions/README.md](decisions/README.md).
-
-Check that repo paths referenced from the maintained docs still resolve with:
-
-```bash
-npm run docs:check-links
-```
-
-## Start here
-
-Choose the task and the kind of evidence before following an instruction:
-
-| Need | Entry point | Read it as |
-| ------------------------------------ | ---------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
-| PsychSift development | [Repository README](../README.md), [codebase index](codebase-index.md) | Setup and architecture, subject to the current manifests and provider boundaries |
-| Agent instructions or platform setup | [Task navigator](agents-guide.md), [AGENTS.md](../AGENTS.md) | Find the applicable rule; do not run every referenced workflow |
-| Current work or acceptance | The existing task checkpoint | Check its identity, scope and evidence before relying on its status |
-| A past decision or incident | The historical records below | Evidence of what happened then, not a current completion or deployment claim |
-
-## Documentation ownership and maintenance
-
-| Document type | How to maintain it | What its presence proves |
-| ---------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| Maintained guide or runbook | Correct the relevant source and necessary references when behaviour changes. Check commands against the current script definitions. | Instructions exist; current execution and access still need evidence. |
-| Generated index or snapshot | Use its named generator and inspect the resulting diff. Do not hand-edit generated facts or run unrelated generators. | The recorded inventory or snapshot, within its declared scope and capture conditions. |
-| Task checkpoint | Keep one current record per task with ownership, scope, decisions, evidence, blockers and next action. Preserve concurrent work. | Reported task status, which must be reconciled with the actual working state. |
-| Historical report, lesson or immutable receipt | Preserve the original record; add a dated correction or superseding reference through the appropriate workflow. | Historical evidence, including its original failures and limitations. |
-
-Use `npm run docs:check-links` for maintained-document references and
-`npm run docs:check-scripts` for npm script references. These are static checks;
-they do not prove that instructions are semantically correct, providers work or a
-screen matches its design. When the checker is blocked, report that limitation
-and use a clearly scoped check for the affected documents without weakening the
-repository gate. The generated inventories remain governed by their own contracts.
-
-### Also catalogued (2026-09-26)
-
-- [DOCS-SYSTEM.md](DOCS-SYSTEM.md) — Documentation system — how project docs are kept accurate, logged and non-stale
-
-## Core reference map
-
-| Doc | What it is |
-| ------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
-| [codebase-index.md](codebase-index.md) | Structured architecture map: layout, module map, Supabase schema, scripts, domain concepts |
-| [README.md](README.md) | This index — every tracked document under `docs/`, categorised |
-| [site-map.md](site-map.md) | **Generated** route map — regenerate with `npm run docs:update`, verify with `npm run sitemap:check` |
-| [agents-guide.md](agents-guide.md) | Task navigator, platform setup and skill ownership; rules in `AGENTS.md` |
-| [scripts-index.md](scripts-index.md) | Curated map of `scripts/` and the `package.json` command surface by purpose |
-| [organisation/](organisation/README.md) | Organisation map: which area owns every file, checked by `npm run check:organisation` |
-| [personal-practice/](personal-practice/README.md) | Personal practice area: what it owns and the rules every change there follows |
-| [codex-cloud.md](codex-cloud.md) | Codex Cloud setup, access profiles, profile-loading command shims, GitHub exception, and acceptance checks |
-| [claude-cloud.md](claude-cloud.md) | Claude Code on the web: the tiered container provisioner and the checked-in user profile |
-
-## Architecture
-
-- [frontend-architecture.md](frontend-architecture.md) — shell, routing, dashboard module structure
-- [wiring-conventions.md](wiring-conventions.md) — page/button wiring conventions and the dead-button / orphan-route gates
-- [search-chrome-behaviour.md](search-chrome-behaviour.md) — shared search-chrome contract: composer ownership, phone edge-to-edge dock, hide/reveal reserves
-- [mockup-retirement-policy.md](mockup-retirement-policy.md) — when a mockup may be deleted, who decides, what evidence is required, and the three tiers that keep developer-gated prototypes out of cleanup scope
-- [developer-area-access.md](developer-area-access.md) — how the developer-gated `/mockups` subtrees are protected, the passwordless `?devkey` link and its setup, what the link deliberately does not grant, and how to revoke it
-- [search-results-bar-decisions.md](search-results-bar-decisions.md) — shared results-bar anatomy, why the filter shelf is scoped to two modes, and what is deliberately not done
-- [on-call/design/2026-09-20-admin-compliance-and-folders.md](on-call/design/2026-09-20-admin-compliance-and-folders.md) — On Call's Admin/Compliance split: why Compliance rides the `logistics` section behind a `details.kind` discriminator instead of costing a CHECK-constraint migration, why the page may never render a verdict, why it sorts by consequence rather than expiry, the one-word folder rule, and what making Compliance a real section would actually cost
-- [deployment-architecture.md](deployment-architecture.md) — app/worker/Supabase deployment topology
-- [ingestion-state-machine.md](ingestion-state-machine.md) — ingestion job lifecycle and states (dated 2026-07-07 race analysis; the lease is heartbeated and fenced since 2026-07-08 — see its status banner)
-- [design-system/README.md](design-system/README.md) — front door for the v2 design system (tokens, components, gates)
-- [design-system.md](design-system.md) — live-layer notes during the v1→v2 transition (superseded as spec)
-- [design-system/SPEC.md](design-system/SPEC.md) — the complete v2 design system: roles, rules, rationale (never values)
-- [design-system/TOKENS.md](design-system/TOKENS.md) — reconciled token inventory: every role, winning name, owner, and what it replaces
-- [design-system/COMPONENTS.md](design-system/COMPONENTS.md) — the eight safety-component specifications plus the maturity matrix
-- [brand/psychsift-logo.md](brand/psychsift-logo.md) — the PsychSift mark: arc-by-arc construction, colours, file set, and usage rules
-- [brand/design-handover.md](brand/design-handover.md) — the outward-facing brand spec: geometry, colour, type, rules, asset URLs, and open items in one self-contained page
-- [brand/canvas/README.md](brand/canvas/README.md) — the generator behind the published six-artboard design canvas, and what must be kept in step with it
-- [design-system/DECISIONS.md](design-system/DECISIONS.md) — conflicts C1–C5 resolved, clinical Q&A record, assumptions, blocked items
-- [design-system/GATES.md](design-system/GATES.md) — every design-system rule paired with its enforcement status
-- [design-system/FIX-GUIDE.md](design-system/FIX-GUIDE.md) — Hazard 1–2 sweep dispositions (Fixed / Documented / Deferred / Out-of-scope)
-- [design-system/ADOPTION.md](design-system/ADOPTION.md) — PR 13 registration record: adoption order, per-surface file allowlists, exclusions, pins, proof shots
-- [dictionary-editorial-drafts.md](dictionary-editorial-drafts.md) — the unpublished Dictionary draft layer: sense-first abbreviation drafts, hash-reconciled definition reviews, per-source acquisition outcomes, and what a register candidate is and is not
-- [comparison-behaviour.md](comparison-behaviour.md) — shared selection, state, responsive, and accessibility contract for comparison surfaces
-- [clinical-chat-ui-component-map.md](clinical-chat-ui-component-map.md) — chat UI component inventory
-- [clinical-badge-system-guide.md](clinical-badge-system-guide.md) — clinical badge semantics
-- [multi-user-auth-setup.md](multi-user-auth-setup.md) — auth, sessions, owner scoping
-- [pwa.md](pwa.md) — PWA install assets, privacy-first service worker, offline shell
-- [webhooks.md](webhooks.md) — the two inbound webhook receivers and the outbound Actions notifier
-- [api-jobs-ops-surface.md](api-jobs-ops-surface.md) — standing decision to keep `GET /api/jobs` as an ops/admin surface
-- [verified-answer-incremental-delivery-design.md](verified-answer-incremental-delivery-design.md) — staged, clinical-safety-preserving design for delivering verified evidence and answer sections before the canonical final SSE frame
-
-### Also catalogued (2026-09-02)
-
-Every remaining tracked document in this category (architecture and design, plus the `design-system/`, `redesign/`, `adr/`, `decisions/` and `product/` folders), one line each; the description is the document's own title, with its opening sentence where that adds something.
-
-- [app-modes-decision-brief.md](app-modes-decision-brief.md) — Fifteen modes, or one search with fifteen lenses? — A decision brief for the owner.
-- [design-system-contract.md](design-system-contract.md) — Design System Contract & Standards — This document specifies the blocking design system token rules, touch/tap target standards, and enforcement mechanisms for the PsychSift app…
-- [filter-contract.md](filter-contract.md) — The filter contract — One filter surface, shared by every mode.
-- [design-system/HANDOVER-2026-08-07.md](design-system/HANDOVER-2026-08-07.md) — Design system — handover, 7 August 2026 — Read AGENTS.md first — it is the highest-priority source of truth for rules and gates.
-- [design-system/sweep-2026-08-29-structure.md](design-system/sweep-2026-08-29-structure.md) — Structural sweep — 2026-08-29 — Read-only audit for defects the enforced lint/test gates cannot see:
-- [design-system/sweep-2026-08-29-unenforced-rules.md](design-system/sweep-2026-08-29-unenforced-rules.md) — Unenforced-rule sweep — 29 August 2026 — Scope. The rules in this document set whose enforcement status is _absent, manual, partial, advisory or deferred_, checked against the actua…
-- [design-system/sweep-2026-08-29-visual.md](design-system/sweep-2026-08-29-visual.md) — Visual sweep — 2026-08-29 — Read-only visual/DOM audit of the running dev app at http://localhost:3350.
-- [design-system/sweep-fix-duration-display.md](design-system/sweep-fix-duration-display.md) — Design sweep fix: readable durations on the Team screen — Date: 2026-08-29 File touched:
-- [design-system/sweep-fix-missing-values-round-2.md](design-system/sweep-fix-missing-values-round-2.md) — Missing values, round 2 — two new phrases (29 Aug 2026) — Round 1 (sweep-fix-missing-values.md) changed four call sites and left nineteen alone.
-- [design-system/sweep-fix-missing-values.md](design-system/sweep-fix-missing-values.md) — Missing values — call-site sweep (29 Aug 2026) — SPEC §11 gives four phrases for a missing value — Not recorded, Not applicable, Unknown, Unable to extract — and names MissingValue (COMPONE…
-- [design-system/sweep-fix-tap-floors-round-2.md](design-system/sweep-fix-tap-floors-round-2.md) — Sweep fix — tap floors, round 2 (2026-08-29) — Round 1 (sweep-fix-tap-floors.md) taught interactiveTapFloorDeclarations to read responsive bands.
-- [design-system/sweep-fix-tap-floors.md](design-system/sweep-fix-tap-floors.md) — Responsive tap-floor sweep: closing a check that could not fail — Date: 2026-08-29 · Scope:
-- [redesign/01-audit.md](redesign/01-audit.md) — Design Audit (June 2026 redesign) — This run intentionally excludes /tools, src/app/tools/page.tsx, and src/lib/tools.ts by user request.
-- [redesign/02-design-direction.md](redesign/02-design-direction.md) — Design Direction — This supersedes the earlier "single teal accent for primary actions" principle.
-- [redesign/03-decision-log.md](redesign/03-decision-log.md) — Decision Log — Tier 2 changes — Entries are appended as work lands.
-- [redesign/04-deferred.md](redesign/04-deferred.md) — Resolved Deferred Items — Status: closed (reconciled 2026-07-15).
-- [redesign/05-changelog.md](redesign/05-changelog.md) — Changelog — Premium Redesign
-- [redesign/06-verification.md](redesign/06-verification.md) — Verification Report — Scope: ultra-premium mobile-first redesign — token system, component layer, dashboard + document-viewer mobile surfaces, plus reconciliation…
-- [redesign/07-token-adoption-audit.md](redesign/07-token-adoption-audit.md) — Token Adoption Audit (July 2026) — This run audits how consistently the codebase consumes the design tokens, not the token system itself.
-- [redesign/08-design-review-prompt.md](redesign/08-design-review-prompt.md) — Design Review Prompt (July 2026) — Two reusable prompts for reviewing design work on this product, tuned to its context:
-- [redesign/09-page-polish-plan.md](redesign/09-page-polish-plan.md) — Production-Page Polish & Perfection Plan (July 2026) — Status: closed as superseded (reconciled 2026-07-15).
-- [redesign/09-ui-primitives-recipes.md](redesign/09-ui-primitives-recipes.md) — UI Primitives — Recipe Reference & State Contract (July 2026) — Resolves L8 from 07-token-adoption-audit.md:
-- [redesign/clinical-white-aegean-master-implementation-plan.md](redesign/clinical-white-aegean-master-implementation-plan.md) — Clinical White / Aegean Graphite Master Implementation Plan — The permanent direction should be Clinical White / Aegean Graphite.
-- [redesign/crisp-white-colour-system-plan.md](redesign/crisp-white-colour-system-plan.md) — Crisp white colour system plan — Replace the warm cream/porcelain light-mode direction with a cleaner, whiter, more polished clinical interface.
-- [redesign/dictionary-reference-spine.md](redesign/dictionary-reference-spine.md) — Dictionary Reference Spine — Dictionary is a source-governed psychiatric terminology reference.
-- [redesign/m2-atomic-reindex-migration-note.md](redesign/m2-atomic-reindex-migration-note.md) — M2 Atomic Reindex Migration Note — Make reindex completion atomic so search, evaluation, telemetry, and document views never observe a partially replaced index generation.
-- [redesign/permanent-colour-direction.md](redesign/permanent-colour-direction.md) — Permanent colour direction — Adopt Clinical White / Sky Graphite as the permanent colour direction.
-- [redesign/premium-colour-system-plan.md](redesign/premium-colour-system-plan.md) — Premium colour system plan — Create a light mode that feels modern, premium, calm, and clinically trustworthy without becoming sterile, washed out, or over-teal.
-- [adr/0001-use-a-shared-local-first-clinical-ask-orchestrator.md](adr/0001-use-a-shared-local-first-clinical-ask-orchestrator.md) — Use a shared local-first orchestrator for Mode-aware Clinical Ask — Mode-aware Clinical Ask will extend the repository's one shared composer and governed answer surfaces through one local-first orchestration…
-- [decisions/ccz4hb-review-coverage.md](decisions/ccz4hb-review-coverage.md) — Decision: restoring automated review coverage (#CCZ4HB) — the row closed — but see the 2026-09-02 correction below, which removes the premise that decision rested on.
-- [product/clinical-trust-direction.md](product/clinical-trust-direction.md) — Clinical trust product direction — Decision date: 2026-08-23 Decision:
-
-- [cme-adoption-contract.md](cme-adoption-contract.md) — CME adoption contract and evidence requirements
-
-## Operations runbooks
-
-- [launch-operator-runbook.md](launch-operator-runbook.md) — launch/operational duties and SLO probes
-- [reindex-runbook.md](reindex-runbook.md) — safe reindex and ingestion recovery
-- [retrieval-quality-runbook.md](retrieval-quality-runbook.md) — RAG/retrieval eval gates and tuning
-- [worker-deploy-runbook.md](worker-deploy-runbook.md) — worker build contract, run recipe, secrets, docling shadow extraction (B4)
-- [disaster-recovery-runbook.md](disaster-recovery-runbook.md) — backup/restore and recovery drills
-- [auth-connection-cap-runbook.md](auth-connection-cap-runbook.md) — Supabase auth connection cap (operator)
-- [staging-setup.md](staging-setup.md) — staging environment bootstrap
-- [database-drift-detection.md](database-drift-detection.md) — schema drift detection (`npm run check:drift`)
-- [supabase-migration-reconciliation.md](supabase-migration-reconciliation.md) — migration drift and repair policy
-- [db-maintenance.md](db-maintenance.md) — Supabase advisor snapshots and the standing disposition per finding class
-- [observability-slos.md](observability-slos.md) — health probes, SLO counters, degraded modes
-- [openai-rag-operations.md](openai-rag-operations.md) — OpenAI/RAG provider operations and modes
-- [outstanding-issues.md](outstanding-issues.md) — protected repository issue history and queue; use the immutable issues inbox
-- [operator-backlog.md](operator-backlog.md) — provider/operator runbook detail; task authority is defined in task-receipts.md
-- [deploy-corrector-public-titles.md](deploy-corrector-public-titles.md) — public-title corrector deploy notes
-- [operator-apply-performance-latency-remediation.md](operator-apply-performance-latency-remediation.md) — operator apply steps for the performance/latency migration batch
-- [reconciliation-playbook.md](reconciliation-playbook.md) — broad chat/worktree reconciliation and archive-safe cleanup (not for ordinary feature work)
-- [staging-tenancy-release-evidence.md](staging-tenancy-release-evidence.md) — cross-tenant staging harness as executable owner-boundary proof
-- [docker-optimization-guide.md](docker-optimization-guide.md) — Docker optimization and health check implementation: multi-arch, layer caching, and slim runtime targets
-
-### Also catalogued (2026-09-02)
-
-Every remaining tracked document in this category (operations, plus the `rag-behaviour/` and `rag-improvement/` folders), one line each; the description is the document's own title, with its opening sentence where that adds something.
-
-- [database-remediation-plan.md](database-remediation-plan.md) — Database remediation & future-proofing plan — 2026-08 — Owner: operator (Josh) + specialist session.
-- [database-remediation-playbook.md](database-remediation-playbook.md) — Database remediation playbook — multi-session execution guide — Companion to database-remediation-plan.md (the plan of record — read it first in every session).
-- [database-remediation-coordination.md](database-remediation-coordination.md) — Database remediation — coordination handover
-- [operations-runbook.md](operations-runbook.md) — Operations Runbook: Database Index Diagnostics & Pre/Post EXPLAIN Measurement Protocol — This runbook defines the operational verification and execution protocol for measuring query planner performance and diagnosing documents ta…
-- [operator-supabase-branching-cap.md](operator-supabase-branching-cap.md) — Operator guidance: Supabase preview-branch compute cap (#9X40BT) — This document records the operator configuration and cost-containment policy for Supabase preview branches on project sjrfecxgysukkwxsowpy (…
-- [performance.md](performance.md) — Performance and Web Vitals Baselines — This document outlines performance benchmarks, layout stability strategies, and Core Web Vitals baselines for the PsychSift application.
-- [rag-evaluation.md](rag-evaluation.md) — RAG Evaluation and Retrieval Contracts — This document specifies the RAG evaluation framework, runtime retrieval row contracts, and defensive schema invariants that protect clinical…
-- [rag-behaviour/README.md](rag-behaviour/README.md) — RAG behaviour memory — Durable, evidence-backed knowledge about how this repo's retrieval/ranking stack actually behaves — created 2026-07-20 after a full measure…
-- [rag-behaviour/behaviour-map.md](rag-behaviour/behaviour-map.md) — RAG behaviour map (verified 2026-07-20) — Everything below was verified against live canary evidence (runs #49–#56) and direct source inspection during the ADDENDUM-4 cycle.
-- [rag-behaviour/refuted-approaches.md](rag-behaviour/refuted-approaches.md) — Refuted ranking-improvement approaches (2026-07-20) — Two approaches to the fast-path rank-depth headroom were implemented, live-tested, and refuted in one evening.
-- [rag-behaviour/safeguards.md](rag-behaviour/safeguards.md) — RAG ranking safeguards — The protection stack that keeps retrieval/ranking behaviour from being changed casually — by any task, session, or agent.
-- [rag-improvement/gate-b-decision-record-2026-08-18.md](rag-improvement/gate-b-decision-record-2026-08-18.md) — Gate B decision record — Docling extraction benchmark (owner run, 2026-08-18) — Status: PASS. This is the owner's filled copy of docs/rag-improvement/gate-b-decision-record.md for packet S6b (the Gate B run the S6 harnes…
-- [rag-improvement/gate-b-decision-record.md](rag-improvement/gate-b-decision-record.md) — Gate B decision record — Docling extraction benchmark (template) — Status: template — no verdict.
-
-### Also catalogued (2026-09-26)
-
-- [pr-batch-runner.md](pr-batch-runner.md) — Sequential PR batch runner — prepares and merges a fixed snapshot of pull requests one at a time
-- [production-readiness.md](production-readiness.md) — Production readiness and operational release requirements (points to the canonical checklist)
-- [site-content-sync-runbook.md](site-content-sync-runbook.md) — Site-content publication and synchronization runbook
-- [site-content-publication-handover.md](site-content-publication-handover.md) — Handover of the remaining site-content database work, written 2026-09-18
-- [supabase-remediation-closeout-notes.md](supabase-remediation-closeout-notes.md) — Supabase remediation closeout notes — short deferred list, no DDL
-
-## Governance, safety, privacy
-
-- [clinical-governance.md](clinical-governance.md) — deployment and source governance checklist
-- [clinical-sign-off-how-to.md](clinical-sign-off-how-to.md) — plain-English guide for the clinical owner: signing off forms and Act-section summaries one at a time with `npm run clinical:review`, and sending the sign-offs
-- [source-acquisition-protocol.md](source-acquisition-protocol.md) — how a clinical source is found, captured, scored and indexed: the WA-first locality ladder, the capture register, the metadata floor, and clinical sign-off
-- [error-tracking.md](error-tracking.md) — privacy-safe, opt-in production exception tracking envelope
-- [governance-incident-runbooks.md](governance-incident-runbooks.md) — operator response checklists for clinical, source, privacy, provider, and answer-pipeline rollback incidents
-- [clinical-hazard-analysis.md](clinical-hazard-analysis.md) — clinical hazard register
-- [care-plan/crisis-lines-verification.md](care-plan/crisis-lines-verification.md) — **DRAFT, unsigned** verification record for every crisis number printed by the Care Plan prototype: source, verification date, and the six-monthly re-verification cadence
-- [rag-injection-threat-model.md](rag-injection-threat-model.md) — prompt-injection threat model
-- [privacy-impact-assessment.md](privacy-impact-assessment.md) — PIA findings and launch blockers
-- [openai-cross-border-basis.md](openai-cross-border-basis.md) — cross-border data-processing basis
-- [governance/privacy-readiness.v1.json](governance/privacy-readiness.v1.json) — authoritative machine-checkable privacy readiness status
-- [governance/privacy-closeout-2026-09-01.md](governance/privacy-closeout-2026-09-01.md) — current provider, retention, legal, notice, and clinical closeout evidence
-- [governance/privacy-role-attestation-pack-2026-09-01.md](governance/privacy-role-attestation-pack-2026-09-01.md) — evidence and role decisions for eight requirements; two owner approvals are complete and six remain
-- [production-readiness-checklist.md](production-readiness-checklist.md) — release readiness criteria
-- [samd-classification-medication-considerations.md](samd-classification-medication-considerations.md) — SaMD classification and medication considerations
-
-### Also catalogued (2026-09-02)
-
-Every remaining tracked document in this category, one line each; the description is the document's own title, with its opening sentence where that adds something.
-
-- [medication-interaction-lexicon-review.md](medication-interaction-lexicon-review.md) — Medication interaction lexicon — clinical review sheet — Status: reviewed 2026-09-06 — see the sign-off at the bottom.
-- [medication-lexicon-review-worklist.md](medication-lexicon-review-worklist.md) — Medication lexicon — clinician reading worklist (#318) — This is a reading aid, not a review.
-- [services-mode-governance.md](services-mode-governance.md) — Services Mode Governance — A Services record is not “current” merely because its prose is plausible or its confidence is high.
-
-### Also catalogued (2026-09-26)
-
-- [governance/privacy-completion-drafts-2026-09-13.md](governance/privacy-completion-drafts-2026-09-13.md) — Privacy completion drafts, 2026-09-13 — prepared, unsigned, not approved for release
-- [governance/rag-adaptive-continuation-2026-09-13.md](governance/rag-adaptive-continuation-2026-09-13.md) — RAG adaptive activation: setup and continuation handoff
-
-## Process and review
-
-- [process-hardening.md](process-hardening.md) — verification gates, CI expectations, known debts
-- [continuous-integration.md](continuous-integration.md) — workflow concurrency keys, push exemption, and Guard 2 in-flight CI push guard
-- [testing.md](testing.md) — test execution, focused/live commands, Playwright ownership, flake policy
-- [development-speed-playbook.md](development-speed-playbook.md) — going faster without weakening any gate: receipts, narrow selection, worktree reuse
-- [phone-chrome-physical-acceptance.md](phone-chrome-physical-acceptance.md) — labelled Safari and cold-launch PWA acceptance matrix
-- [productivity-workflows.md](productivity-workflows.md) — repo workflow planners (flightplan, triage, rag-lab, …)
-- [codex-review-protocol.md](codex-review-protocol.md) — shared review protocol for all review skills
-- [codex-prompt-playbook.md](codex-prompt-playbook.md) — copy/paste prompts for common repo work
-- [codex-cloud.md](codex-cloud.md) — reproducible provider-free Codex Cloud environment and acceptance check
-- [claude-cloud.md](claude-cloud.md) — Claude Code on the web container parity: tiered provisioner and checked-in user profile
-- [branch-cleanup-guide.md](branch-cleanup-guide.md) — branch hygiene workflow
-- [branch-review-ledger.md](branch-review-ledger.md) — reviewed branch/SHA ledger; read with `npm run ledger:lookup` (historical tables + immutable records), write with `npm run ledger:append`, and convert a pre-system active-branch row with `npm run ledger:migrate-legacy`
-- [branch-review-archival-policy.md](branch-review-archival-policy.md) — what may and may not be done to the immutable records under `docs/branch-review-records/`; which operations are blocked by code, which are forbidden by policy but caught by nothing, and why foldering or deleting a record is silent history loss
-- [branch-review-index.md](branch-review-index.md) — **Generated** browsable index of every immutable review record; regenerate with `npm run ledger:index`, refresh with `npm run docs:update`, check currency with `npm run ledger:index:check`. It may lag the corpus, so `npm run ledger:lookup` stays authoritative
-- [task-receipts.md](task-receipts.md) — task lifecycle and sanitized receipt handoff protocol between agents and ledger
-
-### Also catalogued (2026-09-02)
-
-Every remaining tracked document in this category (process, plus the `agents/` rule files `AGENTS.md` delegates to, `prompts/`, `codex/` and `plans/`), one line each; the description is the document's own title, with its opening sentence where that adds something.
-
-- [ci-operations.md](ci-operations.md) — CI Operations and Runner Usage Assessment — See also continuous-integration.md for pre-push safety controls and Guard 2 in-flight CI push guard details.
-- [agents/bug-hunter-shortcut.md](agents/bug-hunter-shortcut.md) — Bug-Hunter Shortcut — When the user types exactly bug-hunter as the entire task message, after trimming surrounding whitespace, treat it as a shortcut for targete…
-- [agents/claude-hook-scripts.md](agents/claude-hook-scripts.md) — Claude Code Hook Scripts — .claude/hooks/*.sh runs on Linux web containers as well as on the Windows workstation, and the workstation cannot see the thing that breaks…
-- [agents/codex-cloud-environment.md](agents/codex-cloud-environment.md) — Codex Cloud Environment — Codex Cloud uses an isolated Linux container and does not inherit desktop files, credentials, OAuth sessions, MCP authentication, local serv…
-- [agents/codex-dependency-shortcut.md](agents/codex-dependency-shortcut.md) — Codex Dependency Shortcut — When the user types exactly dependency as the entire task message, after trimming surrounding whitespace, treat it as a shortcut for safe de…
-- [agents/codex-desktop-worktree-setup.md](agents/codex-desktop-worktree-setup.md) — Codex Desktop Worktree Setup — It must work before node_modules exists, validate Node 24/npm 11, reuse only a complete byte-identical local installation, and otherwise run…
-- [agents/codex-productivity-defaults.md](agents/codex-productivity-defaults.md) — Codex Productivity Defaults
-- [agents/codex-reasoning-effort.md](agents/codex-reasoning-effort.md) — Codex Reasoning Effort Calibration
-- [agents/codex-review-throttling.md](agents/codex-review-throttling.md) — Codex Review Throttling & Thread Resolution — Do not review branches opportunistically.
-- [agents/context7.md](agents/context7.md) — shared library-docs workflow, version matching, authentication and query privacy
-- [agents/cursor-cloud.md](agents/cursor-cloud.md) — Cursor Cloud Specific Instructions — Durable notes for Cloud Agents.
-- [agents/dead-code-deletion.md](agents/dead-code-deletion.md) — Deleting Code You Believe Is Dead — "Nothing imports it" is necessary and nowhere near sufficient.
-- [agents/external-skill-precedence.md](agents/external-skill-precedence.md) — External Skill Precedence and Evidence — User-global skills and output-style plugins are installed outside this repo and know nothing about its contracts.
-- [agents/pull-request-workflow.md](agents/pull-request-workflow.md) — Pull Request Workflow — The one canonical pull-request rulebook for every AI tool: open, follow CI, review threads, records, merge authority, landed, branch sync, Run PR, Clear PRs, bundling.
-- [agents/repository-skills-and-issues.md](agents/repository-skills-and-issues.md) — Repository Skills and Outstanding-Work Memory — Select repo-local skills under `.agents/skills/` when their descriptions match the actual task and their use materially helps; read an explicitly named skill before acting.
-- [agents/test-deletion-guard.md](agents/test-deletion-guard.md) — Deleting tests, or letting a tool delete them for you — On 2026-08-31 a commit on PR #2481 titled "test(ui):
-- [agents/smart-agent-allocation.md](agents/smart-agent-allocation.md) — Default model/effort selection, independent ownership and review, evidence reuse, and portable Codex Cloud delivery.
-- [agents/task-efficiency.md](agents/task-efficiency.md) - On-demand task brief, one continuation record and private measurement using existing workflows.
-- [agents/upload-shortcut.md](agents/upload-shortcut.md) — Upload Shortcut — When the user types exactly:
-- [agents/verification-gates.md](agents/verification-gates.md) — Verification Gates — the verification pyramid, gate receipts, and the browser-gate planner
-- [agents/wiring-and-bundle-budget.md](agents/wiring-and-bundle-budget.md) — Page Wiring and Bundle Budget — Interactive controls and routes follow conventions the codebase already holds to.
-- [agents/native-startup/commit-as-you-go.md](agents/native-startup/commit-as-you-go.md) — Commit as you go: committing coherent units before switching context
-- [agents/native-startup/contextual-working-defaults.md](agents/native-startup/contextual-working-defaults.md) — Context-aware working defaults for workflows and boundaries
-- [agents/native-startup/external-skill-precedence.md](agents/native-startup/external-skill-precedence.md) — External skill precedence and evidence calibration rules
-- [agents/native-startup/process-hardening.md](agents/native-startup/process-hardening.md) — Process hardening phases and verification gates
-- [agents/native-startup/publication-workflows.md](agents/native-startup/publication-workflows.md) — Safe Git publication workflows, PR shortcuts, and anti-churn sync
-- [agents/native-startup/search-chrome-behaviour.md](agents/native-startup/search-chrome-behaviour.md) — Search chrome behaviour, composer ownership, and phone edge-to-edge contracts
-- [prompts/codex-architecture-maintainability-ultra-review.md](prompts/codex-architecture-maintainability-ultra-review.md) — Codex Local Ultra — Architecture & Maintainability Review Orchestrator — Perform a rigorous, evidence-based Architecture and Maintainability review of this repository using multi-agent coordination.
-- [prompts/codex-cloud-design-status-semantics.md](prompts/codex-cloud-design-status-semantics.md) — Codex Cloud prompt — design-system clinical status semantics — Copy the complete prompt below into a new Codex Cloud task for the Database repository KB repository.
-- [prompts/codex-cloud-detailed-task.md](prompts/codex-cloud-detailed-task.md) — Codex Cloud detailed-task prompt — Use this prompt when assigning a substantial implementation, refactor, defect fix, or other detailed task to Codex Cloud in this repository.
-- [prompts/codex-cloud-review/1-codex-full-stack-master-review-prompt.md](prompts/codex-cloud-review/1-codex-full-stack-master-review-prompt.md) — Codex Comprehensive Full-Stack Product, Design, Architecture, Engineering, Security, Quality and Refactoring Master Prompt — Keep this master specification as a normal Markdown file, for example:
-- [prompts/codex-cloud-review/2-codex-full-stack-master-prompt-review-and-stress-test.md](prompts/codex-cloud-review/2-codex-full-stack-master-prompt-review-and-stress-test.md) — Review and Adversarial Stress Test of the Codex Full-Stack Master Prompt — The original Cursor prompt had unusually strong domain coverage and quality controls.
-- [prompts/codex-cloud-review/3-codex-agents-md-companion.md](prompts/codex-cloud-review/3-codex-agents-md-companion.md) — Codex Repository Working Agreement
-- [prompts/codex-data-database-safety-ultra-review.md](prompts/codex-data-database-safety-ultra-review.md) — Codex Local Ultra — Data & Database Safety Review Orchestrator — Perform a rigorous, evidence-based Data & Database Safety review of this repository using multi-agent coordination.
-- [prompts/codex-documentation-ownership-ultra-review.md](prompts/codex-documentation-ownership-ultra-review.md) — Codex Local Ultra — Documentation & Ownership Review Orchestrator — Perform a rigorous, evidence-based Documentation & Ownership review of this repository using multi-agent coordination.
-- [prompts/codex-functional-correctness-ultra-review.md](prompts/codex-functional-correctness-ultra-review.md) — Codex Local Ultra — Functional Correctness Review Orchestrator — Perform a rigorous, evidence-based Functional Correctness review of this repository using multi-agent coordination.
-- [prompts/codex-performance-reliability-ultra-review.md](prompts/codex-performance-reliability-ultra-review.md) — Codex Local Ultra — Performance & Reliability Review Orchestrator — Perform a rigorous, evidence-based Performance and Reliability review of this repository using multi-agent coordination.
-- [prompts/codex-tests-quality-gates-ultra-review.md](prompts/codex-tests-quality-gates-ultra-review.md) — Codex Local Ultra — Tests & Quality Gates Review Orchestrator — Perform a rigorous, evidence-based Tests & Quality Gates review of this repository using multi-agent coordination.
-- [prompts/mode-aware-clinical-ask-codex-cloud-handover.md](prompts/mode-aware-clinical-ask-codex-cloud-handover.md) — Codex Cloud handover: implement Mode-aware Clinical Ask — Paste the prompt below into a fresh Codex Cloud task whose checkout contains this entire planning pack.
-- [prompts/rag-coverage-gate-extraction.md](prompts/rag-coverage-gate-extraction.md) — X3 / #086 rag.ts coverage-gate extraction — Use this prompt in a fresh Codex Cloud task with CODEX_CLOUD_ACCESS_PROFILE=offline.
-- [codex/architecture-maintainability/README.md](codex/architecture-maintainability/README.md) — Architecture and maintainability review packets — Durable artifacts requested from the architecture and maintainability review prompt belong here.
-- [codex/data-database-safety/README.md](codex/data-database-safety/README.md) — Data and database safety review packets — Durable artifacts requested from the data and database safety review prompt belong here.
-- [codex/documentation-ownership/README.md](codex/documentation-ownership/README.md) — Documentation and ownership review packets — Durable artifacts requested from the documentation and ownership review prompt belong here.
-- [codex/functional-correctness/README.md](codex/functional-correctness/README.md) — Functional correctness review packets — Durable artifacts requested from the functional correctness review prompt belong here.
-- [codex/performance-reliability/README.md](codex/performance-reliability/README.md) — Performance and reliability review packets — Durable artifacts requested from the performance and reliability review prompt belong here.
-- [codex/tests-quality-gates/README.md](codex/tests-quality-gates/README.md) — Tests and quality-gates review packets — Durable artifacts requested from the tests and quality-gates review prompt belong here.
-- [plans/design-system-live-convergence-plan.md](plans/design-system-live-convergence-plan.md) — Design-system live convergence programme — Status: execution-ready plan…
-- [plans/document-viewer-phase2-unified-chrome.md](plans/document-viewer-phase2-unified-chrome.md) — Phase 2 — Unified viewing chrome (PDF + photo) — Status: plan only (no product behaviour change in this doc PR) Programme:
-- [plans/document-viewer-phase3-handover.md](plans/document-viewer-phase3-handover.md) — Document viewer — Phase 3 handover — Execution brief for Phase 3 of docs/plans/document-viewer-redesign-plan.md.
-- [plans/document-viewer-redesign-plan.md](plans/document-viewer-redesign-plan.md) — Document viewer redesign — PDF + photo surfaces — Status: programme plan (Phases 0–3 landed;
-- [plans/edge-ingestion-overhaul-3pr-plan.md](plans/edge-ingestion-overhaul-3pr-plan.md) — Edge Ingestion Overhaul — 3-PR Execution Plan — Status: Planning only.
-- [plans/tooling-activation-implementation-plan.md](plans/tooling-activation-implementation-plan.md) — Tooling activation — implementation plan — Status: local workstreams (WS-B, WS-C) implemented 2026-08-01;
-
-## Plans and workstreams (living)
-
-- [mode-aware-clinical-ask-local-handover.md](mode-aware-clinical-ask-local-handover.md) — three-phase local integration, approval-gated staging/governance, and PR publication handover for Mode-aware Clinical Ask
-- [answer-page-redesign-handover.md](answer-page-redesign-handover.md) — build-and-merge handover for the chosen answer-page design: what claim-level citation data already exists, the three-PR order it forces, the design contract, and the gates and PR-body requirements that block the merge
-- [maturity-backlog-workorders.md](maturity-backlog-workorders.md) — actionable work orders tracking the repository-maturity audit backlog
-- [no-unchecked-indexed-access-migration-plan.md](no-unchecked-indexed-access-migration-plan.md) — staged multi-PR rollout for the `noUncheckedIndexedAccess` TypeScript flag (ledger `#211`)
-- [ledger-id-scheme-proposal.md](ledger-id-scheme-proposal.md) — design for collision-free outstanding-issue ids so concurrent sessions stop contending on `issues:next-id` (ledger `#168`)
-- [pr-handoff-stop-cross-agent-gap.md](pr-handoff-stop-cross-agent-gap.md) — why the PR-babysit budget is hook-enforced for Claude Code but prose-only for Codex and Cursor, and what parity would require (ledger `#258`)
-- [framework-dependency-modernization-checklist.md](framework-dependency-modernization-checklist.md) — ordered Next.js 16, runtime, dependency, Turbopack, and verification migration program
-- [search-rag-master-plan.md](search-rag-master-plan.md) / [search-rag-master-context.md](search-rag-master-context.md) — search/RAG roadmap and shared context
-- [rag-improvement/README.md](rag-improvement/README.md) — reviewed/updated RAG improvement programme: answer-quality track (intent-aware related information, length) + corrected eval/safety infra track
-- [rag-improvement/HANDOVER.md](rag-improvement/HANDOVER.md) — multi-session handover: per-session work packets, status table, checklists, and paste-ready prompts for executing the programme
-- [rag-improvement/COORDINATION.md](rag-improvement/COORDINATION.md) — coordinator handover: programme history, wave/session decisions, babysit playbook, approvals map, and the coordination-chat bootstrap prompt
-- [rag-improvement/231-diagnosis-2026-08-22.md](rag-improvement/231-diagnosis-2026-08-22.md) — `#231` evidence record: the row's timeout premise measured against the 60 Gate E answers, the three populations behind `source_only`, and the grounded-extractive gate gap
-- [rag-improvement/baseline-record.md](rag-improvement/baseline-record.md) — programme evaluation baseline: the six-field report key, gate results, and which gates stay pending an owner-approved provider run
-- [rag-improvement/data-flow-register.md](rag-improvement/data-flow-register.md) — Gate A register: every RAG input, process, sink, retention window, provider egress, and the known gaps
-- [rag-hybrid-findings-and-todo.md](rag-hybrid-findings-and-todo.md) — hybrid retrieval findings backlog
-- [reindex-shadow-harness-design.md](reindex-shadow-harness-design.md) — designed-only shadow reindex harness (driver not built)
-- [ingestion-concurrency-fix-workorder.md](ingestion-concurrency-fix-workorder.md) — ingestion concurrency workorder
-- [redesign/](redesign/) — premium redesign plans, decision log, token adoption
-- [superpowers/](superpowers/) — agent-authored plans and specs
-- **Care Plan (prototype, developer-gated under `/mockups/care-plan`)** — [superpowers/specs/2026-08-20-care-plan-design.md](superpowers/specs/2026-08-20-care-plan-design.md) is the binding design spec, [care-plan-context.md](care-plan-context.md) the binding glossary, [superpowers/plans/2026-08-20-care-plan-implementation.md](superpowers/plans/2026-08-20-care-plan-implementation.md) the implementation plan, [care-plan/sdd-ledger.md](care-plan/sdd-ledger.md) the build ledger and [care-plan/complete-work-ledger.md](care-plan/complete-work-ledger.md) the record of what landed; the dated handoffs, transcripts and reports under [care-plan/](care-plan/) are point-in-time records
-
-### Also catalogued (2026-09-02)
-
-Every remaining tracked document in this category, one line each; the description is the document's own title, with its opening sentence where that adds something.
-
-- [corpus-health-panel-handover.md](corpus-health-panel-handover.md) — Corpus health panel — handover — Status: both changes are merged to main.
-
-### Also catalogued (2026-09-26)
-
-- [cme/design/cme-design-decisions.md](cme/design/cme-design-decisions.md) — CPD mode (mode id `cme`) — design decisions
-- [on-call/design/2026-09-19-review-and-proposals.md](on-call/design/2026-09-19-review-and-proposals.md) — On Call — review of the shipped hub and what to build next, 2026-09-19
-- [on-call/design/mockup-conformance.md](on-call/design/mockup-conformance.md) — On Call hub — mockup conformance ledger
-- [on-call/design/on-call-hub-build-prompt.md](on-call/design/on-call-hub-build-prompt.md) — On Call hub redesign build prompt
-- [product/2026-09-19-doctor-compliance-and-feature-brainstorm.md](product/2026-09-19-doctor-compliance-and-feature-brainstorm.md) — Personal compliance tracker and feature brainstorm, 2026-09-19 — nothing decided
-- [product/2026-09-19-second-recommendations.md](product/2026-09-19-second-recommendations.md) — Seven more recommendations from reading the code, 2026-09-19 — nothing decided
-- [prompts/sources-mode-extraction.md](prompts/sources-mode-extraction.md) — Sources mode extraction prompt
-- [superpowers/plans/2026-09-04-on-call-mode.md](superpowers/plans/2026-09-04-on-call-mode.md) — On Call mode implementation plan
-- [superpowers/plans/2026-09-27-on-call-completion.md](superpowers/plans/2026-09-27-on-call-completion.md) — On Call plan to complete the health-service rebuild (after #3110)
-- [superpowers/plans/2026-09-20-cme-mode-phase-1.md](superpowers/plans/2026-09-20-cme-mode-phase-1.md) — CPD mode (mode id `cme`) phase 1 implementation plan
-- [superpowers/plans/2026-09-25-wa-psychiatry-build.md](superpowers/plans/2026-09-25-wa-psychiatry-build.md) — WA Psychiatry build: fast-lane implementation plan (v2)
-- [superpowers/plans/2026-09-27-roster-mode-overview.md](superpowers/plans/2026-09-27-roster-mode-overview.md) — Roster mode build overview: steps, default decisions, Josh-only actions
-- [superpowers/plans/2026-09-27-roster-mode-plan-a-database.md](superpowers/plans/2026-09-27-roster-mode-plan-a-database.md) — Roster mode plan A: the combined database change (PR #3117)
-- [superpowers/plans/2026-09-27-roster-mode-plan-b-release-1.md](superpowers/plans/2026-09-27-roster-mode-plan-b-release-1.md) — Roster mode plan B: Release 1, one doctor (PR #3118)
-- [superpowers/plans/2026-09-27-roster-mode-plan-c-release-2.md](superpowers/plans/2026-09-27-roster-mode-plan-c-release-2.md) — Roster mode plan C: Release 2, Roster for a health service (the plan to complete it)
-- [superpowers/plans/2026-09-27-roster-mode-status.md](superpowers/plans/2026-09-27-roster-mode-status.md) — Roster mode: where the build stands and the plan to complete it
-- [superpowers/plans/2026-09-27-roster-mode-db-agreement.md](superpowers/plans/2026-09-27-roster-mode-db-agreement.md) — Roster mode: the Roster, On Call, Admin and Teaching agreement on the combined database change
-- [superpowers/plans/2026-09-27-roster-mode-build-brief.md](superpowers/plans/2026-09-27-roster-mode-build-brief.md) — Roster mode: the brief the build threads work from
-- [superpowers/specs/2026-09-30-roster-team-calendar-and-swaps-design.md](superpowers/specs/2026-09-30-roster-team-calendar-and-swaps-design.md) — Roster: team calendar (month, week board, day) and calendar-first swaps design spec
-- [superpowers/plans/2026-09-30-roster-team-calendar-and-swaps.md](superpowers/plans/2026-09-30-roster-team-calendar-and-swaps.md) — Roster: team calendar and calendar-first swaps implementation plan
-- [superpowers/specs/2026-09-04-on-call-mode-design.md](superpowers/specs/2026-09-04-on-call-mode-design.md) — On Call mode design spec
-
-## Subdirectory map
-
-| Directory | What lives there |
-| ------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [decisions/](decisions/) | The owner's recorded decisions, one short file each, indexed by [decisions/README.md](decisions/README.md). Checked by `npm run check:decisions` |
-| [organisation/](organisation/) | The organisation map: one file per area (`systems/`), shared, not-yet-placed and ignored lists, last-read pins. Checked by `npm run check:organisation` |
-| [agents/](agents/) | Agent-rule reference files `AGENTS.md` delegates to by name — the full text of rules its always-loaded core only points at |
-| [rag-behaviour/](rag-behaviour/) | Protected retrieval/ranking surface: behaviour map, refuted approaches, safeguards. **Read before touching ranking.** |
-| [prompts/](prompts/) | Copy/paste review prompts, including the verbatim `codex-cloud-review/` inputs |
-| [codex/](codex/) | Per-lens Codex ultra-review output folders, one per review dimension |
-| [evidence/](evidence/) | Captured evidence artifacts backing ledger items (reliability reports, review manifests) |
-| [audit/](audit/) | Dated repo, design, accessibility, and latency audits (point-in-time) |
-| [redesign/](redesign/) | Premium redesign plans, decision log, token adoption |
-| [superpowers/](superpowers/) | Agent-authored plans and specs |
-| [branch-review-records/](branch-review-records/) | Immutable one-row review records — one file per review — named for the SHA-256 of the row. **Append-only: never edit, delete, or move into subdirectories** ([policy](branch-review-archival-policy.md)) |
-| [archive/](archive/) | Completed phase plans, superseded designs, old progress logs — never current guidance |
-
-## Point-in-time records (historical — do not update)
-
-Dated status reports, reviews, and operator decisions. They describe the repo
-as it was on that date; supersede with a new dated document rather than editing.
-
-- [dsm5tr-handover-reconciliation-2026-09-16.md](dsm5tr-handover-reconciliation-2026-09-16.md) — DSM-5-TR and Sources handover reconciled against HEAD 66105e1: the criteria-provenance fix that shipped, the disposition of all 30 claims, the four items held for owner approval, and why 0 of the 24 supplied sources pass the native acquisition gate
-- [dsm5tr-approvals-queue.md](dsm5tr-approvals-queue.md) — what the DSM-5-TR handover leaves waiting on a person: 16 claims and 9 information concepts needing clinical sign-off, the seven rights questions per source across all 24, and the metadata 17 sources do not print
-- [audit/](audit/) — repo and UX/accessibility audits
-- [audit/full-repository-audit-2026-09-02.md](audit/full-repository-audit-2026-09-02.md) — full repository audit (25 lanes, independently verified findings, closed-off sub-projects, machine evidence, Stage-5 adversarial review; audit only, nothing acted on except one-line documentation corrections)
-- [audit/2026-07-20-repository-maturity.md](audit/2026-07-20-repository-maturity.md) — full repository maturity, mapping, and organisation audit
-- [audit/latency-audit-2026-07-28.md](audit/latency-audit-2026-07-28.md) — latency audit: server, client, and database findings by tier, with the already-cleared list
-- [audit/audit-handover-2026-07-14.md](audit/audit-handover-2026-07-14.md) — multi-skill repository audit findings inventory
-- [audit/audit-remediation-plan-2026-07-14.md](audit/audit-remediation-plan-2026-07-14.md) — sequenced remediation plan for the 2026-07-14 audit, with the 2026-07-17 reconciliation
-- [audit/design-audit-2026-07-17.md](audit/design-audit-2026-07-17.md) — repository-wide design, accessibility, and interaction audit
-- [audit/cloud-connection-acceptance-2026-08-05.md](audit/cloud-connection-acceptance-2026-08-05.md) — hosted versus local MCP boundary acceptance, Personal Pro split control plane, and remaining Cloud launcher blockers
-- [audit/claude-code-cloud-connection-acceptance-2026-08-17.md](audit/claude-code-cloud-connection-acceptance-2026-08-17.md) — Claude Code desktop-vs-cloud connector parity check (Railway/Figma/Sentry/Supabase/GitHub live-verified), dependency-currency hook, open Supabase-scope and GitHub-portability items
-- [audit/2026-09-17-external-audit-refutations.md](audit/2026-09-17-external-audit-refutations.md) — what the 2026-09-17 external audit got wrong and why: it read a commit 31 behind `main`, eight findings refuted with evidence (four re-verified 2026-09-18), which findings were real but already decided, and the two questions still worth a person
-- [audit/2026-09-16-catalogue-read-latency.md](audit/2026-09-16-catalogue-read-latency.md) — every public catalogue read re-hashed the whole 9.5 MB frozen corpus (live mean 8,656 ms, max 17,263 ms); mitigated in the application, root cause still needs a migration and an approved window
-- [audit/2026-09-16-registry-search-outage.md](audit/2026-09-16-registry-search-outage.md) — why registry search returned nothing for seven days; same read path as the catalogue-latency record, different defect
-- [audit/psychsift-differentials-handover-reconciliation-2026-09-16.md](audit/psychsift-differentials-handover-reconciliation-2026-09-16.md) — the Differentials handover reconciled against repository records: why the evidence adapter is blocked, and the claim-to-record mapping the package cannot supply
-- [audit/codex-cloud-reliability-20260907.md](audit/codex-cloud-reliability-20260907.md) — Codex Cloud reliability record, 2026-09-07
-- [current-clinical-work-brief.md](current-clinical-work-brief.md) — ledger #063 product/privacy/persistence brief (decision only, no implementation)
-- [factsheets-reading-model-brief.md](factsheets-reading-model-brief.md) — ledger #041 reading-model decision (no second Factsheets mode)
-- [tooling-follow-through-decisions-2026-08-12.md](tooling-follow-through-decisions-2026-08-12.md) — ledger #150 CodeRabbit cap policy and #151 GitHub Actions observation fallback
-- [staging-shutdown-and-repo-review-handover-2026-09-06.md](staging-shutdown-and-repo-review-handover-2026-09-06.md) — why shutting staging down does not block drift detection or repair (and what it does block), plus three off-ledger findings: the open SaMD classification on a live patient-specific feature, the spend threshold that alerts without enforcing, and unreachable password sign-in
-- [evidence/forms-operational-guidance-review.md](evidence/forms-operational-guidance-review.md) — generated sign-off sheet: what the Forms mode displays for each of the 54 forms, the sections and approved form it was drafted from, and how a reviewer records sign-off one form at a time (`npm run forms:review-sheet`)
-- [evidence/forms-pdf-publisher-comparison-2026-09-16.md](evidence/forms-pdf-publisher-comparison-2026-09-16.md) — byte comparison of all 51 approved-form PDFs against the Office of the Chief Psychiatrist's own URLs (51 of 51 identical), the same-day register reconciliation of all 54 codes and availability states, and the Form 10G register typo this repository does not copy
-- [wa-mha-forms-handover-reconciliation-2026-09-16.md](wa-mha-forms-handover-reconciliation-2026-09-16.md) — reconciliation receipt for the portable WA MHA Forms/Sources handover: what the Forms catalogue actually carried (40 of 54 forms on PDF-indexing scaffolding or the generic fallback), what landed, the zero-insert source preview and its single Act URL conflict, and the open clinical sign-off, Act-currency and asset gates
-- [source-governance-refresh-worklist-2026-07-22.md](source-governance-refresh-worklist-2026-07-22.md) — ledger #022 worklist and BMJ attestation policy status
-- [specifier-definition-worklist-2026-09-18.md](specifier-definition-worklist-2026-09-18.md) — issue #693 clinical worklist for the 585-item specifier catalogue: why "71 defined" is really 14, that nothing carries clinician sign-off, the A/B/C triage split, the 63 management-changing items in full, and a worked example of what a completed entry must contain
-- [specifier-entry-worksheet-with-catatonia.md](specifier-entry-worksheet-with-catatonia.md) — the first specifier entry laid out for completion: one shared definition, nine per-disorder rows, the exact field changes, and the sign-off block, with every clinical statement blank
-- `release-source-metadata-debt-2026-06-30.json` — captured source-metadata debt policy, consumed by `npm run audit:source-governance:release` and `npm run eval:quality:release`
-- [forward-codify-retrieval-rpcs-workorder.md](forward-codify-retrieval-rpcs-workorder.md) — completed retrieval RPC codification workorder
-- [project-alignment-cleanup.md](archive/project-alignment-cleanup.md) — completed June 2026 repo-alignment record
-- [capacity-review.md](audit/capacity-review.md), [scale-readiness-review.md](audit/scale-readiness-review.md), [tenancy-defense-in-depth-review.md](audit/tenancy-defense-in-depth-review.md)
-- `*-2026-*` findings and status docs, e.g. [chunking-ocr-reindex-lever-finding-2026-07-08.md](chunking-ocr-reindex-lever-finding-2026-07-08.md), [source-governance-status-2026-07-08.md](archive/source-governance-status-2026-07-08.md), [source-governance-priorities-2026-07-02.md](archive/source-governance-priorities-2026-07-02.md), [source-review-priority-2026-07-02.md](source-review-priority-2026-07-02.md), [operator-apply-july8-batch.md](archive/operator-apply-july8-batch.md)
-
-### Also catalogued (2026-09-02)
-
-Every remaining tracked document in this category (dated records and the `evidence/`, `archive/`, `audit/`, `care-plan/` and `superpowers/` folders — historical; do not update), one line each; the description is the document's own title, with its opening sentence where that adds something.
-
-- [review-findings-2026-08-02.md](review-findings-2026-08-02.md) — Mega-review report — TypeScript, code, quality, explicit-any, unchecked indexed access — Date: 2026-08-02 Scope:
-- [evidence/bundle-budget-production-rebaseline-2026-08-18.md](evidence/bundle-budget-production-rebaseline-2026-08-18.md) — Production bundle-budget re-baseline — 2026-08-18 — check:bundle-budget compares the client JavaScript a non-mockup route can reach against a baseline captured from a known-good build.
-- [evidence/mha-2014-section-summaries-review.md](evidence/mha-2014-section-summaries-review.md) — Mental Health Act 2014 (WA) — section summary review sheet — Act version 02-b0-01, as at 2025-09-25.
-- [evidence/mobile-root-timing-control-2026-08-26.md](evidence/mobile-root-timing-control-2026-08-26.md) — Mobile-root timing control — 2026-08-26 — The mobile-root timing signal recorded during PR #2313 was not reproduced on pinned Linux CI.
-- [evidence/performance-remediation-2026-08-23.md](evidence/performance-remediation-2026-08-23.md) — Current-main performance remediation evidence — 2026-08-23 — This change fixes the two deterministically attributed layout mechanisms on the shared search shell, removes an unsolicited Applications-rou…
-- [evidence/rag-irrelevant-at-10-disposition.md](evidence/rag-irrelevant-at-10-disposition.md) — RAG irrelevant-at-10 labeling disposition & browser matrix evidence — 2026-08-27 — This document records the human review disposition and scheduled browser matrix verification for ledger issue #023 (P2), completing the eval…
-- [evidence/rag-reliability-evidence-2026-07-27.md](evidence/rag-reliability-evidence-2026-07-27.md) — RAG reliability evidence — 2026-07-27 — This record captures the final local/live evidence for the 2026-07-27 RAG reliability work.
-- [archive/BRANCH_ARCHIVE_20260709.md](archive/BRANCH_ARCHIVE_20260709.md) — Obsolete Branch Archive — This branch preserves the histories of obsolete remote branches before deleting their scattered refs.
-- [archive/COLOR_REDESIGN_PLAN.md](archive/COLOR_REDESIGN_PLAN.md) — Luxury Black-First Color Redesign Plan (Global UI Polish) — Apply a refined, premium dark-first visual system across the app with minimal risk:
-- [archive/TOOLS_CONTEXT_FOR_NEW_CHAT.md](archive/TOOLS_CONTEXT_FOR_NEW_CHAT.md) — Context handoff: Tools / Applications UX task — I’m creating this file so a new chat can continue the exact task with full context, including screenshots referenced so far.
-- [archive/branch-cleanup-2026-06-28.md](archive/branch-cleanup-2026-06-28.md) — Branch Cleanup Snapshot — 2026-06-28 — Archived from docs/branch-cleanup-guide.md on 2026-07-04.
-- [archive/branch-progress-2026-07-05.md](archive/branch-progress-2026-07-05.md) — Branch Progress Snapshot — 2026-07-05 — Archived from the working tree on 2026-07-05.
-- [archive/branch-review-ledger-2026-q3.md](archive/branch-review-ledger-2026-q3.md) — Branch Review Ledger Archive — 2026-q3 — Historical review records rotated out of docs/branch-review-ledger.md so the live table stays navigable.
-- [archive/clinical-chat-ui-implementation-plan.md](archive/clinical-chat-ui-implementation-plan.md) — Clinical Chat UI Implementation Plan — Date: 2026-06-23…
-- [archive/clinical-chat-ui-phase-checklist.md](archive/clinical-chat-ui-phase-checklist.md) — Clinical Chat UI Phase Checklist — Date: 2026-06-23…
-- [archive/cloud-chat-reconciliation-2026-07-22.md](archive/cloud-chat-reconciliation-2026-07-22.md) — Cloud-chat reconciliation record — 2026-07-22 — This record closes the Database cloud-chat reconciliation against protected origin/main.
-- [archive/cloud-chat-reconciliation-postmortem-2026-07-23.md](archive/cloud-chat-reconciliation-postmortem-2026-07-23.md) — Cloud-chat reconciliation postmortem — 2026-07-23 — This is the durable final account of the Database cloud-chat reconciliation.
-- [archive/design-qa-2026-07-15.md](archive/design-qa-2026-07-15.md) — Design QA — 2026-07-15 — Final result: blocked.
-- [archive/design-qa.md](archive/design-qa.md) — design-qa
-- [archive/operator-decisions-2026-07-04.md](archive/operator-decisions-2026-07-04.md) — Operator decisions — 2026-07-04 — Historical snapshot of manual follow-ups deferred during documentation and verification gate recovery work.
-- [archive/operator-decisions-2026-07-06.md](archive/operator-decisions-2026-07-06.md) — Operator decisions — 2026-07-06 — Approvals granted during the repository-review follow-up session.
-- [archive/phase-3-design-decision-log.md](archive/phase-3-design-decision-log.md) — Phase 3 Design Decision Log — Changed: The dashboard command header is being reworked around a full-width mobile question input, larger mode controls, and sheet-like scop…
-- [archive/phase-6-reaudit-2026-06-29.md](archive/phase-6-reaudit-2026-06-29.md) — Phase 6 Re-Audit - June 29, 2026 — This pass re-checked the remediation work after the M2 merge and live Supabase migration.
-- [archive/rag-scalability-wip-remediation-2026-07-17.md](archive/rag-scalability-wip-remediation-2026-07-17.md) — RAG-scalability WIP review — remediation report (2026-07-17) — Status: F11 shipped and merged;
-- [archive/rag-scalability-wip-review-handover-2026-07-15.md](archive/rag-scalability-wip-review-handover-2026-07-15.md) — Handover — RAG scalability WIP review findings (2026-07-15) — Status: findings + remediation plan recorded;
-- [archive/search-rag-phase-0-baseline.md](archive/search-rag-phase-0-baseline.md) — Search/RAG Phase 0 Baseline — Date: 2026-06-29 Workspace:
-- [archive/search-rag-phase-1-api-validation.md](archive/search-rag-phase-1-api-validation.md) — Search/RAG Phase 1: API Validation Contract — Date: 2026-06-29 Workspace:
-- [archive/search-rag-phase-2-answer-plan.md](archive/search-rag-phase-2-answer-plan.md) — Search/RAG Phase 2: Answer Plan Contract — Date: 2026-06-29 Workspace:
-- [archive/search-rag-phase-3-synthesis-output.md](archive/search-rag-phase-3-synthesis-output.md) — Phase 3: Synthesis Prompt And Structured Output Hardening — Make the model the final clinical composer while keeping generated output grounded, evidence-ID constrained, and machine-validated before it…
-- [archive/search-rag-phase-4-canonical-render-policy.md](archive/search-rag-phase-4-canonical-render-policy.md) — Phase 4: Canonical Render Policy — Prevent noisy answer panels by rendering from a normalized display policy instead of raw RagAnswer field presence.
-- [archive/search-rag-phase-5-source-review-ux.md](archive/search-rag-phase-5-source-review-ux.md) — Phase 5: Source Review UX — Make evidence review fast, consistent, clickable, and accessible across desktop and mobile.
-- [archive/search-rag-phase-5.5-retrieval-quality-source-selection.md](archive/search-rag-phase-5.5-retrieval-quality-source-selection.md) — Phase 5.5: Retrieval Quality And Source Selection Contract — Fix the remaining retrieval/source-selection failures before final security hardening.
-- [archive/search-rag-phase-5.5b-retrieval-follow-up.md](archive/search-rag-phase-5.5b-retrieval-follow-up.md) — Phase 5.5b: Visual Retrieval And Supported-Answer Recovery — Phase 5.5 fixed the first set of targeted retrieval misses, but the follow-up eval still showed two retrieval defects and a separate RAG-eva…
-- [archive/search-rag-pre-phase-2-diff-classification.md](archive/search-rag-pre-phase-2-diff-classification.md) — Pre-Phase 2 Dirty Diff Classification — Date: 2026-06-29 Workspace:
-- [audit/gate-consolidation-audit-2026-09-02.md](audit/gate-consolidation-audit-2026-09-02.md) — Gate consolidation audit — 2026-09-02 — Status: proposal only.
-- [audit/live-design-interaction-audit-2026-08-06.md](audit/live-design-interaction-audit-2026-08-06.md) — Live design & interaction audit — master report — Date: 2026-08-06 App:
-- [audit/live-drift-forensics-2026-08.md](audit/live-drift-forensics-2026-08.md) — Live-drift forensics — 2026-08 — Evidence record for the phased database remediation plan and playbook.
-- [audit/performance-image-cwv-audit-2026-08-02.md](audit/performance-image-cwv-audit-2026-08-02.md) — Performance, Image & Core Web Vitals Audit — PsychSift Production — Date: 2026-08-02 Scope:
-- [audit/primary-checkout-reconciliation-2026-07-24.md](audit/primary-checkout-reconciliation-2026-07-24.md) — Primary checkout reconciliation — 2026-07-24 — This record covers the dirty primary checkout and the final cloud-chat salvage wave.
-- [audit/repo-audit-2026-07-01.md](audit/repo-audit-2026-07-01.md) — Repository Audit — PsychSift Production — Date: 2026-07-01 Branch:
-- [audit/repo-wide-review-remediation-plan-2026-07-23.md](audit/repo-wide-review-remediation-plan-2026-07-23.md) — Repository-wide review remediation completion plan — 2026-07-24 — Complete every outstanding finding from the 2026-07-19 repository-wide review sweep with the smallest safe patches, clear ownership boundari…
-- [audit/repo-wide-review-sweep-2026-07-19.md](audit/repo-wide-review-sweep-2026-07-19.md) — Repository-wide review sweep — 2026-07-19 — This was a broad static repository sweep of /workspace/Database on branch work, combining the repo workflow guidance, local static commands,…
-- [audit/ux-accessibility-review-2026-07-07.md](audit/ux-accessibility-review-2026-07-07.md) — UX & Accessibility Review — Date: 2026-07-07 Reviewer role:
-- [audit/worktree-reconciliation-2026-08-23.md](audit/worktree-reconciliation-2026-08-23.md) — Worktree and branch reconciliation — 2026-08-23 — Disposition: preservation-first;
-- [care-plan/CLAUDE-START-HERE.md](care-plan/CLAUDE-START-HERE.md) — Care Plan — Claude start here — Last updated: 22 August 2026 (Australia/Perth) Implementation status:
-- [care-plan/HANDOFF-2026-08-24-SUPERSEDED.md](care-plan/HANDOFF-2026-08-24-SUPERSEDED.md) — Care Plan — complete handoff package — Assembled 24 August 2026, when the previous session hit its weekly account limit.
-- [care-plan/HANDOFF-START-HERE.md](care-plan/HANDOFF-START-HERE.md) — Care Plan — start here — Rewritten 1 September 2026.
-- [care-plan/accessibility-acceptance.md](care-plan/accessibility-acceptance.md) — Care Plan — accessibility and responsive acceptance — What was checked, how, at what size, in what mode — and, just as importantly, what was not checked and therefore remains an open acceptance…
-- [care-plan/claude-build-handover-2026-08-21.md](care-plan/claude-build-handover-2026-08-21.md) — ED Care Plans — detailed Claude build handover — ED Care Plans is fully brainstormed, clinically bounded, visually selected, specified, and decomposed into a nine-task implementation plan.
-- [care-plan/clinical-language-trace.md](care-plan/clinical-language-trace.md) — Care Plan — clinical language trace — Every consequential label the prototype shows a reader, traced to the glossary term or specification sentence it comes from, and the banned…
-- [care-plan/cloud-session.md](care-plan/cloud-session.md) — Care Plan — cloud session brief and progress log — If you are an AI session working on Care Plan in the cloud, this is the first file you read and the last file you write.
-- [care-plan/conversation-transcript-2026-08-21.md](care-plan/conversation-transcript-2026-08-21.md) — ED Care Plans — Codex conversation transcript — This is a portable transcript of the conversational text.
-- [care-plan/implementation-handoff.md](care-plan/implementation-handoff.md) — Care Plan — implementation handoff — What was built, where it lives, what it deliberately does not do, and what would have to be true before any of it went near a patient.
-- [care-plan/interaction-matrix.md](care-plan/interaction-matrix.md) — Care Plan — interaction matrix — Every control in the prototype:
-- [care-plan/patient-facing-sheets/README.md](care-plan/patient-facing-sheets/README.md) — The three printed sheets, as text — Committed 2 September 2026 so that a session without access to this machine — a cloud session above all — can read what Care Plan actually p…
-- [care-plan/reports/final-fix-report.md](care-plan/reports/final-fix-report.md) — Care Plan — final fix wave — Branch: claude/care-plan-stage-b-9-11 Worktree:
-- [care-plan/reports/task-10-report.md](care-plan/reports/task-10-report.md) — Task 10 — Reviews, Team, Governance, History, and System states — Branch claude/care-plan-stage-b-9-11, worktree D:\Worktrees\Database\care-plan-impl.
-- [care-plan/reports/task-11-report.md](care-plan/reports/task-11-report.md) — Task 11 — Browser journeys, responsive and accessibility proof, documentation, handoff — Branch claude/care-plan-stage-b-9-11, worktree D:\Worktrees\Database\care-plan-impl.
-- [care-plan/reports/task-3-brief.md](care-plan/reports/task-3-brief.md) — task-3-brief
-- [care-plan/reports/task-3-report.md](care-plan/reports/task-3-report.md) — Task 3 report — gated route family, literal navigation, responsive clinical shell — Branch claude/ed-care-plans-impl-7f44cd, worktree D:\Worktrees\Database\care-plan-impl, base d421bc2dc.
-- [care-plan/reports/task-4-brief.md](care-plan/reports/task-4-brief.md) — task-4-brief
-- [care-plan/reports/task-4-report.md](care-plan/reports/task-4-report.md) — Task 4 report — Clinical Snapshot, patient search, Current Plan hierarchy, CMHT actions — Branch claude/ed-care-plans-impl-7f44cd, worktree D:\Worktrees\Database\care-plan-impl.
-- [care-plan/reports/task-5-brief.md](care-plan/reports/task-5-brief.md) — task-5-brief
-- [care-plan/reports/task-5-report.md](care-plan/reports/task-5-report.md) — Task 5 report — Management Plan reading, pinned safety boundary, and clinician print — Branch claude/ed-care-plans-impl-7f44cd, worktree D:\Worktrees\Database\care-plan-impl.
-- [care-plan/reports/task-6-brief.md](care-plan/reports/task-6-brief.md) — task-6-brief
-- [care-plan/reports/task-6-report.md](care-plan/reports/task-6-report.md) — Task 6 report — governed Management Plan authoring — Stage B opens with the first authoring surface in the product:
-- [care-plan/reports/task-7-brief.md](care-plan/reports/task-7-brief.md) — task-7-brief
-- [care-plan/reports/task-7-report.md](care-plan/reports/task-7-report.md) — Task 7 report — ED Presentation timeline, concise recording, plan-use feedback, and visible amendments — Branch claude/ed-care-plans-impl-7f44cd, worktree D:\Worktrees\Database\care-plan-impl.
-- [care-plan/reports/task-8-brief.md](care-plan/reports/task-8-brief.md) — task-8-brief
-- [care-plan/reports/task-8-report.md](care-plan/reports/task-8-report.md) — Task 8 report — the patient's own Personal Safety Plan, its versioning, and its printed copy — Worktree D:\Worktrees\Database\care-plan-impl, branch claude/ed-care-plans-impl-7f44cd.
-- [care-plan/reports/task-9-brief.md](care-plan/reports/task-9-brief.md) — task-9-brief
-- [care-plan/reports/task-9-report.md](care-plan/reports/task-9-report.md) — Task 9 report — Patient Plan — Commit: f4de82034 — feat(care-plan):
-- [care-plan/reports/task-d1-report.md](care-plan/reports/task-d1-report.md) — Task D1 — the moment the person's part was recorded — Status: COMPLETE. Fast checks only, by user instruction (D2).
-- [care-plan/session-handoff-2026-08-21.md](care-plan/session-handoff-2026-08-21.md) — Care Plan — session handoff, 21 August 2026 — Written at the end of the controlling Claude session that designed Care Plan and built Tasks 1 and 2.
-- [care-plan/session-handoff-2026-08-23.md](care-plan/session-handoff-2026-08-23.md) — Care Plan — session handoff, 23 August 2026 — Written at the moment the session was closed, mid-task.
-- [care-plan/verification-log-2026-08-21.md](care-plan/verification-log-2026-08-21.md) — ED Care Plans — handover verification log — This log records evidence for the design/planning/handover package only.
-- [care-plan/verification-report.md](care-plan/verification-report.md) — Care Plan — verification report (Task 11) — Exact commands, exit codes, result lines, failures, and — just as important — the checks that were not run and why.
-- [superpowers/plans/2026-07-04-public-anonymous-access-rate-limits.md](superpowers/plans/2026-07-04-public-anonymous-access-rate-limits.md) — Public Anonymous Access and Rate Limiting Implementation Plan — Goal: Remove the forced sign-in/authorization barrier so anonymous users can run live searches, generate answers, browse/view source documen…
-- [superpowers/plans/2026-07-24-webkit-rsc-prefetch-disposition.md](superpowers/plans/2026-07-24-webkit-rsc-prefetch-disposition.md) — WebKit RSC Prefetch Disposition Implementation Plan — Goal: Disposition issue #024 by proving whether the WebKit _rsc access-control page error is caused by the route-coverage harness, applying…
-- [superpowers/plans/2026-08-05-editable-pin-menu-mockups.md](superpowers/plans/2026-08-05-editable-pin-menu-mockups.md) — Search + Editable Pins Menu — Implementation Record — Perfect /mockups/search-lens-menu around editable app-destination pins while preserving the original visual direction.
-- [superpowers/plans/2026-08-20-rag-adaptive-answer.md](superpowers/plans/2026-08-20-rag-adaptive-answer.md) — Adaptive RAG answer and display — Implementation Plan — Goal: Extend the landed v19 moderate-length/related-information contract into evidence-gated adaptive answers, and remove the independent si…
-- [superpowers/plans/2026-08-20-rag-australian-source-governance.md](superpowers/plans/2026-08-20-rag-australian-source-governance.md) — Australian source governance for RAG — Implementation Plan — Goal: Establish a typed, enforceable Australian source catalogue that augments uploaded indexed guidelines, excludes Healthdirect, treats eT…
-- [superpowers/plans/2026-08-20-rag-evaluation-rollout.md](superpowers/plans/2026-08-20-rag-evaluation-rollout.md) — RAG programme evaluation, rollout, and operations — Implementation Plan — Goal: Make every source, retrieval, answer, fallback, re-index, and incremental-delivery improvement measurable, privacy-minimised, reversib…
-- [superpowers/plans/2026-08-20-rag-ingestion-reindex.md](superpowers/plans/2026-08-20-rag-ingestion-reindex.md) — Governed ingestion audit and reversible targeted re-index — Implementation Plan — Goal: Determine which documents genuinely need repair, acquire only allowlisted public Australian versions into a governed shadow state, cor…
-- [superpowers/plans/2026-08-20-rag-retrieval-composition.md](superpowers/plans/2026-08-20-rag-retrieval-composition.md) — RAG query planning, combined retrieval, and fallback — Implementation Plan — Goal: Stop false “not enough information” answers by decomposing only genuinely broad questions, searching shared uploaded guidance, current…
-- [superpowers/plans/2026-08-20-rag-verified-incremental-delivery.md](superpowers/plans/2026-08-20-rag-verified-incremental-delivery.md) — Verified incremental RAG delivery — Implementation Plan — Goal: Make the chat begin showing useful answer text sooner, while preserving the rule that no raw token, provisional dose, incomplete JSON,…
-- [superpowers/plans/2026-08-21-developer-hub-phase-1-COMPLETION.md](superpowers/plans/2026-08-21-developer-hub-phase-1-COMPLETION.md) — Developer hub Phase 1 — completion record — Companion to -HANDOFF.md (how to resume) and -WORKLOG.md (the full history through Task 2).
-- [superpowers/plans/2026-08-21-developer-hub-phase-1-HANDOFF.md](superpowers/plans/2026-08-21-developer-hub-phase-1-HANDOFF.md) — Developer hub Phase 1 — handoff — Read this before touching the plan.
-- [superpowers/plans/2026-08-21-developer-hub-phase-1-WORKLOG.md](superpowers/plans/2026-08-21-developer-hub-phase-1-WORKLOG.md) — Developer hub Phase 1 — complete worklog — Everything done on this work, in order, including what failed.
-- [superpowers/plans/2026-08-21-developer-hub-phase-1.md](superpowers/plans/2026-08-21-developer-hub-phase-1.md) — Developer hub — Phase 1 implementation plan — Goal: Turn /mockups/development into a login-gated developer hub whose first live panel is a task ledger rendered from docs/outstanding-issu…
-- [superpowers/plans/2026-08-21-rag-repository-content-sync.md](superpowers/plans/2026-08-21-rag-repository-content-sync.md) — Repository-wide first-party content retrieval and freshness — Implementation Plan — Goal: Let Answer mode retrieve the relevant approved the product content for questions about specifiers, differentials, medications, service…
-- [superpowers/plans/2026-08-21-trusted-admin-document-ingestion.md](superpowers/plans/2026-08-21-trusted-admin-document-ingestion.md) — Trusted Admin/Backend Document Ingestion — Implementation Plan — Goal: Make a trusted administrator/backend upload the clinical-admission event, then automatically activate the document for shared clinical…
-- [superpowers/plans/2026-08-22-developer-hub-phase-2-HANDOFF.md](superpowers/plans/2026-08-22-developer-hub-phase-2-HANDOFF.md) — Developer hub Phase 2 — handoff — Companion to the plan (2026-08-22-developer-hub-phase-2.md) and the approved spec (docs/superpowers/specs/2026-08-22-developer-hub-phase-2-d…
-- [superpowers/plans/2026-08-22-developer-hub-phase-2.md](superpowers/plans/2026-08-22-developer-hub-phase-2.md) — Developer hub Phase 2 (repo awareness) Implementation Plan — Goal: Fill the developer hub's four phase:
-- [superpowers/plans/2026-08-22-mode-aware-clinical-ask-implementation.md](superpowers/plans/2026-08-22-mode-aware-clinical-ask-implementation.md) — Mode-aware Clinical Ask Implementation Plan — Goal: Add an explicit typed-or-dictated Clinical Ask action to Services, Forms, Differentials, Formulation, DSM-5 Diagnosis, Specifiers, and…
-- [superpowers/plans/2026-08-23-clinical-trust-cockpit.md](superpowers/plans/2026-08-23-clinical-trust-cockpit.md) — Clinical trust cockpit — implementation plan — Goal: Give authorised reviewers one place to see content maturity, source-change impact, and quality feedback with explicit ownership and ev…
-- [superpowers/plans/2026-08-23-favourites-and-reconciliation.md](superpowers/plans/2026-08-23-favourites-and-reconciliation.md) — Favourites and repository reconciliation — implementation plan — Goal: Complete stable-reference favourites and leave the branch/worktree fleet safer without sacrificing recoverable work.
-- [superpowers/plans/2026-08-23-lighthouse-local-build-reliability.md](superpowers/plans/2026-08-23-lighthouse-local-build-reliability.md) — Lighthouse Local Build Reliability Implementation Plan — Goal: Let the repository-owned Lighthouse workflow complete its isolated production build on the supported Windows workstation without weake…
-- [superpowers/plans/2026-08-23-outstanding-p2-p3-remediation.md](superpowers/plans/2026-08-23-outstanding-p2-p3-remediation.md) — Outstanding P2/P3 Remediation Implementation Plan — Goal: Resolve all 55 supplied P2/P3 ledger rows through permanent repository fixes, evidence-backed closures, or accurate external-gate upda…
-- [superpowers/plans/2026-08-23-performance-remediation-current-main.md](superpowers/plans/2026-08-23-performance-remediation-current-main.md) — Current-main Performance Remediation Implementation Plan — Goal: Resolve the performance defects that remain evidenced on current main, strengthen the measurement and budget guardrails that failed to…
-- [superpowers/plans/2026-08-23-platform-contracts-readiness.md](superpowers/plans/2026-08-23-platform-contracts-readiness.md) — Platform contracts and readiness — implementation plan — Goal: Make API/model payloads, privacy readiness, alerts, and clinical-hazard evidence machine-checkable without overstating external accept…
-- [superpowers/plans/2026-08-25-developer-hub-ingestion-panel.md](superpowers/plans/2026-08-25-developer-hub-ingestion-panel.md) — Developer hub — ingestion panel — Date: 2026-08-25 Status:
-- [superpowers/plans/2026-09-01-calculators-clinical-safety.md](superpowers/plans/2026-09-01-calculators-clinical-safety.md) — Calculators clinical safety and governance implementation plan
-- [superpowers/plans/2026-09-01-native-smart-catalogue-search.md](superpowers/plans/2026-09-01-native-smart-catalogue-search.md) — Native Smart Catalogue Search Implementation Plan — Goal: Add safe, provider-free natural-language catalogue search to Medication, Tools, Calculators, Factsheets, and Dictionary while preservi…
-- [superpowers/plans/2026-09-01-services-safety-provenance.md](superpowers/plans/2026-09-01-services-safety-provenance.md) — Services Safety and Provenance Foundation — Implementation Plan — 2. Add canonical source modules and validation.
-- [superpowers/plans/2026-09-01-sources-mode.md](superpowers/plans/2026-09-01-sources-mode.md) — Sources Mode Implementation Plan — Goal: Build a read-only /sources application mode that automatically catalogues, organises, rates, ranks and traces every structured academi…
-- [superpowers/rag-upgrade/CLOUD-EXECUTION-PROMPT.md](superpowers/rag-upgrade/CLOUD-EXECUTION-PROMPT.md) — Cloud execution prompt template — Use the final handover message's filled prompt, not this unfilled template.
-- [superpowers/rag-upgrade/LOCAL-CONNECTED-EXECUTION-PROMPT.md](superpowers/rag-upgrade/LOCAL-CONNECTED-EXECUTION-PROMPT.md) — New-session local connected execution prompt — Use this only after Cloud P17 and accepted PROGRAMME.json are published.
-- [superpowers/rag-upgrade/canonical/START-HERE.cloud.md](superpowers/rag-upgrade/canonical/START-HERE.cloud.md) — Cloud execution package — start here — This package executes P00–P17 only.
-- [superpowers/rag-upgrade/canonical/START-HERE.local.md](superpowers/rag-upgrade/canonical/START-HERE.local.md) — Local operational package — start here — This is the new-session Windows/local handover for L00–L10 after accepted Cloud P00–P17 work.
-- [superpowers/rag-upgrade/canonical/approval-matrix.md](superpowers/rag-upgrade/canonical/approval-matrix.md) — Authority and approval matrix — Authority is action- and target-specific.
-- [superpowers/rag-upgrade/canonical/connected-execution.md](superpowers/rag-upgrade/canonical/connected-execution.md) — Local connected execution contract — This contract begins only after P17 and the immutable offline PROGRAMME.json are accepted and published.
-- [superpowers/rag-upgrade/canonical/execution-order.md](superpowers/rag-upgrade/canonical/execution-order.md) — RAG upgrade execution order — The manifest is the scheduling authority.
-- [superpowers/rag-upgrade/canonical/sdd-execution.md](superpowers/rag-upgrade/canonical/sdd-execution.md) — Subagent-driven execution contract — The tracked .agents/skills/rag-cloud-sdd/SKILL.md is the self-contained Cloud controller.
-- [superpowers/rag-upgrade/cloud/START-HERE.md](superpowers/rag-upgrade/cloud/START-HERE.md) — Cloud execution package — start here — This package executes P00–P17 only.
-- [superpowers/rag-upgrade/cloud/approval-matrix.md](superpowers/rag-upgrade/cloud/approval-matrix.md) — Authority and approval matrix — Authority is action- and target-specific.
-- [superpowers/rag-upgrade/cloud/connected-execution.md](superpowers/rag-upgrade/cloud/connected-execution.md) — Local connected execution contract — This contract begins only after P17 and the immutable offline PROGRAMME.json are accepted and published.
-- [superpowers/rag-upgrade/cloud/execution-order.md](superpowers/rag-upgrade/cloud/execution-order.md) — RAG upgrade execution order — The manifest is the scheduling authority.
-- [superpowers/rag-upgrade/cloud/plans/2026-08-20-rag-adaptive-answer.md](superpowers/rag-upgrade/cloud/plans/2026-08-20-rag-adaptive-answer.md) — Adaptive RAG answer and display — Implementation Plan — Goal: Extend the landed v19 moderate-length/related-information contract into evidence-gated adaptive answers, and remove the independent si…
-- [superpowers/rag-upgrade/cloud/plans/2026-08-20-rag-australian-source-governance.md](superpowers/rag-upgrade/cloud/plans/2026-08-20-rag-australian-source-governance.md) — Australian source governance for RAG — Implementation Plan — Goal: Establish a typed, enforceable Australian source catalogue that augments uploaded indexed guidelines, excludes Healthdirect, treats eT…
-- [superpowers/rag-upgrade/cloud/plans/2026-08-20-rag-evaluation-rollout.md](superpowers/rag-upgrade/cloud/plans/2026-08-20-rag-evaluation-rollout.md) — RAG programme evaluation, rollout, and operations — Implementation Plan — Goal: Make every source, retrieval, answer, fallback, re-index, and incremental-delivery improvement measurable, privacy-minimised, reversib…
-- [superpowers/rag-upgrade/cloud/plans/2026-08-20-rag-ingestion-reindex.md](superpowers/rag-upgrade/cloud/plans/2026-08-20-rag-ingestion-reindex.md) — Governed ingestion audit and reversible targeted re-index — Implementation Plan — Goal: Determine which documents genuinely need repair, acquire only allowlisted public Australian versions into a governed shadow state, cor…
-- [superpowers/rag-upgrade/cloud/plans/2026-08-20-rag-retrieval-composition.md](superpowers/rag-upgrade/cloud/plans/2026-08-20-rag-retrieval-composition.md) — RAG query planning, combined retrieval, and fallback — Implementation Plan — Goal: Stop false “not enough information” answers by decomposing only genuinely broad questions, searching shared uploaded guidance, current…
-- [superpowers/rag-upgrade/cloud/plans/2026-08-20-rag-verified-incremental-delivery.md](superpowers/rag-upgrade/cloud/plans/2026-08-20-rag-verified-incremental-delivery.md) — Verified incremental RAG delivery — Implementation Plan — Goal: Make the chat begin showing useful answer text sooner, while preserving the rule that no raw token, provisional dose, incomplete JSON,…
-- [superpowers/rag-upgrade/cloud/plans/2026-08-21-rag-repository-content-sync.md](superpowers/rag-upgrade/cloud/plans/2026-08-21-rag-repository-content-sync.md) — Repository-wide first-party content retrieval and freshness — Implementation Plan — Goal: Let Answer mode retrieve the relevant approved the product content for questions about specifiers, differentials, medications, service…
-- [superpowers/rag-upgrade/cloud/plans/2026-08-21-trusted-admin-document-ingestion.md](superpowers/rag-upgrade/cloud/plans/2026-08-21-trusted-admin-document-ingestion.md) — Trusted Admin/Backend Document Ingestion — Implementation Plan — Goal: Make a trusted administrator/backend upload the clinical-admission event, then automatically activate the document for shared clinical…
-- [superpowers/rag-upgrade/cloud/sdd-execution.md](superpowers/rag-upgrade/cloud/sdd-execution.md) — Subagent-driven execution contract — The tracked .agents/skills/rag-cloud-sdd/SKILL.md is the self-contained Cloud controller.
-- [superpowers/rag-upgrade/cloud/specs/2026-08-20-rag-answer-and-australian-sources-design.md](superpowers/rag-upgrade/cloud/specs/2026-08-20-rag-answer-and-australian-sources-design.md) — RAG answer quality, repository content, and Australian source augmentation — design — Status: Approved programme design, reconciled against origin/main aa0c04bce12995894a9287cb1a084f89f2ed6ef8 on 2026-08-22.
-- [superpowers/rag-upgrade/cloud/specs/2026-08-21-trusted-admin-document-ingestion-design.md](superpowers/rag-upgrade/cloud/specs/2026-08-21-trusted-admin-document-ingestion-design.md) — Trusted Admin/Backend Document Ingestion and RAG Activation Design — Date: 2026-08-21 Status:
-- [superpowers/rag-upgrade/execution-artifacts/rag-answer-quality-and-repository-coverage-v1/README.md](superpowers/rag-upgrade/execution-artifacts/rag-answer-quality-and-repository-coverage-v1/README.md) — RAG upgrade execution artifacts — Accepted phase receipts reference immutable artifacts below this directory.
-- [superpowers/rag-upgrade/execution-receipts/rag-answer-quality-and-repository-coverage-v1/README.md](superpowers/rag-upgrade/execution-receipts/rag-answer-quality-and-repository-coverage-v1/README.md) — RAG upgrade execution receipts — This tracked directory is the durable cross-session ledger for programme rag-answer-quality-and-repository-coverage-v1.
-- [superpowers/rag-upgrade/local/START-HERE.md](superpowers/rag-upgrade/local/START-HERE.md) — Local operational package — start here — This is the new-session Windows/local handover for L00–L10 after accepted Cloud P00–P17 work.
-- [superpowers/rag-upgrade/local/approval-matrix.md](superpowers/rag-upgrade/local/approval-matrix.md) — Authority and approval matrix — Authority is action- and target-specific.
-- [superpowers/rag-upgrade/local/connected-execution.md](superpowers/rag-upgrade/local/connected-execution.md) — Local connected execution contract — This contract begins only after P17 and the immutable offline PROGRAMME.json are accepted and published.
-- [superpowers/rag-upgrade/local/execution-order.md](superpowers/rag-upgrade/local/execution-order.md) — RAG upgrade execution order — The manifest is the scheduling authority.
-- [superpowers/rag-upgrade/local/plans/2026-08-20-rag-adaptive-answer.md](superpowers/rag-upgrade/local/plans/2026-08-20-rag-adaptive-answer.md) — Adaptive RAG answer and display — Implementation Plan — Goal: Extend the landed v19 moderate-length/related-information contract into evidence-gated adaptive answers, and remove the independent si…
-- [superpowers/rag-upgrade/local/plans/2026-08-20-rag-australian-source-governance.md](superpowers/rag-upgrade/local/plans/2026-08-20-rag-australian-source-governance.md) — Australian source governance for RAG — Implementation Plan — Goal: Establish a typed, enforceable Australian source catalogue that augments uploaded indexed guidelines, excludes Healthdirect, treats eT…
-- [superpowers/rag-upgrade/local/plans/2026-08-20-rag-evaluation-rollout.md](superpowers/rag-upgrade/local/plans/2026-08-20-rag-evaluation-rollout.md) — RAG programme evaluation, rollout, and operations — Implementation Plan — Goal: Make every source, retrieval, answer, fallback, re-index, and incremental-delivery improvement measurable, privacy-minimised, reversib…
-- [superpowers/rag-upgrade/local/plans/2026-08-20-rag-ingestion-reindex.md](superpowers/rag-upgrade/local/plans/2026-08-20-rag-ingestion-reindex.md) — Governed ingestion audit and reversible targeted re-index — Implementation Plan — Goal: Determine which documents genuinely need repair, acquire only allowlisted public Australian versions into a governed shadow state, cor…
-- [superpowers/rag-upgrade/local/plans/2026-08-20-rag-retrieval-composition.md](superpowers/rag-upgrade/local/plans/2026-08-20-rag-retrieval-composition.md) — RAG query planning, combined retrieval, and fallback — Implementation Plan — Goal: Stop false “not enough information” answers by decomposing only genuinely broad questions, searching shared uploaded guidance, current…
-- [superpowers/rag-upgrade/local/plans/2026-08-20-rag-verified-incremental-delivery.md](superpowers/rag-upgrade/local/plans/2026-08-20-rag-verified-incremental-delivery.md) — Verified incremental RAG delivery — Implementation Plan — Goal: Make the chat begin showing useful answer text sooner, while preserving the rule that no raw token, provisional dose, incomplete JSON,…
-- [superpowers/rag-upgrade/local/plans/2026-08-21-rag-repository-content-sync.md](superpowers/rag-upgrade/local/plans/2026-08-21-rag-repository-content-sync.md) — Repository-wide first-party content retrieval and freshness — Implementation Plan — Goal: Let Answer mode retrieve the relevant approved the product content for questions about specifiers, differentials, medications, service…
-- [superpowers/rag-upgrade/local/plans/2026-08-21-trusted-admin-document-ingestion.md](superpowers/rag-upgrade/local/plans/2026-08-21-trusted-admin-document-ingestion.md) — Trusted Admin/Backend Document Ingestion — Implementation Plan — Goal: Make a trusted administrator/backend upload the clinical-admission event, then automatically activate the document for shared clinical…
-- [superpowers/rag-upgrade/local/sdd-execution.md](superpowers/rag-upgrade/local/sdd-execution.md) — Subagent-driven execution contract — The tracked .agents/skills/rag-cloud-sdd/SKILL.md is the self-contained Cloud controller.
-- [superpowers/rag-upgrade/local/specs/2026-08-20-rag-answer-and-australian-sources-design.md](superpowers/rag-upgrade/local/specs/2026-08-20-rag-answer-and-australian-sources-design.md) — RAG answer quality, repository content, and Australian source augmentation — design — Status: Approved programme design, reconciled against origin/main aa0c04bce12995894a9287cb1a084f89f2ed6ef8 on 2026-08-22.
-- [superpowers/rag-upgrade/local/specs/2026-08-21-trusted-admin-document-ingestion-design.md](superpowers/rag-upgrade/local/specs/2026-08-21-trusted-admin-document-ingestion-design.md) — Trusted Admin/Backend Document Ingestion and RAG Activation Design — Date: 2026-08-21 Status:
-- [superpowers/specs/2026-07-02-triage-security-reliability-design.md](superpowers/specs/2026-07-02-triage-security-reliability-design.md) — Triage Security & Reliability Fixes Design — Date: 2026-07-02 Scope:
-- [superpowers/specs/2026-08-05-editable-pin-menu-mockups-design.md](superpowers/specs/2026-08-05-editable-pin-menu-mockups-design.md) — Search + Editable Pins Menu — Final Mockup Direction — Route: /mockups/search-lens-menu…
-- [superpowers/specs/2026-08-20-rag-answer-and-australian-sources-design.md](superpowers/specs/2026-08-20-rag-answer-and-australian-sources-design.md) — RAG answer quality, repository content, and Australian source augmentation — design — Status: Approved programme design, reconciled against origin/main aa0c04bce12995894a9287cb1a084f89f2ed6ef8 on 2026-08-22.
-- [superpowers/specs/2026-08-21-developer-hub-phase-1-design.md](superpowers/specs/2026-08-21-developer-hub-phase-1-design.md) — Developer hub — Phase 1 design (hub shell, environment strip, task ledger) — Date: 2026-08-21 Status:
-- [superpowers/specs/2026-08-21-mode-aware-clinical-ask-design.md](superpowers/specs/2026-08-21-mode-aware-clinical-ask-design.md) — Mode-aware Clinical Ask — binding design specification — Status: approved 21 August 2026;
-- [superpowers/specs/2026-08-21-trusted-admin-document-ingestion-design.md](superpowers/specs/2026-08-21-trusted-admin-document-ingestion-design.md) — Trusted Admin/Backend Document Ingestion and RAG Activation Design — Date: 2026-08-21 Status:
-- [superpowers/specs/2026-08-22-developer-hub-phase-2-design.md](superpowers/specs/2026-08-22-developer-hub-phase-2-design.md) — Developer hub — Phase 2 design (repo awareness) — Date: 2026-08-22 Status:
-- [superpowers/specs/2026-08-23-clinical-operations-programme-design.md](superpowers/specs/2026-08-23-clinical-operations-programme-design.md) — Clinical operations programme — design — Status: autonomous implementation direction Date:
-- [superpowers/specs/2026-08-23-outstanding-p2-p3-remediation-design.md](superpowers/specs/2026-08-23-outstanding-p2-p3-remediation-design.md) — Outstanding P2/P3 Remediation Programme Design — Date: 2026-08-23…
-- [superpowers/specs/2026-09-01-calculators-clinical-safety.md](superpowers/specs/2026-09-01-calculators-clinical-safety.md) — Calculators clinical safety and evidence-governance specification — Date: 1 September 2026 Repository:
-- [superpowers/specs/2026-09-01-native-smart-catalogue-search-design.md](superpowers/specs/2026-09-01-native-smart-catalogue-search-design.md) — Native Smart Catalogue Search Design — Date: 2026-09-01…
-- [superpowers/specs/2026-09-01-services-safety-provenance-design.md](superpowers/specs/2026-09-01-services-safety-provenance-design.md) — Services Safety and Provenance Foundation — Design — Date: 2026-09-01 Repository base:
-- [superpowers/specs/2026-09-01-sources-mode-design.md](superpowers/specs/2026-09-01-sources-mode-design.md) — Sources Mode and Clinical Source Catalogue Design — Status: Approved design, written 2026-09-01 against 058693b97.
-
-### Also catalogued (2026-09-26)
-
-- [audit/2026-09-20-visual-ux-audit.md](audit/2026-09-20-visual-ux-audit.md) — Visual, UX and defect audit — master report, 2026-09-20
-- [design-system/drift-measurement-2026-09-02.md](design-system/drift-measurement-2026-09-02.md) — Design-token drift measurement, 2026-09-02
-- [design-system/sweep-fix-visible-live-regions.md](design-system/sweep-fix-visible-live-regions.md) — Sweep fix — visible live regions (closes finding 4 of the 2026-08-29 sweep)
-
-## Archive
-
-- [archive/](archive/) — completed phase plans, superseded designs, and old
- progress logs kept for provenance. Never treat archive content as current
- guidance.
-
-## Maintenance rules
-
-- Generated files (`site-map.md`) are updated only via their generator scripts.
-- When adding a doc, add it to the matching section here; date the filename if
- it is a point-in-time record.
-- When a maintained doc is superseded, move it to `archive/` and update inbound
- links (`npm run docs:check-links` finds broken ones).
+# PsychSift Documentation Index
+
+_Updated 2026-10-08 — catalogue Context7 and CME guides; clarify issue authority; Documentation owns._
+
+Categorised map of every tracked Markdown document under `docs/`: the load-bearing docs lead
+each category, and an "Also catalogued" list completes it (the immutable
+`branch-review-records/` and `outstanding-issues-inbox/` files are indexed by their own
+generators, not here). Categories distinguish **maintained** documents (keep these current when
+behavior changes) from **point-in-time records** (historical; do not update, supersede with a
+new dated doc instead). No check fails when a document is missing from this index, so add each
+new document here when you write it. Owner decisions are indexed separately in
+[decisions/README.md](decisions/README.md).
+
+Check that repo paths referenced from the maintained docs still resolve with:
+
+```bash
+npm run docs:check-links
+```
+
+## Start here
+
+Choose the task and the kind of evidence before following an instruction:
+
+| Need | Entry point | Read it as |
+| ------------------------------------ | ---------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
+| PsychSift development | [Repository README](../README.md), [codebase index](codebase-index.md) | Setup and architecture, subject to the current manifests and provider boundaries |
+| Agent instructions or platform setup | [Task navigator](agents-guide.md), [AGENTS.md](../AGENTS.md) | Find the applicable rule; do not run every referenced workflow |
+| Current work or acceptance | The existing task checkpoint | Check its identity, scope and evidence before relying on its status |
+| A past decision or incident | The historical records below | Evidence of what happened then, not a current completion or deployment claim |
+
+## Documentation ownership and maintenance
+
+| Document type | How to maintain it | What its presence proves |
+| ---------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
+| Maintained guide or runbook | Correct the relevant source and necessary references when behaviour changes. Check commands against the current script definitions. | Instructions exist; current execution and access still need evidence. |
+| Generated index or snapshot | Use its named generator and inspect the resulting diff. Do not hand-edit generated facts or run unrelated generators. | The recorded inventory or snapshot, within its declared scope and capture conditions. |
+| Task checkpoint | Keep one current record per task with ownership, scope, decisions, evidence, blockers and next action. Preserve concurrent work. | Reported task status, which must be reconciled with the actual working state. |
+| Historical report, lesson or immutable receipt | Preserve the original record; add a dated correction or superseding reference through the appropriate workflow. | Historical evidence, including its original failures and limitations. |
+
+Use `npm run docs:check-links` for maintained-document references and
+`npm run docs:check-scripts` for npm script references. These are static checks;
+they do not prove that instructions are semantically correct, providers work or a
+screen matches its design. When the checker is blocked, report that limitation
+and use a clearly scoped check for the affected documents without weakening the
+repository gate. The generated inventories remain governed by their own contracts.
+
+### Also catalogued (2026-09-26)
+
+- [DOCS-SYSTEM.md](DOCS-SYSTEM.md) — Documentation system — how project docs are kept accurate, logged and non-stale
+
+## Core reference map
+
+| Doc | What it is |
+| ------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
+| [codebase-index.md](codebase-index.md) | Structured architecture map: layout, module map, Supabase schema, scripts, domain concepts |
+| [README.md](README.md) | This index — every tracked document under `docs/`, categorised |
+| [site-map.md](site-map.md) | **Generated** route map — regenerate with `npm run docs:update`, verify with `npm run sitemap:check` |
+| [agents-guide.md](agents-guide.md) | Task navigator, platform setup and skill ownership; rules in `AGENTS.md` |
+| [scripts-index.md](scripts-index.md) | Curated map of `scripts/` and the `package.json` command surface by purpose |
+| [organisation/](organisation/README.md) | Organisation map: which area owns every file, checked by `npm run check:organisation` |
+| [personal-practice/](personal-practice/README.md) | Personal practice area: what it owns and the rules every change there follows |
+| [codex-cloud.md](codex-cloud.md) | Codex Cloud setup, access profiles, profile-loading command shims, GitHub exception, and acceptance checks |
+| [claude-cloud.md](claude-cloud.md) | Claude Code on the web: the tiered container provisioner and the checked-in user profile |
+
+## Architecture
+
+- [frontend-architecture.md](frontend-architecture.md) — shell, routing, dashboard module structure
+- [wiring-conventions.md](wiring-conventions.md) — page/button wiring conventions and the dead-button / orphan-route gates
+- [search-chrome-behaviour.md](search-chrome-behaviour.md) — shared search-chrome contract: composer ownership, phone edge-to-edge dock, hide/reveal reserves
+- [mockup-retirement-policy.md](mockup-retirement-policy.md) — when a mockup may be deleted, who decides, what evidence is required, and the three tiers that keep developer-gated prototypes out of cleanup scope
+- [developer-area-access.md](developer-area-access.md) — how the developer-gated `/mockups` subtrees are protected, the passwordless `?devkey` link and its setup, what the link deliberately does not grant, and how to revoke it
+- [search-results-bar-decisions.md](search-results-bar-decisions.md) — shared results-bar anatomy, why the filter shelf is scoped to two modes, and what is deliberately not done
+- [on-call/design/2026-09-20-admin-compliance-and-folders.md](on-call/design/2026-09-20-admin-compliance-and-folders.md) — On Call's Admin/Compliance split: why Compliance rides the `logistics` section behind a `details.kind` discriminator instead of costing a CHECK-constraint migration, why the page may never render a verdict, why it sorts by consequence rather than expiry, the one-word folder rule, and what making Compliance a real section would actually cost
+- [deployment-architecture.md](deployment-architecture.md) — app/worker/Supabase deployment topology
+- [ingestion-state-machine.md](ingestion-state-machine.md) — ingestion job lifecycle and states (dated 2026-07-07 race analysis; the lease is heartbeated and fenced since 2026-07-08 — see its status banner)
+- [design-system/README.md](design-system/README.md) — front door for the v2 design system (tokens, components, gates)
+- [design-system.md](design-system.md) — live-layer notes during the v1→v2 transition (superseded as spec)
+- [design-system/SPEC.md](design-system/SPEC.md) — the complete v2 design system: roles, rules, rationale (never values)
+- [design-system/TOKENS.md](design-system/TOKENS.md) — reconciled token inventory: every role, winning name, owner, and what it replaces
+- [design-system/COMPONENTS.md](design-system/COMPONENTS.md) — the eight safety-component specifications plus the maturity matrix
+- [brand/psychsift-logo.md](brand/psychsift-logo.md) — the PsychSift mark: arc-by-arc construction, colours, file set, and usage rules
+- [brand/design-handover.md](brand/design-handover.md) — the outward-facing brand spec: geometry, colour, type, rules, asset URLs, and open items in one self-contained page
+- [brand/canvas/README.md](brand/canvas/README.md) — the generator behind the published six-artboard design canvas, and what must be kept in step with it
+- [design-system/DECISIONS.md](design-system/DECISIONS.md) — conflicts C1–C5 resolved, clinical Q&A record, assumptions, blocked items
+- [design-system/GATES.md](design-system/GATES.md) — every design-system rule paired with its enforcement status
+- [design-system/FIX-GUIDE.md](design-system/FIX-GUIDE.md) — Hazard 1–2 sweep dispositions (Fixed / Documented / Deferred / Out-of-scope)
+- [design-system/ADOPTION.md](design-system/ADOPTION.md) — PR 13 registration record: adoption order, per-surface file allowlists, exclusions, pins, proof shots
+- [dictionary-editorial-drafts.md](dictionary-editorial-drafts.md) — the unpublished Dictionary draft layer: sense-first abbreviation drafts, hash-reconciled definition reviews, per-source acquisition outcomes, and what a register candidate is and is not
+- [comparison-behaviour.md](comparison-behaviour.md) — shared selection, state, responsive, and accessibility contract for comparison surfaces
+- [clinical-chat-ui-component-map.md](clinical-chat-ui-component-map.md) — chat UI component inventory
+- [clinical-badge-system-guide.md](clinical-badge-system-guide.md) — clinical badge semantics
+- [multi-user-auth-setup.md](multi-user-auth-setup.md) — auth, sessions, owner scoping
+- [pwa.md](pwa.md) — PWA install assets, privacy-first service worker, offline shell
+- [webhooks.md](webhooks.md) — the two inbound webhook receivers and the outbound Actions notifier
+- [api-jobs-ops-surface.md](api-jobs-ops-surface.md) — standing decision to keep `GET /api/jobs` as an ops/admin surface
+- [verified-answer-incremental-delivery-design.md](verified-answer-incremental-delivery-design.md) — staged, clinical-safety-preserving design for delivering verified evidence and answer sections before the canonical final SSE frame
+
+### Also catalogued (2026-09-02)
+
+Every remaining tracked document in this category (architecture and design, plus the `design-system/`, `redesign/`, `adr/`, `decisions/` and `product/` folders), one line each; the description is the document's own title, with its opening sentence where that adds something.
+
+- [app-modes-decision-brief.md](app-modes-decision-brief.md) — Fifteen modes, or one search with fifteen lenses? — A decision brief for the owner.
+- [design-system-contract.md](design-system-contract.md) — Design System Contract & Standards — This document specifies the blocking design system token rules, touch/tap target standards, and enforcement mechanisms for the PsychSift app…
+- [filter-contract.md](filter-contract.md) — The filter contract — One filter surface, shared by every mode.
+- [design-system/HANDOVER-2026-08-07.md](design-system/HANDOVER-2026-08-07.md) — Design system — handover, 7 August 2026 — Read AGENTS.md first — it is the highest-priority source of truth for rules and gates.
+- [design-system/sweep-2026-08-29-structure.md](design-system/sweep-2026-08-29-structure.md) — Structural sweep — 2026-08-29 — Read-only audit for defects the enforced lint/test gates cannot see:
+- [design-system/sweep-2026-08-29-unenforced-rules.md](design-system/sweep-2026-08-29-unenforced-rules.md) — Unenforced-rule sweep — 29 August 2026 — Scope. The rules in this document set whose enforcement status is _absent, manual, partial, advisory or deferred_, checked against the actua…
+- [design-system/sweep-2026-08-29-visual.md](design-system/sweep-2026-08-29-visual.md) — Visual sweep — 2026-08-29 — Read-only visual/DOM audit of the running dev app at http://localhost:3350.
+- [design-system/sweep-fix-duration-display.md](design-system/sweep-fix-duration-display.md) — Design sweep fix: readable durations on the Team screen — Date: 2026-08-29 File touched:
+- [design-system/sweep-fix-missing-values-round-2.md](design-system/sweep-fix-missing-values-round-2.md) — Missing values, round 2 — two new phrases (29 Aug 2026) — Round 1 (sweep-fix-missing-values.md) changed four call sites and left nineteen alone.
+- [design-system/sweep-fix-missing-values.md](design-system/sweep-fix-missing-values.md) — Missing values — call-site sweep (29 Aug 2026) — SPEC §11 gives four phrases for a missing value — Not recorded, Not applicable, Unknown, Unable to extract — and names MissingValue (COMPONE…
+- [design-system/sweep-fix-tap-floors-round-2.md](design-system/sweep-fix-tap-floors-round-2.md) — Sweep fix — tap floors, round 2 (2026-08-29) — Round 1 (sweep-fix-tap-floors.md) taught interactiveTapFloorDeclarations to read responsive bands.
+- [design-system/sweep-fix-tap-floors.md](design-system/sweep-fix-tap-floors.md) — Responsive tap-floor sweep: closing a check that could not fail — Date: 2026-08-29 · Scope:
+- [redesign/01-audit.md](redesign/01-audit.md) — Design Audit (June 2026 redesign) — This run intentionally excludes /tools, src/app/tools/page.tsx, and src/lib/tools.ts by user request.
+- [redesign/02-design-direction.md](redesign/02-design-direction.md) — Design Direction — This supersedes the earlier "single teal accent for primary actions" principle.
+- [redesign/03-decision-log.md](redesign/03-decision-log.md) — Decision Log — Tier 2 changes — Entries are appended as work lands.
+- [redesign/04-deferred.md](redesign/04-deferred.md) — Resolved Deferred Items — Status: closed (reconciled 2026-07-15).
+- [redesign/05-changelog.md](redesign/05-changelog.md) — Changelog — Premium Redesign
+- [redesign/06-verification.md](redesign/06-verification.md) — Verification Report — Scope: ultra-premium mobile-first redesign — token system, component layer, dashboard + document-viewer mobile surfaces, plus reconciliation…
+- [redesign/07-token-adoption-audit.md](redesign/07-token-adoption-audit.md) — Token Adoption Audit (July 2026) — This run audits how consistently the codebase consumes the design tokens, not the token system itself.
+- [redesign/08-design-review-prompt.md](redesign/08-design-review-prompt.md) — Design Review Prompt (July 2026) — Two reusable prompts for reviewing design work on this product, tuned to its context:
+- [redesign/09-page-polish-plan.md](redesign/09-page-polish-plan.md) — Production-Page Polish & Perfection Plan (July 2026) — Status: closed as superseded (reconciled 2026-07-15).
+- [redesign/09-ui-primitives-recipes.md](redesign/09-ui-primitives-recipes.md) — UI Primitives — Recipe Reference & State Contract (July 2026) — Resolves L8 from 07-token-adoption-audit.md:
+- [redesign/clinical-white-aegean-master-implementation-plan.md](redesign/clinical-white-aegean-master-implementation-plan.md) — Clinical White / Aegean Graphite Master Implementation Plan — The permanent direction should be Clinical White / Aegean Graphite.
+- [redesign/crisp-white-colour-system-plan.md](redesign/crisp-white-colour-system-plan.md) — Crisp white colour system plan — Replace the warm cream/porcelain light-mode direction with a cleaner, whiter, more polished clinical interface.
+- [redesign/dictionary-reference-spine.md](redesign/dictionary-reference-spine.md) — Dictionary Reference Spine — Dictionary is a source-governed psychiatric terminology reference.
+- [redesign/m2-atomic-reindex-migration-note.md](redesign/m2-atomic-reindex-migration-note.md) — M2 Atomic Reindex Migration Note — Make reindex completion atomic so search, evaluation, telemetry, and document views never observe a partially replaced index generation.
+- [redesign/permanent-colour-direction.md](redesign/permanent-colour-direction.md) — Permanent colour direction — Adopt Clinical White / Sky Graphite as the permanent colour direction.
+- [redesign/premium-colour-system-plan.md](redesign/premium-colour-system-plan.md) — Premium colour system plan — Create a light mode that feels modern, premium, calm, and clinically trustworthy without becoming sterile, washed out, or over-teal.
+- [adr/0001-use-a-shared-local-first-clinical-ask-orchestrator.md](adr/0001-use-a-shared-local-first-clinical-ask-orchestrator.md) — Use a shared local-first orchestrator for Mode-aware Clinical Ask — Mode-aware Clinical Ask will extend the repository's one shared composer and governed answer surfaces through one local-first orchestration…
+- [decisions/ccz4hb-review-coverage.md](decisions/ccz4hb-review-coverage.md) — Decision: restoring automated review coverage (#CCZ4HB) — the row closed — but see the 2026-09-02 correction below, which removes the premise that decision rested on.
+- [product/clinical-trust-direction.md](product/clinical-trust-direction.md) — Clinical trust product direction — Decision date: 2026-08-23 Decision:
+
+- [cme-adoption-contract.md](cme-adoption-contract.md) — CME adoption contract and evidence requirements
+
+## Operations runbooks
+
+- [launch-operator-runbook.md](launch-operator-runbook.md) — launch/operational duties and SLO probes
+- [reindex-runbook.md](reindex-runbook.md) — safe reindex and ingestion recovery
+- [retrieval-quality-runbook.md](retrieval-quality-runbook.md) — RAG/retrieval eval gates and tuning
+- [worker-deploy-runbook.md](worker-deploy-runbook.md) — worker build contract, run recipe, secrets, docling shadow extraction (B4)
+- [disaster-recovery-runbook.md](disaster-recovery-runbook.md) — backup/restore and recovery drills
+- [auth-connection-cap-runbook.md](auth-connection-cap-runbook.md) — Supabase auth connection cap (operator)
+- [staging-setup.md](staging-setup.md) — staging environment bootstrap
+- [database-drift-detection.md](database-drift-detection.md) — schema drift detection (`npm run check:drift`)
+- [supabase-migration-reconciliation.md](supabase-migration-reconciliation.md) — migration drift and repair policy
+- [db-maintenance.md](db-maintenance.md) — Supabase advisor snapshots and the standing disposition per finding class
+- [observability-slos.md](observability-slos.md) — health probes, SLO counters, degraded modes
+- [openai-rag-operations.md](openai-rag-operations.md) — OpenAI/RAG provider operations and modes
+- [outstanding-issues.md](outstanding-issues.md) — protected repository issue history and queue; use the immutable issues inbox
+- [operator-backlog.md](operator-backlog.md) — provider/operator runbook detail; task authority is defined in task-receipts.md
+- [deploy-corrector-public-titles.md](deploy-corrector-public-titles.md) — public-title corrector deploy notes
+- [operator-apply-performance-latency-remediation.md](operator-apply-performance-latency-remediation.md) — operator apply steps for the performance/latency migration batch
+- [reconciliation-playbook.md](reconciliation-playbook.md) — broad chat/worktree reconciliation and archive-safe cleanup (not for ordinary feature work)
+- [staging-tenancy-release-evidence.md](staging-tenancy-release-evidence.md) — cross-tenant staging harness as executable owner-boundary proof
+- [docker-optimization-guide.md](docker-optimization-guide.md) — Docker optimization and health check implementation: multi-arch, layer caching, and slim runtime targets
+
+### Also catalogued (2026-09-02)
+
+Every remaining tracked document in this category (operations, plus the `rag-behaviour/` and `rag-improvement/` folders), one line each; the description is the document's own title, with its opening sentence where that adds something.
+
+- [database-remediation-plan.md](database-remediation-plan.md) — Database remediation & future-proofing plan — 2026-08 — Owner: operator (Josh) + specialist session.
+- [database-remediation-playbook.md](database-remediation-playbook.md) — Database remediation playbook — multi-session execution guide — Companion to database-remediation-plan.md (the plan of record — read it first in every session).
+- [database-remediation-coordination.md](database-remediation-coordination.md) — Database remediation — coordination handover
+- [operations-runbook.md](operations-runbook.md) — Operations Runbook: Database Index Diagnostics & Pre/Post EXPLAIN Measurement Protocol — This runbook defines the operational verification and execution protocol for measuring query planner performance and diagnosing documents ta…
+- [operator-supabase-branching-cap.md](operator-supabase-branching-cap.md) — Operator guidance: Supabase preview-branch compute cap (#9X40BT) — This document records the operator configuration and cost-containment policy for Supabase preview branches on project sjrfecxgysukkwxsowpy (…
+- [performance.md](performance.md) — Performance and Web Vitals Baselines — This document outlines performance benchmarks, layout stability strategies, and Core Web Vitals baselines for the PsychSift application.
+- [rag-evaluation.md](rag-evaluation.md) — RAG Evaluation and Retrieval Contracts — This document specifies the RAG evaluation framework, runtime retrieval row contracts, and defensive schema invariants that protect clinical…
+- [rag-behaviour/README.md](rag-behaviour/README.md) — RAG behaviour memory — Durable, evidence-backed knowledge about how this repo's retrieval/ranking stack actually behaves — created 2026-07-20 after a full measure…
+- [rag-behaviour/behaviour-map.md](rag-behaviour/behaviour-map.md) — RAG behaviour map (verified 2026-07-20) — Everything below was verified against live canary evidence (runs #49–#56) and direct source inspection during the ADDENDUM-4 cycle.
+- [rag-behaviour/refuted-approaches.md](rag-behaviour/refuted-approaches.md) — Refuted ranking-improvement approaches (2026-07-20) — Two approaches to the fast-path rank-depth headroom were implemented, live-tested, and refuted in one evening.
+- [rag-behaviour/safeguards.md](rag-behaviour/safeguards.md) — RAG ranking safeguards — The protection stack that keeps retrieval/ranking behaviour from being changed casually — by any task, session, or agent.
+- [rag-improvement/gate-b-decision-record-2026-08-18.md](rag-improvement/gate-b-decision-record-2026-08-18.md) — Gate B decision record — Docling extraction benchmark (owner run, 2026-08-18) — Status: PASS. This is the owner's filled copy of docs/rag-improvement/gate-b-decision-record.md for packet S6b (the Gate B run the S6 harnes…
+- [rag-improvement/gate-b-decision-record.md](rag-improvement/gate-b-decision-record.md) — Gate B decision record — Docling extraction benchmark (template) — Status: template — no verdict.
+
+### Also catalogued (2026-09-26)
+
+- [pr-batch-runner.md](pr-batch-runner.md) — Sequential PR batch runner — prepares and merges a fixed snapshot of pull requests one at a time
+- [production-readiness.md](production-readiness.md) — Production readiness and operational release requirements (points to the canonical checklist)
+- [site-content-sync-runbook.md](site-content-sync-runbook.md) — Site-content publication and synchronization runbook
+- [site-content-publication-handover.md](site-content-publication-handover.md) — Handover of the remaining site-content database work, written 2026-09-18
+- [supabase-remediation-closeout-notes.md](supabase-remediation-closeout-notes.md) — Supabase remediation closeout notes — short deferred list, no DDL
+
+## Governance, safety, privacy
+
+- [clinical-governance.md](clinical-governance.md) — deployment and source governance checklist
+- [clinical-sign-off-how-to.md](clinical-sign-off-how-to.md) — plain-English guide for the clinical owner: signing off forms and Act-section summaries one at a time with `npm run clinical:review`, and sending the sign-offs
+- [source-acquisition-protocol.md](source-acquisition-protocol.md) — how a clinical source is found, captured, scored and indexed: the WA-first locality ladder, the capture register, the metadata floor, and clinical sign-off
+- [error-tracking.md](error-tracking.md) — privacy-safe, opt-in production exception tracking envelope
+- [governance-incident-runbooks.md](governance-incident-runbooks.md) — operator response checklists for clinical, source, privacy, provider, and answer-pipeline rollback incidents
+- [clinical-hazard-analysis.md](clinical-hazard-analysis.md) — clinical hazard register
+- [care-plan/crisis-lines-verification.md](care-plan/crisis-lines-verification.md) — **DRAFT, unsigned** verification record for every crisis number printed by the Care Plan prototype: source, verification date, and the six-monthly re-verification cadence
+- [rag-injection-threat-model.md](rag-injection-threat-model.md) — prompt-injection threat model
+- [privacy-impact-assessment.md](privacy-impact-assessment.md) — PIA findings and launch blockers
+- [openai-cross-border-basis.md](openai-cross-border-basis.md) — cross-border data-processing basis
+- [governance/privacy-readiness.v1.json](governance/privacy-readiness.v1.json) — authoritative machine-checkable privacy readiness status
+- [governance/privacy-closeout-2026-09-01.md](governance/privacy-closeout-2026-09-01.md) — current provider, retention, legal, notice, and clinical closeout evidence
+- [governance/privacy-role-attestation-pack-2026-09-01.md](governance/privacy-role-attestation-pack-2026-09-01.md) — evidence and role decisions for eight requirements; two owner approvals are complete and six remain
+- [production-readiness-checklist.md](production-readiness-checklist.md) — release readiness criteria
+- [samd-classification-medication-considerations.md](samd-classification-medication-considerations.md) — SaMD classification and medication considerations
+
+### Also catalogued (2026-09-02)
+
+Every remaining tracked document in this category, one line each; the description is the document's own title, with its opening sentence where that adds something.
+
+- [medication-interaction-lexicon-review.md](medication-interaction-lexicon-review.md) — Medication interaction lexicon — clinical review sheet — Status: reviewed 2026-09-06 — see the sign-off at the bottom.
+- [medication-lexicon-review-worklist.md](medication-lexicon-review-worklist.md) — Medication lexicon — clinician reading worklist (#318) — This is a reading aid, not a review.
+- [services-mode-governance.md](services-mode-governance.md) — Services Mode Governance — A Services record is not “current” merely because its prose is plausible or its confidence is high.
+
+### Also catalogued (2026-09-26)
+
+- [governance/privacy-completion-drafts-2026-09-13.md](governance/privacy-completion-drafts-2026-09-13.md) — Privacy completion drafts, 2026-09-13 — prepared, unsigned, not approved for release
+- [governance/rag-adaptive-continuation-2026-09-13.md](governance/rag-adaptive-continuation-2026-09-13.md) — RAG adaptive activation: setup and continuation handoff
+
+## Process and review
+
+- [process-hardening.md](process-hardening.md) — verification gates, CI expectations, known debts
+- [continuous-integration.md](continuous-integration.md) — workflow concurrency keys, push exemption, and Guard 2 in-flight CI push guard
+- [testing.md](testing.md) — test execution, focused/live commands, Playwright ownership, flake policy
+- [development-speed-playbook.md](development-speed-playbook.md) — going faster without weakening any gate: receipts, narrow selection, worktree reuse
+- [phone-chrome-physical-acceptance.md](phone-chrome-physical-acceptance.md) — labelled Safari and cold-launch PWA acceptance matrix
+- [productivity-workflows.md](productivity-workflows.md) — repo workflow planners (flightplan, triage, rag-lab, …)
+- [codex-review-protocol.md](codex-review-protocol.md) — shared review protocol for all review skills
+- [codex-prompt-playbook.md](codex-prompt-playbook.md) — copy/paste prompts for common repo work
+- [codex-cloud.md](codex-cloud.md) — reproducible provider-free Codex Cloud environment and acceptance check
+- [claude-cloud.md](claude-cloud.md) — Claude Code on the web container parity: tiered provisioner and checked-in user profile
+- [branch-cleanup-guide.md](branch-cleanup-guide.md) — branch hygiene workflow
+- [branch-review-ledger.md](branch-review-ledger.md) — reviewed branch/SHA ledger; read with `npm run ledger:lookup` (historical tables + immutable records), write with `npm run ledger:append`, and convert a pre-system active-branch row with `npm run ledger:migrate-legacy`
+- [branch-review-archival-policy.md](branch-review-archival-policy.md) — what may and may not be done to the immutable records under `docs/branch-review-records/`; which operations are blocked by code, which are forbidden by policy but caught by nothing, and why foldering or deleting a record is silent history loss
+- [branch-review-index.md](branch-review-index.md) — **Generated** browsable index of every immutable review record; regenerate with `npm run ledger:index`, refresh with `npm run docs:update`, check currency with `npm run ledger:index:check`. It may lag the corpus, so `npm run ledger:lookup` stays authoritative
+- [task-receipts.md](task-receipts.md) — task lifecycle and sanitized receipt handoff protocol between agents and ledger
+
+### Also catalogued (2026-09-02)
+
+Every remaining tracked document in this category (process, plus the `agents/` rule files `AGENTS.md` delegates to, `prompts/`, `codex/` and `plans/`), one line each; the description is the document's own title, with its opening sentence where that adds something.
+
+- [ci-operations.md](ci-operations.md) — CI Operations and Runner Usage Assessment — See also continuous-integration.md for pre-push safety controls and Guard 2 in-flight CI push guard details.
+- [agents/bug-hunter-shortcut.md](agents/bug-hunter-shortcut.md) — Bug-Hunter Shortcut — When the user types exactly bug-hunter as the entire task message, after trimming surrounding whitespace, treat it as a shortcut for targete…
+- [agents/claude-hook-scripts.md](agents/claude-hook-scripts.md) — Claude Code Hook Scripts — .claude/hooks/*.sh runs on Linux web containers as well as on the Windows workstation, and the workstation cannot see the thing that breaks…
+- [agents/codex-cloud-environment.md](agents/codex-cloud-environment.md) — Codex Cloud Environment — Codex Cloud uses an isolated Linux container and does not inherit desktop files, credentials, OAuth sessions, MCP authentication, local serv…
+- [agents/codex-dependency-shortcut.md](agents/codex-dependency-shortcut.md) — Codex Dependency Shortcut — When the user types exactly dependency as the entire task message, after trimming surrounding whitespace, treat it as a shortcut for safe de…
+- [agents/codex-desktop-worktree-setup.md](agents/codex-desktop-worktree-setup.md) — Codex Desktop Worktree Setup — It must work before node_modules exists, validate Node 24/npm 11, reuse only a complete byte-identical local installation, and otherwise run…
+- [agents/codex-productivity-defaults.md](agents/codex-productivity-defaults.md) — Codex Productivity Defaults
+- [agents/codex-reasoning-effort.md](agents/codex-reasoning-effort.md) — Codex Reasoning Effort Calibration
+- [agents/codex-review-throttling.md](agents/codex-review-throttling.md) — Codex Review Throttling & Thread Resolution — Do not review branches opportunistically.
+- [agents/context7.md](agents/context7.md) — shared library-docs workflow, version matching, authentication and query privacy
+- [agents/cursor-cloud.md](agents/cursor-cloud.md) — Cursor Cloud Specific Instructions — Durable notes for Cloud Agents.
+- [agents/dead-code-deletion.md](agents/dead-code-deletion.md) — Deleting Code You Believe Is Dead — "Nothing imports it" is necessary and nowhere near sufficient.
+- [agents/external-skill-precedence.md](agents/external-skill-precedence.md) — External Skill Precedence and Evidence — User-global skills and output-style plugins are installed outside this repo and know nothing about its contracts.
+- [agents/pull-request-workflow.md](agents/pull-request-workflow.md) — Pull Request Workflow — The one canonical pull-request rulebook for every AI tool: open, follow CI, review threads, records, merge authority, landed, branch sync, Run PR, Clear PRs, bundling.
+- [agents/repository-skills-and-issues.md](agents/repository-skills-and-issues.md) — Repository Skills and Outstanding-Work Memory — Select repo-local skills under `.agents/skills/` when their descriptions match the actual task and their use materially helps; read an explicitly named skill before acting.
+- [agents/test-deletion-guard.md](agents/test-deletion-guard.md) — Deleting tests, or letting a tool delete them for you — On 2026-08-31 a commit on PR #2481 titled "test(ui):
+- [agents/smart-agent-allocation.md](agents/smart-agent-allocation.md) — Default model/effort selection, independent ownership and review, evidence reuse, and portable Codex Cloud delivery.
+- [agents/task-efficiency.md](agents/task-efficiency.md) - On-demand task brief, one continuation record and private measurement using existing workflows.
+- [agents/upload-shortcut.md](agents/upload-shortcut.md) — Upload Shortcut — When the user types exactly:
+- [agents/verification-gates.md](agents/verification-gates.md) — Verification Gates — the verification pyramid, gate receipts, and the browser-gate planner
+- [agents/wiring-and-bundle-budget.md](agents/wiring-and-bundle-budget.md) — Page Wiring and Bundle Budget — Interactive controls and routes follow conventions the codebase already holds to.
+- [agents/native-startup/commit-as-you-go.md](agents/native-startup/commit-as-you-go.md) — Commit as you go: committing coherent units before switching context
+- [agents/native-startup/contextual-working-defaults.md](agents/native-startup/contextual-working-defaults.md) — Context-aware working defaults for workflows and boundaries
+- [agents/native-startup/external-skill-precedence.md](agents/native-startup/external-skill-precedence.md) — External skill precedence and evidence calibration rules
+- [agents/native-startup/process-hardening.md](agents/native-startup/process-hardening.md) — Process hardening phases and verification gates
+- [agents/native-startup/publication-workflows.md](agents/native-startup/publication-workflows.md) — Safe Git publication workflows, PR shortcuts, and anti-churn sync
+- [agents/native-startup/search-chrome-behaviour.md](agents/native-startup/search-chrome-behaviour.md) — Search chrome behaviour, composer ownership, and phone edge-to-edge contracts
+- [prompts/codex-architecture-maintainability-ultra-review.md](prompts/codex-architecture-maintainability-ultra-review.md) — Codex Local Ultra — Architecture & Maintainability Review Orchestrator — Perform a rigorous, evidence-based Architecture and Maintainability review of this repository using multi-agent coordination.
+- [prompts/codex-cloud-design-status-semantics.md](prompts/codex-cloud-design-status-semantics.md) — Codex Cloud prompt — design-system clinical status semantics — Copy the complete prompt below into a new Codex Cloud task for the Database repository KB repository.
+- [prompts/codex-cloud-detailed-task.md](prompts/codex-cloud-detailed-task.md) — Codex Cloud detailed-task prompt — Use this prompt when assigning a substantial implementation, refactor, defect fix, or other detailed task to Codex Cloud in this repository.
+- [prompts/codex-cloud-review/1-codex-full-stack-master-review-prompt.md](prompts/codex-cloud-review/1-codex-full-stack-master-review-prompt.md) — Codex Comprehensive Full-Stack Product, Design, Architecture, Engineering, Security, Quality and Refactoring Master Prompt — Keep this master specification as a normal Markdown file, for example:
+- [prompts/codex-cloud-review/2-codex-full-stack-master-prompt-review-and-stress-test.md](prompts/codex-cloud-review/2-codex-full-stack-master-prompt-review-and-stress-test.md) — Review and Adversarial Stress Test of the Codex Full-Stack Master Prompt — The original Cursor prompt had unusually strong domain coverage and quality controls.
+- [prompts/codex-cloud-review/3-codex-agents-md-companion.md](prompts/codex-cloud-review/3-codex-agents-md-companion.md) — Codex Repository Working Agreement
+- [prompts/codex-data-database-safety-ultra-review.md](prompts/codex-data-database-safety-ultra-review.md) — Codex Local Ultra — Data & Database Safety Review Orchestrator — Perform a rigorous, evidence-based Data & Database Safety review of this repository using multi-agent coordination.
+- [prompts/codex-documentation-ownership-ultra-review.md](prompts/codex-documentation-ownership-ultra-review.md) — Codex Local Ultra — Documentation & Ownership Review Orchestrator — Perform a rigorous, evidence-based Documentation & Ownership review of this repository using multi-agent coordination.
+- [prompts/codex-functional-correctness-ultra-review.md](prompts/codex-functional-correctness-ultra-review.md) — Codex Local Ultra — Functional Correctness Review Orchestrator — Perform a rigorous, evidence-based Functional Correctness review of this repository using multi-agent coordination.
+- [prompts/codex-performance-reliability-ultra-review.md](prompts/codex-performance-reliability-ultra-review.md) — Codex Local Ultra — Performance & Reliability Review Orchestrator — Perform a rigorous, evidence-based Performance and Reliability review of this repository using multi-agent coordination.
+- [prompts/codex-tests-quality-gates-ultra-review.md](prompts/codex-tests-quality-gates-ultra-review.md) — Codex Local Ultra — Tests & Quality Gates Review Orchestrator — Perform a rigorous, evidence-based Tests & Quality Gates review of this repository using multi-agent coordination.
+- [prompts/mode-aware-clinical-ask-codex-cloud-handover.md](prompts/mode-aware-clinical-ask-codex-cloud-handover.md) — Codex Cloud handover: implement Mode-aware Clinical Ask — Paste the prompt below into a fresh Codex Cloud task whose checkout contains this entire planning pack.
+- [prompts/rag-coverage-gate-extraction.md](prompts/rag-coverage-gate-extraction.md) — X3 / #086 rag.ts coverage-gate extraction — Use this prompt in a fresh Codex Cloud task with CODEX_CLOUD_ACCESS_PROFILE=offline.
+- [codex/architecture-maintainability/README.md](codex/architecture-maintainability/README.md) — Architecture and maintainability review packets — Durable artifacts requested from the architecture and maintainability review prompt belong here.
+- [codex/data-database-safety/README.md](codex/data-database-safety/README.md) — Data and database safety review packets — Durable artifacts requested from the data and database safety review prompt belong here.
+- [codex/documentation-ownership/README.md](codex/documentation-ownership/README.md) — Documentation and ownership review packets — Durable artifacts requested from the documentation and ownership review prompt belong here.
+- [codex/functional-correctness/README.md](codex/functional-correctness/README.md) — Functional correctness review packets — Durable artifacts requested from the functional correctness review prompt belong here.
+- [codex/performance-reliability/README.md](codex/performance-reliability/README.md) — Performance and reliability review packets — Durable artifacts requested from the performance and reliability review prompt belong here.
+- [codex/tests-quality-gates/README.md](codex/tests-quality-gates/README.md) — Tests and quality-gates review packets — Durable artifacts requested from the tests and quality-gates review prompt belong here.
+- [plans/design-system-live-convergence-plan.md](plans/design-system-live-convergence-plan.md) — Design-system live convergence programme — Status: execution-ready plan…
+- [plans/document-viewer-phase2-unified-chrome.md](plans/document-viewer-phase2-unified-chrome.md) — Phase 2 — Unified viewing chrome (PDF + photo) — Status: plan only (no product behaviour change in this doc PR) Programme:
+- [plans/document-viewer-phase3-handover.md](plans/document-viewer-phase3-handover.md) — Document viewer — Phase 3 handover — Execution brief for Phase 3 of docs/plans/document-viewer-redesign-plan.md.
+- [plans/document-viewer-redesign-plan.md](plans/document-viewer-redesign-plan.md) — Document viewer redesign — PDF + photo surfaces — Status: programme plan (Phases 0–3 landed;
+- [plans/edge-ingestion-overhaul-3pr-plan.md](plans/edge-ingestion-overhaul-3pr-plan.md) — Edge Ingestion Overhaul — 3-PR Execution Plan — Status: Planning only.
+- [plans/tooling-activation-implementation-plan.md](plans/tooling-activation-implementation-plan.md) — Tooling activation — implementation plan — Status: local workstreams (WS-B, WS-C) implemented 2026-08-01;
+
+## Plans and workstreams (living)
+
+- [mode-aware-clinical-ask-local-handover.md](mode-aware-clinical-ask-local-handover.md) — three-phase local integration, approval-gated staging/governance, and PR publication handover for Mode-aware Clinical Ask
+- [answer-page-redesign-handover.md](answer-page-redesign-handover.md) — build-and-merge handover for the chosen answer-page design: what claim-level citation data already exists, the three-PR order it forces, the design contract, and the gates and PR-body requirements that block the merge
+- [maturity-backlog-workorders.md](maturity-backlog-workorders.md) — actionable work orders tracking the repository-maturity audit backlog
+- [no-unchecked-indexed-access-migration-plan.md](no-unchecked-indexed-access-migration-plan.md) — staged multi-PR rollout for the `noUncheckedIndexedAccess` TypeScript flag (ledger `#211`)
+- [ledger-id-scheme-proposal.md](ledger-id-scheme-proposal.md) — design for collision-free outstanding-issue ids so concurrent sessions stop contending on `issues:next-id` (ledger `#168`)
+- [pr-handoff-stop-cross-agent-gap.md](pr-handoff-stop-cross-agent-gap.md) — why the PR-babysit budget is hook-enforced for Claude Code but prose-only for Codex and Cursor, and what parity would require (ledger `#258`)
+- [framework-dependency-modernization-checklist.md](framework-dependency-modernization-checklist.md) — ordered Next.js 16, runtime, dependency, Turbopack, and verification migration program
+- [search-rag-master-plan.md](search-rag-master-plan.md) / [search-rag-master-context.md](search-rag-master-context.md) — search/RAG roadmap and shared context
+- [rag-improvement/README.md](rag-improvement/README.md) — reviewed/updated RAG improvement programme: answer-quality track (intent-aware related information, length) + corrected eval/safety infra track
+- [rag-improvement/HANDOVER.md](rag-improvement/HANDOVER.md) — multi-session handover: per-session work packets, status table, checklists, and paste-ready prompts for executing the programme
+- [rag-improvement/COORDINATION.md](rag-improvement/COORDINATION.md) — coordinator handover: programme history, wave/session decisions, babysit playbook, approvals map, and the coordination-chat bootstrap prompt
+- [rag-improvement/231-diagnosis-2026-08-22.md](rag-improvement/231-diagnosis-2026-08-22.md) — `#231` evidence record: the row's timeout premise measured against the 60 Gate E answers, the three populations behind `source_only`, and the grounded-extractive gate gap
+- [rag-improvement/baseline-record.md](rag-improvement/baseline-record.md) — programme evaluation baseline: the six-field report key, gate results, and which gates stay pending an owner-approved provider run
+- [rag-improvement/data-flow-register.md](rag-improvement/data-flow-register.md) — Gate A register: every RAG input, process, sink, retention window, provider egress, and the known gaps
+- [rag-hybrid-findings-and-todo.md](rag-hybrid-findings-and-todo.md) — hybrid retrieval findings backlog
+- [reindex-shadow-harness-design.md](reindex-shadow-harness-design.md) — designed-only shadow reindex harness (driver not built)
+- [ingestion-concurrency-fix-workorder.md](ingestion-concurrency-fix-workorder.md) — ingestion concurrency workorder
+- [redesign/](redesign/) — premium redesign plans, decision log, token adoption
+- [superpowers/](superpowers/) — agent-authored plans and specs
+- **Care Plan (prototype, developer-gated under `/mockups/care-plan`)** — [superpowers/specs/2026-08-20-care-plan-design.md](superpowers/specs/2026-08-20-care-plan-design.md) is the binding design spec, [care-plan-context.md](care-plan-context.md) the binding glossary, [superpowers/plans/2026-08-20-care-plan-implementation.md](superpowers/plans/2026-08-20-care-plan-implementation.md) the implementation plan, [care-plan/sdd-ledger.md](care-plan/sdd-ledger.md) the build ledger and [care-plan/complete-work-ledger.md](care-plan/complete-work-ledger.md) the record of what landed; the dated handoffs, transcripts and reports under [care-plan/](care-plan/) are point-in-time records
+
+### Also catalogued (2026-09-02)
+
+Every remaining tracked document in this category, one line each; the description is the document's own title, with its opening sentence where that adds something.
+
+- [corpus-health-panel-handover.md](corpus-health-panel-handover.md) — Corpus health panel — handover — Status: both changes are merged to main.
+
+### Also catalogued (2026-09-26)
+
+- [cme/design/cme-design-decisions.md](cme/design/cme-design-decisions.md) — CPD mode (mode id `cme`) — design decisions
+- [on-call/design/2026-09-19-review-and-proposals.md](on-call/design/2026-09-19-review-and-proposals.md) — On Call — review of the shipped hub and what to build next, 2026-09-19
+- [on-call/design/mockup-conformance.md](on-call/design/mockup-conformance.md) — On Call hub — mockup conformance ledger
+- [on-call/design/on-call-hub-build-prompt.md](on-call/design/on-call-hub-build-prompt.md) — On Call hub redesign build prompt
+- [product/2026-09-19-doctor-compliance-and-feature-brainstorm.md](product/2026-09-19-doctor-compliance-and-feature-brainstorm.md) — Personal compliance tracker and feature brainstorm, 2026-09-19 — nothing decided
+- [product/2026-09-19-second-recommendations.md](product/2026-09-19-second-recommendations.md) — Seven more recommendations from reading the code, 2026-09-19 — nothing decided
+- [prompts/sources-mode-extraction.md](prompts/sources-mode-extraction.md) — Sources mode extraction prompt
+- [superpowers/plans/2026-09-04-on-call-mode.md](superpowers/plans/2026-09-04-on-call-mode.md) — On Call mode implementation plan
+- [superpowers/plans/2026-09-27-on-call-completion.md](superpowers/plans/2026-09-27-on-call-completion.md) — On Call plan to complete the health-service rebuild (after #3110)
+- [superpowers/plans/2026-09-20-cme-mode-phase-1.md](superpowers/plans/2026-09-20-cme-mode-phase-1.md) — CPD mode (mode id `cme`) phase 1 implementation plan
+- [superpowers/plans/2026-09-25-wa-psychiatry-build.md](superpowers/plans/2026-09-25-wa-psychiatry-build.md) — WA Psychiatry build: fast-lane implementation plan (v2)
+- [superpowers/plans/2026-09-27-roster-mode-overview.md](superpowers/plans/2026-09-27-roster-mode-overview.md) — Roster mode build overview: steps, default decisions, Josh-only actions
+- [superpowers/plans/2026-09-27-roster-mode-plan-a-database.md](superpowers/plans/2026-09-27-roster-mode-plan-a-database.md) — Roster mode plan A: the combined database change (PR #3117)
+- [superpowers/plans/2026-09-27-roster-mode-plan-b-release-1.md](superpowers/plans/2026-09-27-roster-mode-plan-b-release-1.md) — Roster mode plan B: Release 1, one doctor (PR #3118)
+- [superpowers/plans/2026-09-27-roster-mode-plan-c-release-2.md](superpowers/plans/2026-09-27-roster-mode-plan-c-release-2.md) — Roster mode plan C: Release 2, Roster for a health service (the plan to complete it)
+- [superpowers/plans/2026-09-27-roster-mode-status.md](superpowers/plans/2026-09-27-roster-mode-status.md) — Roster mode: where the build stands and the plan to complete it
+- [superpowers/plans/2026-09-27-roster-mode-db-agreement.md](superpowers/plans/2026-09-27-roster-mode-db-agreement.md) — Roster mode: the Roster, On Call, Admin and Teaching agreement on the combined database change
+- [superpowers/plans/2026-09-27-roster-mode-build-brief.md](superpowers/plans/2026-09-27-roster-mode-build-brief.md) — Roster mode: the brief the build threads work from
+- [superpowers/specs/2026-09-30-roster-team-calendar-and-swaps-design.md](superpowers/specs/2026-09-30-roster-team-calendar-and-swaps-design.md) — Roster: team calendar (month, week board, day) and calendar-first swaps design spec
+- [superpowers/plans/2026-09-30-roster-team-calendar-and-swaps.md](superpowers/plans/2026-09-30-roster-team-calendar-and-swaps.md) — Roster: team calendar and calendar-first swaps implementation plan
+- [superpowers/specs/2026-09-04-on-call-mode-design.md](superpowers/specs/2026-09-04-on-call-mode-design.md) — On Call mode design spec
+
+## Subdirectory map
+
+| Directory | What lives there |
+| ------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [decisions/](decisions/) | The owner's recorded decisions, one short file each, indexed by [decisions/README.md](decisions/README.md). Checked by `npm run check:decisions` |
+| [organisation/](organisation/) | The organisation map: one file per area (`systems/`), shared, not-yet-placed and ignored lists, last-read pins. Checked by `npm run check:organisation` |
+| [agents/](agents/) | Agent-rule reference files `AGENTS.md` delegates to by name — the full text of rules its always-loaded core only points at |
+| [rag-behaviour/](rag-behaviour/) | Protected retrieval/ranking surface: behaviour map, refuted approaches, safeguards. **Read before touching ranking.** |
+| [prompts/](prompts/) | Copy/paste review prompts, including the verbatim `codex-cloud-review/` inputs |
+| [codex/](codex/) | Per-lens Codex ultra-review output folders, one per review dimension |
+| [evidence/](evidence/) | Captured evidence artifacts backing ledger items (reliability reports, review manifests) |
+| [audit/](audit/) | Dated repo, design, accessibility, and latency audits (point-in-time) |
+| [redesign/](redesign/) | Premium redesign plans, decision log, token adoption |
+| [superpowers/](superpowers/) | Agent-authored plans and specs |
+| [branch-review-records/](branch-review-records/) | Immutable one-row review records — one file per review — named for the SHA-256 of the row. **Append-only: never edit, delete, or move into subdirectories** ([policy](branch-review-archival-policy.md)) |
+| [archive/](archive/) | Completed phase plans, superseded designs, old progress logs — never current guidance |
+
+## Point-in-time records (historical — do not update)
+
+Dated status reports, reviews, and operator decisions. They describe the repo
+as it was on that date; supersede with a new dated document rather than editing.
+
+- [dsm5tr-handover-reconciliation-2026-09-16.md](dsm5tr-handover-reconciliation-2026-09-16.md) — DSM-5-TR and Sources handover reconciled against HEAD 66105e1: the criteria-provenance fix that shipped, the disposition of all 30 claims, the four items held for owner approval, and why 0 of the 24 supplied sources pass the native acquisition gate
+- [dsm5tr-approvals-queue.md](dsm5tr-approvals-queue.md) — what the DSM-5-TR handover leaves waiting on a person: 16 claims and 9 information concepts needing clinical sign-off, the seven rights questions per source across all 24, and the metadata 17 sources do not print
+- [audit/](audit/) — repo and UX/accessibility audits
+- [audit/full-repository-audit-2026-09-02.md](audit/full-repository-audit-2026-09-02.md) — full repository audit (25 lanes, independently verified findings, closed-off sub-projects, machine evidence, Stage-5 adversarial review; audit only, nothing acted on except one-line documentation corrections)
+- [audit/2026-07-20-repository-maturity.md](audit/2026-07-20-repository-maturity.md) — full repository maturity, mapping, and organisation audit
+- [audit/latency-audit-2026-07-28.md](audit/latency-audit-2026-07-28.md) — latency audit: server, client, and database findings by tier, with the already-cleared list
+- [audit/audit-handover-2026-07-14.md](audit/audit-handover-2026-07-14.md) — multi-skill repository audit findings inventory
+- [audit/audit-remediation-plan-2026-07-14.md](audit/audit-remediation-plan-2026-07-14.md) — sequenced remediation plan for the 2026-07-14 audit, with the 2026-07-17 reconciliation
+- [audit/design-audit-2026-07-17.md](audit/design-audit-2026-07-17.md) — repository-wide design, accessibility, and interaction audit
+- [audit/cloud-connection-acceptance-2026-08-05.md](audit/cloud-connection-acceptance-2026-08-05.md) — hosted versus local MCP boundary acceptance, Personal Pro split control plane, and remaining Cloud launcher blockers
+- [audit/claude-code-cloud-connection-acceptance-2026-08-17.md](audit/claude-code-cloud-connection-acceptance-2026-08-17.md) — Claude Code desktop-vs-cloud connector parity check (Railway/Figma/Sentry/Supabase/GitHub live-verified), dependency-currency hook, open Supabase-scope and GitHub-portability items
+- [audit/2026-09-17-external-audit-refutations.md](audit/2026-09-17-external-audit-refutations.md) — what the 2026-09-17 external audit got wrong and why: it read a commit 31 behind `main`, eight findings refuted with evidence (four re-verified 2026-09-18), which findings were real but already decided, and the two questions still worth a person
+- [audit/2026-09-16-catalogue-read-latency.md](audit/2026-09-16-catalogue-read-latency.md) — every public catalogue read re-hashed the whole 9.5 MB frozen corpus (live mean 8,656 ms, max 17,263 ms); mitigated in the application, root cause still needs a migration and an approved window
+- [audit/2026-09-16-registry-search-outage.md](audit/2026-09-16-registry-search-outage.md) — why registry search returned nothing for seven days; same read path as the catalogue-latency record, different defect
+- [audit/psychsift-differentials-handover-reconciliation-2026-09-16.md](audit/psychsift-differentials-handover-reconciliation-2026-09-16.md) — the Differentials handover reconciled against repository records: why the evidence adapter is blocked, and the claim-to-record mapping the package cannot supply
+- [audit/codex-cloud-reliability-20260907.md](audit/codex-cloud-reliability-20260907.md) — Codex Cloud reliability record, 2026-09-07
+- [current-clinical-work-brief.md](current-clinical-work-brief.md) — ledger #063 product/privacy/persistence brief (decision only, no implementation)
+- [factsheets-reading-model-brief.md](factsheets-reading-model-brief.md) — ledger #041 reading-model decision (no second Factsheets mode)
+- [tooling-follow-through-decisions-2026-08-12.md](tooling-follow-through-decisions-2026-08-12.md) — ledger #150 CodeRabbit cap policy and #151 GitHub Actions observation fallback
+- [staging-shutdown-and-repo-review-handover-2026-09-06.md](staging-shutdown-and-repo-review-handover-2026-09-06.md) — why shutting staging down does not block drift detection or repair (and what it does block), plus three off-ledger findings: the open SaMD classification on a live patient-specific feature, the spend threshold that alerts without enforcing, and unreachable password sign-in
+- [evidence/forms-operational-guidance-review.md](evidence/forms-operational-guidance-review.md) — generated sign-off sheet: what the Forms mode displays for each of the 54 forms, the sections and approved form it was drafted from, and how a reviewer records sign-off one form at a time (`npm run forms:review-sheet`)
+- [evidence/forms-pdf-publisher-comparison-2026-09-16.md](evidence/forms-pdf-publisher-comparison-2026-09-16.md) — byte comparison of all 51 approved-form PDFs against the Office of the Chief Psychiatrist's own URLs (51 of 51 identical), the same-day register reconciliation of all 54 codes and availability states, and the Form 10G register typo this repository does not copy
+- [wa-mha-forms-handover-reconciliation-2026-09-16.md](wa-mha-forms-handover-reconciliation-2026-09-16.md) — reconciliation receipt for the portable WA MHA Forms/Sources handover: what the Forms catalogue actually carried (40 of 54 forms on PDF-indexing scaffolding or the generic fallback), what landed, the zero-insert source preview and its single Act URL conflict, and the open clinical sign-off, Act-currency and asset gates
+- [source-governance-refresh-worklist-2026-07-22.md](source-governance-refresh-worklist-2026-07-22.md) — ledger #022 worklist and BMJ attestation policy status
+- [specifier-definition-worklist-2026-09-18.md](specifier-definition-worklist-2026-09-18.md) — issue #693 clinical worklist for the 585-item specifier catalogue: why "71 defined" is really 14, that nothing carries clinician sign-off, the A/B/C triage split, the 63 management-changing items in full, and a worked example of what a completed entry must contain
+- [specifier-entry-worksheet-with-catatonia.md](specifier-entry-worksheet-with-catatonia.md) — the first specifier entry laid out for completion: one shared definition, nine per-disorder rows, the exact field changes, and the sign-off block, with every clinical statement blank
+- `release-source-metadata-debt-2026-06-30.json` — captured source-metadata debt policy, consumed by `npm run audit:source-governance:release` and `npm run eval:quality:release`
+- [forward-codify-retrieval-rpcs-workorder.md](forward-codify-retrieval-rpcs-workorder.md) — completed retrieval RPC codification workorder
+- [project-alignment-cleanup.md](archive/project-alignment-cleanup.md) — completed June 2026 repo-alignment record
+- [capacity-review.md](audit/capacity-review.md), [scale-readiness-review.md](audit/scale-readiness-review.md), [tenancy-defense-in-depth-review.md](audit/tenancy-defense-in-depth-review.md)
+- `*-2026-*` findings and status docs, e.g. [chunking-ocr-reindex-lever-finding-2026-07-08.md](chunking-ocr-reindex-lever-finding-2026-07-08.md), [source-governance-status-2026-07-08.md](archive/source-governance-status-2026-07-08.md), [source-governance-priorities-2026-07-02.md](archive/source-governance-priorities-2026-07-02.md), [source-review-priority-2026-07-02.md](source-review-priority-2026-07-02.md), [operator-apply-july8-batch.md](archive/operator-apply-july8-batch.md)
+
+### Also catalogued (2026-09-02)
+
+Every remaining tracked document in this category (dated records and the `evidence/`, `archive/`, `audit/`, `care-plan/` and `superpowers/` folders — historical; do not update), one line each; the description is the document's own title, with its opening sentence where that adds something.
+
+- [review-findings-2026-08-02.md](review-findings-2026-08-02.md) — Mega-review report — TypeScript, code, quality, explicit-any, unchecked indexed access — Date: 2026-08-02 Scope:
+- [evidence/bundle-budget-production-rebaseline-2026-08-18.md](evidence/bundle-budget-production-rebaseline-2026-08-18.md) — Production bundle-budget re-baseline — 2026-08-18 — check:bundle-budget compares the client JavaScript a non-mockup route can reach against a baseline captured from a known-good build.
+- [evidence/mha-2014-section-summaries-review.md](evidence/mha-2014-section-summaries-review.md) — Mental Health Act 2014 (WA) — section summary review sheet — Act version 02-b0-01, as at 2025-09-25.
+- [evidence/mobile-root-timing-control-2026-08-26.md](evidence/mobile-root-timing-control-2026-08-26.md) — Mobile-root timing control — 2026-08-26 — The mobile-root timing signal recorded during PR #2313 was not reproduced on pinned Linux CI.
+- [evidence/performance-remediation-2026-08-23.md](evidence/performance-remediation-2026-08-23.md) — Current-main performance remediation evidence — 2026-08-23 — This change fixes the two deterministically attributed layout mechanisms on the shared search shell, removes an unsolicited Applications-rou…
+- [evidence/rag-irrelevant-at-10-disposition.md](evidence/rag-irrelevant-at-10-disposition.md) — RAG irrelevant-at-10 labeling disposition & browser matrix evidence — 2026-08-27 — This document records the human review disposition and scheduled browser matrix verification for ledger issue #023 (P2), completing the eval…
+- [evidence/rag-reliability-evidence-2026-07-27.md](evidence/rag-reliability-evidence-2026-07-27.md) — RAG reliability evidence — 2026-07-27 — This record captures the final local/live evidence for the 2026-07-27 RAG reliability work.
+- [archive/BRANCH_ARCHIVE_20260709.md](archive/BRANCH_ARCHIVE_20260709.md) — Obsolete Branch Archive — This branch preserves the histories of obsolete remote branches before deleting their scattered refs.
+- [archive/COLOR_REDESIGN_PLAN.md](archive/COLOR_REDESIGN_PLAN.md) — Luxury Black-First Color Redesign Plan (Global UI Polish) — Apply a refined, premium dark-first visual system across the app with minimal risk:
+- [archive/TOOLS_CONTEXT_FOR_NEW_CHAT.md](archive/TOOLS_CONTEXT_FOR_NEW_CHAT.md) — Context handoff: Tools / Applications UX task — I’m creating this file so a new chat can continue the exact task with full context, including screenshots referenced so far.
+- [archive/branch-cleanup-2026-06-28.md](archive/branch-cleanup-2026-06-28.md) — Branch Cleanup Snapshot — 2026-06-28 — Archived from docs/branch-cleanup-guide.md on 2026-07-04.
+- [archive/branch-progress-2026-07-05.md](archive/branch-progress-2026-07-05.md) — Branch Progress Snapshot — 2026-07-05 — Archived from the working tree on 2026-07-05.
+- [archive/branch-review-ledger-2026-q3.md](archive/branch-review-ledger-2026-q3.md) — Branch Review Ledger Archive — 2026-q3 — Historical review records rotated out of docs/branch-review-ledger.md so the live table stays navigable.
+- [archive/clinical-chat-ui-implementation-plan.md](archive/clinical-chat-ui-implementation-plan.md) — Clinical Chat UI Implementation Plan — Date: 2026-06-23…
+- [archive/clinical-chat-ui-phase-checklist.md](archive/clinical-chat-ui-phase-checklist.md) — Clinical Chat UI Phase Checklist — Date: 2026-06-23…
+- [archive/cloud-chat-reconciliation-2026-07-22.md](archive/cloud-chat-reconciliation-2026-07-22.md) — Cloud-chat reconciliation record — 2026-07-22 — This record closes the Database cloud-chat reconciliation against protected origin/main.
+- [archive/cloud-chat-reconciliation-postmortem-2026-07-23.md](archive/cloud-chat-reconciliation-postmortem-2026-07-23.md) — Cloud-chat reconciliation postmortem — 2026-07-23 — This is the durable final account of the Database cloud-chat reconciliation.
+- [archive/design-qa-2026-07-15.md](archive/design-qa-2026-07-15.md) — Design QA — 2026-07-15 — Final result: blocked.
+- [archive/design-qa.md](archive/design-qa.md) — design-qa
+- [archive/operator-decisions-2026-07-04.md](archive/operator-decisions-2026-07-04.md) — Operator decisions — 2026-07-04 — Historical snapshot of manual follow-ups deferred during documentation and verification gate recovery work.
+- [archive/operator-decisions-2026-07-06.md](archive/operator-decisions-2026-07-06.md) — Operator decisions — 2026-07-06 — Approvals granted during the repository-review follow-up session.
+- [archive/phase-3-design-decision-log.md](archive/phase-3-design-decision-log.md) — Phase 3 Design Decision Log — Changed: The dashboard command header is being reworked around a full-width mobile question input, larger mode controls, and sheet-like scop…
+- [archive/phase-6-reaudit-2026-06-29.md](archive/phase-6-reaudit-2026-06-29.md) — Phase 6 Re-Audit - June 29, 2026 — This pass re-checked the remediation work after the M2 merge and live Supabase migration.
+- [archive/rag-scalability-wip-remediation-2026-07-17.md](archive/rag-scalability-wip-remediation-2026-07-17.md) — RAG-scalability WIP review — remediation report (2026-07-17) — Status: F11 shipped and merged;
+- [archive/rag-scalability-wip-review-handover-2026-07-15.md](archive/rag-scalability-wip-review-handover-2026-07-15.md) — Handover — RAG scalability WIP review findings (2026-07-15) — Status: findings + remediation plan recorded;
+- [archive/search-rag-phase-0-baseline.md](archive/search-rag-phase-0-baseline.md) — Search/RAG Phase 0 Baseline — Date: 2026-06-29 Workspace:
+- [archive/search-rag-phase-1-api-validation.md](archive/search-rag-phase-1-api-validation.md) — Search/RAG Phase 1: API Validation Contract — Date: 2026-06-29 Workspace:
+- [archive/search-rag-phase-2-answer-plan.md](archive/search-rag-phase-2-answer-plan.md) — Search/RAG Phase 2: Answer Plan Contract — Date: 2026-06-29 Workspace:
+- [archive/search-rag-phase-3-synthesis-output.md](archive/search-rag-phase-3-synthesis-output.md) — Phase 3: Synthesis Prompt And Structured Output Hardening — Make the model the final clinical composer while keeping generated output grounded, evidence-ID constrained, and machine-validated before it…
+- [archive/search-rag-phase-4-canonical-render-policy.md](archive/search-rag-phase-4-canonical-render-policy.md) — Phase 4: Canonical Render Policy — Prevent noisy answer panels by rendering from a normalized display policy instead of raw RagAnswer field presence.
+- [archive/search-rag-phase-5-source-review-ux.md](archive/search-rag-phase-5-source-review-ux.md) — Phase 5: Source Review UX — Make evidence review fast, consistent, clickable, and accessible across desktop and mobile.
+- [archive/search-rag-phase-5.5-retrieval-quality-source-selection.md](archive/search-rag-phase-5.5-retrieval-quality-source-selection.md) — Phase 5.5: Retrieval Quality And Source Selection Contract — Fix the remaining retrieval/source-selection failures before final security hardening.
+- [archive/search-rag-phase-5.5b-retrieval-follow-up.md](archive/search-rag-phase-5.5b-retrieval-follow-up.md) — Phase 5.5b: Visual Retrieval And Supported-Answer Recovery — Phase 5.5 fixed the first set of targeted retrieval misses, but the follow-up eval still showed two retrieval defects and a separate RAG-eva…
+- [archive/search-rag-pre-phase-2-diff-classification.md](archive/search-rag-pre-phase-2-diff-classification.md) — Pre-Phase 2 Dirty Diff Classification — Date: 2026-06-29 Workspace:
+- [audit/gate-consolidation-audit-2026-09-02.md](audit/gate-consolidation-audit-2026-09-02.md) — Gate consolidation audit — 2026-09-02 — Status: proposal only.
+- [audit/live-design-interaction-audit-2026-08-06.md](audit/live-design-interaction-audit-2026-08-06.md) — Live design & interaction audit — master report — Date: 2026-08-06 App:
+- [audit/live-drift-forensics-2026-08.md](audit/live-drift-forensics-2026-08.md) — Live-drift forensics — 2026-08 — Evidence record for the phased database remediation plan and playbook.
+- [audit/performance-image-cwv-audit-2026-08-02.md](audit/performance-image-cwv-audit-2026-08-02.md) — Performance, Image & Core Web Vitals Audit — PsychSift Production — Date: 2026-08-02 Scope:
+- [audit/primary-checkout-reconciliation-2026-07-24.md](audit/primary-checkout-reconciliation-2026-07-24.md) — Primary checkout reconciliation — 2026-07-24 — This record covers the dirty primary checkout and the final cloud-chat salvage wave.
+- [audit/repo-audit-2026-07-01.md](audit/repo-audit-2026-07-01.md) — Repository Audit — PsychSift Production — Date: 2026-07-01 Branch:
+- [audit/repo-wide-review-remediation-plan-2026-07-23.md](audit/repo-wide-review-remediation-plan-2026-07-23.md) — Repository-wide review remediation completion plan — 2026-07-24 — Complete every outstanding finding from the 2026-07-19 repository-wide review sweep with the smallest safe patches, clear ownership boundari…
+- [audit/repo-wide-review-sweep-2026-07-19.md](audit/repo-wide-review-sweep-2026-07-19.md) — Repository-wide review sweep — 2026-07-19 — This was a broad static repository sweep of /workspace/Database on branch work, combining the repo workflow guidance, local static commands,…
+- [audit/ux-accessibility-review-2026-07-07.md](audit/ux-accessibility-review-2026-07-07.md) — UX & Accessibility Review — Date: 2026-07-07 Reviewer role:
+- [audit/worktree-reconciliation-2026-08-23.md](audit/worktree-reconciliation-2026-08-23.md) — Worktree and branch reconciliation — 2026-08-23 — Disposition: preservation-first;
+- [care-plan/CLAUDE-START-HERE.md](care-plan/CLAUDE-START-HERE.md) — Care Plan — Claude start here — Last updated: 22 August 2026 (Australia/Perth) Implementation status:
+- [care-plan/HANDOFF-2026-08-24-SUPERSEDED.md](care-plan/HANDOFF-2026-08-24-SUPERSEDED.md) — Care Plan — complete handoff package — Assembled 24 August 2026, when the previous session hit its weekly account limit.
+- [care-plan/HANDOFF-START-HERE.md](care-plan/HANDOFF-START-HERE.md) — Care Plan — start here — Rewritten 1 September 2026.
+- [care-plan/accessibility-acceptance.md](care-plan/accessibility-acceptance.md) — Care Plan — accessibility and responsive acceptance — What was checked, how, at what size, in what mode — and, just as importantly, what was not checked and therefore remains an open acceptance…
+- [care-plan/claude-build-handover-2026-08-21.md](care-plan/claude-build-handover-2026-08-21.md) — ED Care Plans — detailed Claude build handover — ED Care Plans is fully brainstormed, clinically bounded, visually selected, specified, and decomposed into a nine-task implementation plan.
+- [care-plan/clinical-language-trace.md](care-plan/clinical-language-trace.md) — Care Plan — clinical language trace — Every consequential label the prototype shows a reader, traced to the glossary term or specification sentence it comes from, and the banned…
+- [care-plan/cloud-session.md](care-plan/cloud-session.md) — Care Plan — cloud session brief and progress log — If you are an AI session working on Care Plan in the cloud, this is the first file you read and the last file you write.
+- [care-plan/conversation-transcript-2026-08-21.md](care-plan/conversation-transcript-2026-08-21.md) — ED Care Plans — Codex conversation transcript — This is a portable transcript of the conversational text.
+- [care-plan/implementation-handoff.md](care-plan/implementation-handoff.md) — Care Plan — implementation handoff — What was built, where it lives, what it deliberately does not do, and what would have to be true before any of it went near a patient.
+- [care-plan/interaction-matrix.md](care-plan/interaction-matrix.md) — Care Plan — interaction matrix — Every control in the prototype:
+- [care-plan/patient-facing-sheets/README.md](care-plan/patient-facing-sheets/README.md) — The three printed sheets, as text — Committed 2 September 2026 so that a session without access to this machine — a cloud session above all — can read what Care Plan actually p…
+- [care-plan/reports/final-fix-report.md](care-plan/reports/final-fix-report.md) — Care Plan — final fix wave — Branch: claude/care-plan-stage-b-9-11 Worktree:
+- [care-plan/reports/task-10-report.md](care-plan/reports/task-10-report.md) — Task 10 — Reviews, Team, Governance, History, and System states — Branch claude/care-plan-stage-b-9-11, worktree D:\Worktrees\Database\care-plan-impl.
+- [care-plan/reports/task-11-report.md](care-plan/reports/task-11-report.md) — Task 11 — Browser journeys, responsive and accessibility proof, documentation, handoff — Branch claude/care-plan-stage-b-9-11, worktree D:\Worktrees\Database\care-plan-impl.
+- [care-plan/reports/task-3-brief.md](care-plan/reports/task-3-brief.md) — task-3-brief
+- [care-plan/reports/task-3-report.md](care-plan/reports/task-3-report.md) — Task 3 report — gated route family, literal navigation, responsive clinical shell — Branch claude/ed-care-plans-impl-7f44cd, worktree D:\Worktrees\Database\care-plan-impl, base d421bc2dc.
+- [care-plan/reports/task-4-brief.md](care-plan/reports/task-4-brief.md) — task-4-brief
+- [care-plan/reports/task-4-report.md](care-plan/reports/task-4-report.md) — Task 4 report — Clinical Snapshot, patient search, Current Plan hierarchy, CMHT actions — Branch claude/ed-care-plans-impl-7f44cd, worktree D:\Worktrees\Database\care-plan-impl.
+- [care-plan/reports/task-5-brief.md](care-plan/reports/task-5-brief.md) — task-5-brief
+- [care-plan/reports/task-5-report.md](care-plan/reports/task-5-report.md) — Task 5 report — Management Plan reading, pinned safety boundary, and clinician print — Branch claude/ed-care-plans-impl-7f44cd, worktree D:\Worktrees\Database\care-plan-impl.
+- [care-plan/reports/task-6-brief.md](care-plan/reports/task-6-brief.md) — task-6-brief
+- [care-plan/reports/task-6-report.md](care-plan/reports/task-6-report.md) — Task 6 report — governed Management Plan authoring — Stage B opens with the first authoring surface in the product:
+- [care-plan/reports/task-7-brief.md](care-plan/reports/task-7-brief.md) — task-7-brief
+- [care-plan/reports/task-7-report.md](care-plan/reports/task-7-report.md) — Task 7 report — ED Presentation timeline, concise recording, plan-use feedback, and visible amendments — Branch claude/ed-care-plans-impl-7f44cd, worktree D:\Worktrees\Database\care-plan-impl.
+- [care-plan/reports/task-8-brief.md](care-plan/reports/task-8-brief.md) — task-8-brief
+- [care-plan/reports/task-8-report.md](care-plan/reports/task-8-report.md) — Task 8 report — the patient's own Personal Safety Plan, its versioning, and its printed copy — Worktree D:\Worktrees\Database\care-plan-impl, branch claude/ed-care-plans-impl-7f44cd.
+- [care-plan/reports/task-9-brief.md](care-plan/reports/task-9-brief.md) — task-9-brief
+- [care-plan/reports/task-9-report.md](care-plan/reports/task-9-report.md) — Task 9 report — Patient Plan — Commit: f4de82034 — feat(care-plan):
+- [care-plan/reports/task-d1-report.md](care-plan/reports/task-d1-report.md) — Task D1 — the moment the person's part was recorded — Status: COMPLETE. Fast checks only, by user instruction (D2).
+- [care-plan/session-handoff-2026-08-21.md](care-plan/session-handoff-2026-08-21.md) — Care Plan — session handoff, 21 August 2026 — Written at the end of the controlling Claude session that designed Care Plan and built Tasks 1 and 2.
+- [care-plan/session-handoff-2026-08-23.md](care-plan/session-handoff-2026-08-23.md) — Care Plan — session handoff, 23 August 2026 — Written at the moment the session was closed, mid-task.
+- [care-plan/verification-log-2026-08-21.md](care-plan/verification-log-2026-08-21.md) — ED Care Plans — handover verification log — This log records evidence for the design/planning/handover package only.
+- [care-plan/verification-report.md](care-plan/verification-report.md) — Care Plan — verification report (Task 11) — Exact commands, exit codes, result lines, failures, and — just as important — the checks that were not run and why.
+- [superpowers/plans/2026-07-04-public-anonymous-access-rate-limits.md](superpowers/plans/2026-07-04-public-anonymous-access-rate-limits.md) — Public Anonymous Access and Rate Limiting Implementation Plan — Goal: Remove the forced sign-in/authorization barrier so anonymous users can run live searches, generate answers, browse/view source documen…
+- [superpowers/plans/2026-07-24-webkit-rsc-prefetch-disposition.md](superpowers/plans/2026-07-24-webkit-rsc-prefetch-disposition.md) — WebKit RSC Prefetch Disposition Implementation Plan — Goal: Disposition issue #024 by proving whether the WebKit _rsc access-control page error is caused by the route-coverage harness, applying…
+- [superpowers/plans/2026-08-05-editable-pin-menu-mockups.md](superpowers/plans/2026-08-05-editable-pin-menu-mockups.md) — Search + Editable Pins Menu — Implementation Record — Perfect /mockups/search-lens-menu around editable app-destination pins while preserving the original visual direction.
+- [superpowers/plans/2026-08-20-rag-adaptive-answer.md](superpowers/plans/2026-08-20-rag-adaptive-answer.md) — Adaptive RAG answer and display — Implementation Plan — Goal: Extend the landed v19 moderate-length/related-information contract into evidence-gated adaptive answers, and remove the independent si…
+- [superpowers/plans/2026-08-20-rag-australian-source-governance.md](superpowers/plans/2026-08-20-rag-australian-source-governance.md) — Australian source governance for RAG — Implementation Plan — Goal: Establish a typed, enforceable Australian source catalogue that augments uploaded indexed guidelines, excludes Healthdirect, treats eT…
+- [superpowers/plans/2026-08-20-rag-evaluation-rollout.md](superpowers/plans/2026-08-20-rag-evaluation-rollout.md) — RAG programme evaluation, rollout, and operations — Implementation Plan — Goal: Make every source, retrieval, answer, fallback, re-index, and incremental-delivery improvement measurable, privacy-minimised, reversib…
+- [superpowers/plans/2026-08-20-rag-ingestion-reindex.md](superpowers/plans/2026-08-20-rag-ingestion-reindex.md) — Governed ingestion audit and reversible targeted re-index — Implementation Plan — Goal: Determine which documents genuinely need repair, acquire only allowlisted public Australian versions into a governed shadow state, cor…
+- [superpowers/plans/2026-08-20-rag-retrieval-composition.md](superpowers/plans/2026-08-20-rag-retrieval-composition.md) — RAG query planning, combined retrieval, and fallback — Implementation Plan — Goal: Stop false “not enough information” answers by decomposing only genuinely broad questions, searching shared uploaded guidance, current…
+- [superpowers/plans/2026-08-20-rag-verified-incremental-delivery.md](superpowers/plans/2026-08-20-rag-verified-incremental-delivery.md) — Verified incremental RAG delivery — Implementation Plan — Goal: Make the chat begin showing useful answer text sooner, while preserving the rule that no raw token, provisional dose, incomplete JSON,…
+- [superpowers/plans/2026-08-21-developer-hub-phase-1-COMPLETION.md](superpowers/plans/2026-08-21-developer-hub-phase-1-COMPLETION.md) — Developer hub Phase 1 — completion record — Companion to -HANDOFF.md (how to resume) and -WORKLOG.md (the full history through Task 2).
+- [superpowers/plans/2026-08-21-developer-hub-phase-1-HANDOFF.md](superpowers/plans/2026-08-21-developer-hub-phase-1-HANDOFF.md) — Developer hub Phase 1 — handoff — Read this before touching the plan.
+- [superpowers/plans/2026-08-21-developer-hub-phase-1-WORKLOG.md](superpowers/plans/2026-08-21-developer-hub-phase-1-WORKLOG.md) — Developer hub Phase 1 — complete worklog — Everything done on this work, in order, including what failed.
+- [superpowers/plans/2026-08-21-developer-hub-phase-1.md](superpowers/plans/2026-08-21-developer-hub-phase-1.md) — Developer hub — Phase 1 implementation plan — Goal: Turn /mockups/development into a login-gated developer hub whose first live panel is a task ledger rendered from docs/outstanding-issu…
+- [superpowers/plans/2026-08-21-rag-repository-content-sync.md](superpowers/plans/2026-08-21-rag-repository-content-sync.md) — Repository-wide first-party content retrieval and freshness — Implementation Plan — Goal: Let Answer mode retrieve the relevant approved the product content for questions about specifiers, differentials, medications, service…
+- [superpowers/plans/2026-08-21-trusted-admin-document-ingestion.md](superpowers/plans/2026-08-21-trusted-admin-document-ingestion.md) — Trusted Admin/Backend Document Ingestion — Implementation Plan — Goal: Make a trusted administrator/backend upload the clinical-admission event, then automatically activate the document for shared clinical…
+- [superpowers/plans/2026-08-22-developer-hub-phase-2-HANDOFF.md](superpowers/plans/2026-08-22-developer-hub-phase-2-HANDOFF.md) — Developer hub Phase 2 — handoff — Companion to the plan (2026-08-22-developer-hub-phase-2.md) and the approved spec (docs/superpowers/specs/2026-08-22-developer-hub-phase-2-d…
+- [superpowers/plans/2026-08-22-developer-hub-phase-2.md](superpowers/plans/2026-08-22-developer-hub-phase-2.md) — Developer hub Phase 2 (repo awareness) Implementation Plan — Goal: Fill the developer hub's four phase:
+- [superpowers/plans/2026-08-22-mode-aware-clinical-ask-implementation.md](superpowers/plans/2026-08-22-mode-aware-clinical-ask-implementation.md) — Mode-aware Clinical Ask Implementation Plan — Goal: Add an explicit typed-or-dictated Clinical Ask action to Services, Forms, Differentials, Formulation, DSM-5 Diagnosis, Specifiers, and…
+- [superpowers/plans/2026-08-23-clinical-trust-cockpit.md](superpowers/plans/2026-08-23-clinical-trust-cockpit.md) — Clinical trust cockpit — implementation plan — Goal: Give authorised reviewers one place to see content maturity, source-change impact, and quality feedback with explicit ownership and ev…
+- [superpowers/plans/2026-08-23-favourites-and-reconciliation.md](superpowers/plans/2026-08-23-favourites-and-reconciliation.md) — Favourites and repository reconciliation — implementation plan — Goal: Complete stable-reference favourites and leave the branch/worktree fleet safer without sacrificing recoverable work.
+- [superpowers/plans/2026-08-23-lighthouse-local-build-reliability.md](superpowers/plans/2026-08-23-lighthouse-local-build-reliability.md) — Lighthouse Local Build Reliability Implementation Plan — Goal: Let the repository-owned Lighthouse workflow complete its isolated production build on the supported Windows workstation without weake…
+- [superpowers/plans/2026-08-23-outstanding-p2-p3-remediation.md](superpowers/plans/2026-08-23-outstanding-p2-p3-remediation.md) — Outstanding P2/P3 Remediation Implementation Plan — Goal: Resolve all 55 supplied P2/P3 ledger rows through permanent repository fixes, evidence-backed closures, or accurate external-gate upda…
+- [superpowers/plans/2026-08-23-performance-remediation-current-main.md](superpowers/plans/2026-08-23-performance-remediation-current-main.md) — Current-main Performance Remediation Implementation Plan — Goal: Resolve the performance defects that remain evidenced on current main, strengthen the measurement and budget guardrails that failed to…
+- [superpowers/plans/2026-08-23-platform-contracts-readiness.md](superpowers/plans/2026-08-23-platform-contracts-readiness.md) — Platform contracts and readiness — implementation plan — Goal: Make API/model payloads, privacy readiness, alerts, and clinical-hazard evidence machine-checkable without overstating external accept…
+- [superpowers/plans/2026-08-25-developer-hub-ingestion-panel.md](superpowers/plans/2026-08-25-developer-hub-ingestion-panel.md) — Developer hub — ingestion panel — Date: 2026-08-25 Status:
+- [superpowers/plans/2026-09-01-calculators-clinical-safety.md](superpowers/plans/2026-09-01-calculators-clinical-safety.md) — Calculators clinical safety and governance implementation plan
+- [superpowers/plans/2026-09-01-native-smart-catalogue-search.md](superpowers/plans/2026-09-01-native-smart-catalogue-search.md) — Native Smart Catalogue Search Implementation Plan — Goal: Add safe, provider-free natural-language catalogue search to Medication, Tools, Calculators, Factsheets, and Dictionary while preservi…
+- [superpowers/plans/2026-09-01-services-safety-provenance.md](superpowers/plans/2026-09-01-services-safety-provenance.md) — Services Safety and Provenance Foundation — Implementation Plan — 2. Add canonical source modules and validation.
+- [superpowers/plans/2026-09-01-sources-mode.md](superpowers/plans/2026-09-01-sources-mode.md) — Sources Mode Implementation Plan — Goal: Build a read-only /sources application mode that automatically catalogues, organises, rates, ranks and traces every structured academi…
+- [superpowers/rag-upgrade/CLOUD-EXECUTION-PROMPT.md](superpowers/rag-upgrade/CLOUD-EXECUTION-PROMPT.md) — Cloud execution prompt template — Use the final handover message's filled prompt, not this unfilled template.
+- [superpowers/rag-upgrade/LOCAL-CONNECTED-EXECUTION-PROMPT.md](superpowers/rag-upgrade/LOCAL-CONNECTED-EXECUTION-PROMPT.md) — New-session local connected execution prompt — Use this only after Cloud P17 and accepted PROGRAMME.json are published.
+- [superpowers/rag-upgrade/canonical/START-HERE.cloud.md](superpowers/rag-upgrade/canonical/START-HERE.cloud.md) — Cloud execution package — start here — This package executes P00–P17 only.
+- [superpowers/rag-upgrade/canonical/START-HERE.local.md](superpowers/rag-upgrade/canonical/START-HERE.local.md) — Local operational package — start here — This is the new-session Windows/local handover for L00–L10 after accepted Cloud P00–P17 work.
+- [superpowers/rag-upgrade/canonical/approval-matrix.md](superpowers/rag-upgrade/canonical/approval-matrix.md) — Authority and approval matrix — Authority is action- and target-specific.
+- [superpowers/rag-upgrade/canonical/connected-execution.md](superpowers/rag-upgrade/canonical/connected-execution.md) — Local connected execution contract — This contract begins only after P17 and the immutable offline PROGRAMME.json are accepted and published.
+- [superpowers/rag-upgrade/canonical/execution-order.md](superpowers/rag-upgrade/canonical/execution-order.md) — RAG upgrade execution order — The manifest is the scheduling authority.
+- [superpowers/rag-upgrade/canonical/sdd-execution.md](superpowers/rag-upgrade/canonical/sdd-execution.md) — Subagent-driven execution contract — The tracked .agents/skills/rag-cloud-sdd/SKILL.md is the self-contained Cloud controller.
+- [superpowers/rag-upgrade/cloud/START-HERE.md](superpowers/rag-upgrade/cloud/START-HERE.md) — Cloud execution package — start here — This package executes P00–P17 only.
+- [superpowers/rag-upgrade/cloud/approval-matrix.md](superpowers/rag-upgrade/cloud/approval-matrix.md) — Authority and approval matrix — Authority is action- and target-specific.
+- [superpowers/rag-upgrade/cloud/connected-execution.md](superpowers/rag-upgrade/cloud/connected-execution.md) — Local connected execution contract — This contract begins only after P17 and the immutable offline PROGRAMME.json are accepted and published.
+- [superpowers/rag-upgrade/cloud/execution-order.md](superpowers/rag-upgrade/cloud/execution-order.md) — RAG upgrade execution order — The manifest is the scheduling authority.
+- [superpowers/rag-upgrade/cloud/plans/2026-08-20-rag-adaptive-answer.md](superpowers/rag-upgrade/cloud/plans/2026-08-20-rag-adaptive-answer.md) — Adaptive RAG answer and display — Implementation Plan — Goal: Extend the landed v19 moderate-length/related-information contract into evidence-gated adaptive answers, and remove the independent si…
+- [superpowers/rag-upgrade/cloud/plans/2026-08-20-rag-australian-source-governance.md](superpowers/rag-upgrade/cloud/plans/2026-08-20-rag-australian-source-governance.md) — Australian source governance for RAG — Implementation Plan — Goal: Establish a typed, enforceable Australian source catalogue that augments uploaded indexed guidelines, excludes Healthdirect, treats eT…
+- [superpowers/rag-upgrade/cloud/plans/2026-08-20-rag-evaluation-rollout.md](superpowers/rag-upgrade/cloud/plans/2026-08-20-rag-evaluation-rollout.md) — RAG programme evaluation, rollout, and operations — Implementation Plan — Goal: Make every source, retrieval, answer, fallback, re-index, and incremental-delivery improvement measurable, privacy-minimised, reversib…
+- [superpowers/rag-upgrade/cloud/plans/2026-08-20-rag-ingestion-reindex.md](superpowers/rag-upgrade/cloud/plans/2026-08-20-rag-ingestion-reindex.md) — Governed ingestion audit and reversible targeted re-index — Implementation Plan — Goal: Determine which documents genuinely need repair, acquire only allowlisted public Australian versions into a governed shadow state, cor…
+- [superpowers/rag-upgrade/cloud/plans/2026-08-20-rag-retrieval-composition.md](superpowers/rag-upgrade/cloud/plans/2026-08-20-rag-retrieval-composition.md) — RAG query planning, combined retrieval, and fallback — Implementation Plan — Goal: Stop false “not enough information” answers by decomposing only genuinely broad questions, searching shared uploaded guidance, current…
+- [superpowers/rag-upgrade/cloud/plans/2026-08-20-rag-verified-incremental-delivery.md](superpowers/rag-upgrade/cloud/plans/2026-08-20-rag-verified-incremental-delivery.md) — Verified incremental RAG delivery — Implementation Plan — Goal: Make the chat begin showing useful answer text sooner, while preserving the rule that no raw token, provisional dose, incomplete JSON,…
+- [superpowers/rag-upgrade/cloud/plans/2026-08-21-rag-repository-content-sync.md](superpowers/rag-upgrade/cloud/plans/2026-08-21-rag-repository-content-sync.md) — Repository-wide first-party content retrieval and freshness — Implementation Plan — Goal: Let Answer mode retrieve the relevant approved the product content for questions about specifiers, differentials, medications, service…
+- [superpowers/rag-upgrade/cloud/plans/2026-08-21-trusted-admin-document-ingestion.md](superpowers/rag-upgrade/cloud/plans/2026-08-21-trusted-admin-document-ingestion.md) — Trusted Admin/Backend Document Ingestion — Implementation Plan — Goal: Make a trusted administrator/backend upload the clinical-admission event, then automatically activate the document for shared clinical…
+- [superpowers/rag-upgrade/cloud/sdd-execution.md](superpowers/rag-upgrade/cloud/sdd-execution.md) — Subagent-driven execution contract — The tracked .agents/skills/rag-cloud-sdd/SKILL.md is the self-contained Cloud controller.
+- [superpowers/rag-upgrade/cloud/specs/2026-08-20-rag-answer-and-australian-sources-design.md](superpowers/rag-upgrade/cloud/specs/2026-08-20-rag-answer-and-australian-sources-design.md) — RAG answer quality, repository content, and Australian source augmentation — design — Status: Approved programme design, reconciled against origin/main aa0c04bce12995894a9287cb1a084f89f2ed6ef8 on 2026-08-22.
+- [superpowers/rag-upgrade/cloud/specs/2026-08-21-trusted-admin-document-ingestion-design.md](superpowers/rag-upgrade/cloud/specs/2026-08-21-trusted-admin-document-ingestion-design.md) — Trusted Admin/Backend Document Ingestion and RAG Activation Design — Date: 2026-08-21 Status:
+- [superpowers/rag-upgrade/execution-artifacts/rag-answer-quality-and-repository-coverage-v1/README.md](superpowers/rag-upgrade/execution-artifacts/rag-answer-quality-and-repository-coverage-v1/README.md) — RAG upgrade execution artifacts — Accepted phase receipts reference immutable artifacts below this directory.
+- [superpowers/rag-upgrade/execution-receipts/rag-answer-quality-and-repository-coverage-v1/README.md](superpowers/rag-upgrade/execution-receipts/rag-answer-quality-and-repository-coverage-v1/README.md) — RAG upgrade execution receipts — This tracked directory is the durable cross-session ledger for programme rag-answer-quality-and-repository-coverage-v1.
+- [superpowers/rag-upgrade/local/START-HERE.md](superpowers/rag-upgrade/local/START-HERE.md) — Local operational package — start here — This is the new-session Windows/local handover for L00–L10 after accepted Cloud P00–P17 work.
+- [superpowers/rag-upgrade/local/approval-matrix.md](superpowers/rag-upgrade/local/approval-matrix.md) — Authority and approval matrix — Authority is action- and target-specific.
+- [superpowers/rag-upgrade/local/connected-execution.md](superpowers/rag-upgrade/local/connected-execution.md) — Local connected execution contract — This contract begins only after P17 and the immutable offline PROGRAMME.json are accepted and published.
+- [superpowers/rag-upgrade/local/execution-order.md](superpowers/rag-upgrade/local/execution-order.md) — RAG upgrade execution order — The manifest is the scheduling authority.
+- [superpowers/rag-upgrade/local/plans/2026-08-20-rag-adaptive-answer.md](superpowers/rag-upgrade/local/plans/2026-08-20-rag-adaptive-answer.md) — Adaptive RAG answer and display — Implementation Plan — Goal: Extend the landed v19 moderate-length/related-information contract into evidence-gated adaptive answers, and remove the independent si…
+- [superpowers/rag-upgrade/local/plans/2026-08-20-rag-australian-source-governance.md](superpowers/rag-upgrade/local/plans/2026-08-20-rag-australian-source-governance.md) — Australian source governance for RAG — Implementation Plan — Goal: Establish a typed, enforceable Australian source catalogue that augments uploaded indexed guidelines, excludes Healthdirect, treats eT…
+- [superpowers/rag-upgrade/local/plans/2026-08-20-rag-evaluation-rollout.md](superpowers/rag-upgrade/local/plans/2026-08-20-rag-evaluation-rollout.md) — RAG programme evaluation, rollout, and operations — Implementation Plan — Goal: Make every source, retrieval, answer, fallback, re-index, and incremental-delivery improvement measurable, privacy-minimised, reversib…
+- [superpowers/rag-upgrade/local/plans/2026-08-20-rag-ingestion-reindex.md](superpowers/rag-upgrade/local/plans/2026-08-20-rag-ingestion-reindex.md) — Governed ingestion audit and reversible targeted re-index — Implementation Plan — Goal: Determine which documents genuinely need repair, acquire only allowlisted public Australian versions into a governed shadow state, cor…
+- [superpowers/rag-upgrade/local/plans/2026-08-20-rag-retrieval-composition.md](superpowers/rag-upgrade/local/plans/2026-08-20-rag-retrieval-composition.md) — RAG query planning, combined retrieval, and fallback — Implementation Plan — Goal: Stop false “not enough information” answers by decomposing only genuinely broad questions, searching shared uploaded guidance, current…
+- [superpowers/rag-upgrade/local/plans/2026-08-20-rag-verified-incremental-delivery.md](superpowers/rag-upgrade/local/plans/2026-08-20-rag-verified-incremental-delivery.md) — Verified incremental RAG delivery — Implementation Plan — Goal: Make the chat begin showing useful answer text sooner, while preserving the rule that no raw token, provisional dose, incomplete JSON,…
+- [superpowers/rag-upgrade/local/plans/2026-08-21-rag-repository-content-sync.md](superpowers/rag-upgrade/local/plans/2026-08-21-rag-repository-content-sync.md) — Repository-wide first-party content retrieval and freshness — Implementation Plan — Goal: Let Answer mode retrieve the relevant approved the product content for questions about specifiers, differentials, medications, service…
+- [superpowers/rag-upgrade/local/plans/2026-08-21-trusted-admin-document-ingestion.md](superpowers/rag-upgrade/local/plans/2026-08-21-trusted-admin-document-ingestion.md) — Trusted Admin/Backend Document Ingestion — Implementation Plan — Goal: Make a trusted administrator/backend upload the clinical-admission event, then automatically activate the document for shared clinical…
+- [superpowers/rag-upgrade/local/sdd-execution.md](superpowers/rag-upgrade/local/sdd-execution.md) — Subagent-driven execution contract — The tracked .agents/skills/rag-cloud-sdd/SKILL.md is the self-contained Cloud controller.
+- [superpowers/rag-upgrade/local/specs/2026-08-20-rag-answer-and-australian-sources-design.md](superpowers/rag-upgrade/local/specs/2026-08-20-rag-answer-and-australian-sources-design.md) — RAG answer quality, repository content, and Australian source augmentation — design — Status: Approved programme design, reconciled against origin/main aa0c04bce12995894a9287cb1a084f89f2ed6ef8 on 2026-08-22.
+- [superpowers/rag-upgrade/local/specs/2026-08-21-trusted-admin-document-ingestion-design.md](superpowers/rag-upgrade/local/specs/2026-08-21-trusted-admin-document-ingestion-design.md) — Trusted Admin/Backend Document Ingestion and RAG Activation Design — Date: 2026-08-21 Status:
+- [superpowers/specs/2026-07-02-triage-security-reliability-design.md](superpowers/specs/2026-07-02-triage-security-reliability-design.md) — Triage Security & Reliability Fixes Design — Date: 2026-07-02 Scope:
+- [superpowers/specs/2026-08-05-editable-pin-menu-mockups-design.md](superpowers/specs/2026-08-05-editable-pin-menu-mockups-design.md) — Search + Editable Pins Menu — Final Mockup Direction — Route: /mockups/search-lens-menu…
+- [superpowers/specs/2026-08-20-rag-answer-and-australian-sources-design.md](superpowers/specs/2026-08-20-rag-answer-and-australian-sources-design.md) — RAG answer quality, repository content, and Australian source augmentation — design — Status: Approved programme design, reconciled against origin/main aa0c04bce12995894a9287cb1a084f89f2ed6ef8 on 2026-08-22.
+- [superpowers/specs/2026-08-21-developer-hub-phase-1-design.md](superpowers/specs/2026-08-21-developer-hub-phase-1-design.md) — Developer hub — Phase 1 design (hub shell, environment strip, task ledger) — Date: 2026-08-21 Status:
+- [superpowers/specs/2026-08-21-mode-aware-clinical-ask-design.md](superpowers/specs/2026-08-21-mode-aware-clinical-ask-design.md) — Mode-aware Clinical Ask — binding design specification — Status: approved 21 August 2026;
+- [superpowers/specs/2026-08-21-trusted-admin-document-ingestion-design.md](superpowers/specs/2026-08-21-trusted-admin-document-ingestion-design.md) — Trusted Admin/Backend Document Ingestion and RAG Activation Design — Date: 2026-08-21 Status:
+- [superpowers/specs/2026-08-22-developer-hub-phase-2-design.md](superpowers/specs/2026-08-22-developer-hub-phase-2-design.md) — Developer hub — Phase 2 design (repo awareness) — Date: 2026-08-22 Status:
+- [superpowers/specs/2026-08-23-clinical-operations-programme-design.md](superpowers/specs/2026-08-23-clinical-operations-programme-design.md) — Clinical operations programme — design — Status: autonomous implementation direction Date:
+- [superpowers/specs/2026-08-23-outstanding-p2-p3-remediation-design.md](superpowers/specs/2026-08-23-outstanding-p2-p3-remediation-design.md) — Outstanding P2/P3 Remediation Programme Design — Date: 2026-08-23…
+- [superpowers/specs/2026-09-01-calculators-clinical-safety.md](superpowers/specs/2026-09-01-calculators-clinical-safety.md) — Calculators clinical safety and evidence-governance specification — Date: 1 September 2026 Repository:
+- [superpowers/specs/2026-09-01-native-smart-catalogue-search-design.md](superpowers/specs/2026-09-01-native-smart-catalogue-search-design.md) — Native Smart Catalogue Search Design — Date: 2026-09-01…
+- [superpowers/specs/2026-09-01-services-safety-provenance-design.md](superpowers/specs/2026-09-01-services-safety-provenance-design.md) — Services Safety and Provenance Foundation — Design — Date: 2026-09-01 Repository base:
+- [superpowers/specs/2026-09-01-sources-mode-design.md](superpowers/specs/2026-09-01-sources-mode-design.md) — Sources Mode and Clinical Source Catalogue Design — Status: Approved design, written 2026-09-01 against 058693b97.
+
+### Also catalogued (2026-09-26)
+
+- [audit/2026-09-20-visual-ux-audit.md](audit/2026-09-20-visual-ux-audit.md) — Visual, UX and defect audit — master report, 2026-09-20
+- [design-system/drift-measurement-2026-09-02.md](design-system/drift-measurement-2026-09-02.md) — Design-token drift measurement, 2026-09-02
+- [design-system/sweep-fix-visible-live-regions.md](design-system/sweep-fix-visible-live-regions.md) — Sweep fix — visible live regions (closes finding 4 of the 2026-08-29 sweep)
+
+## Archive
+
+- [archive/](archive/) — completed phase plans, superseded designs, and old
+ progress logs kept for provenance. Never treat archive content as current
+ guidance.
+
+## Maintenance rules
+
+- Generated files (`site-map.md`) are updated only via their generator scripts.
+- When adding a doc, add it to the matching section here; date the filename if
+ it is a point-in-time record.
+- When a maintained doc is superseded, move it to `archive/` and update inbound
+ links (`npm run docs:check-links` finds broken ones).
+
+
+## Ingestion and RAG implementation record
+
+[Plan, progress, processes and verification history — 15 October 2026](audit/ingestion-rag-2026-10-15/complete-record.md). This is a draft implementation handover with explicit failed, reused and unrun evidence; it is not general release or bulk-ingestion approval.
diff --git a/docs/audit/ingestion-rag-2026-10-15/complete-record.md b/docs/audit/ingestion-rag-2026-10-15/complete-record.md
new file mode 100644
index 0000000000..274c302862
--- /dev/null
+++ b/docs/audit/ingestion-rag-2026-10-15/complete-record.md
@@ -0,0 +1,177 @@
+# Complete ingestion and RAG record
+
+Prepared for local commit and a draft PR on 15 October 2026. This is an implementation and evidence handover, not a new readiness verdict. The original objective is `rag-source-ingestion-continuation-v1`.
+
+The publication tree uses the preserved assembly base `4a6acb7e22e1bac3924cd83450ea76eae1e8cc81` and exact selected source blobs. Both original dirty worktrees and branches remain preserved. No new format, tests, lint, typecheck, build, provider eval or browser journey was run for publication. GitHub CI is unobserved.
+
+## Current boundary
+
+- The corrected app is deployed and its recorded readiness returned HTTP 200. Corrected recorded-response replay passed 13 positive and three unsafe-output absence checks; fresh corrected live Answer and browser-copy confirmation were not rerun.
+- The approved summary TXT job is already completed. Do not restart or re-embed it. Four pending jobs are PDFs, outside the approved TXT scope; generic worker dispatch stays paused.
+- Four prospective restricted owner operating decisions were expressly adopted on 14 October 2026, with review by 1 December 2026 or earlier after material change. This is not an independent legal finding, general clinical approval or satisfaction of unobserved activation facts.
+- Selected native proof covers four pages, not every PDF or the whole parent. Scanned numerical tables remain held. Optional enrichment stays off the initial critical path. Bulk ingestion and re-indexing are unstarted.
+
+## Publication limits and preservation
+
+This record includes portable final code, recovered portable test candidates and evidence metadata. Test candidates have not been executed against this assembled publication tree. Original machine-specific capture harnesses, actual response fixtures, database dumps, account records, credentials, mounted permissions, source PDFs and scanner-signature databases stay private. The deployed Dockerfile overlay requiring those mounted inputs is preserved locally rather than published as a broken generic Docker build.
+
+All original records remain in the existing private execution directory. Its bounded private metadata index contains 1,726 retained records. The public evidence indices below expose only sanitised outcomes, commands, filenames and byte commitments. Counts from overlapping runs must not be summed as independent tests.
+
+The newer cached main has known conflicts with selected upload, worker and SQL/schema/history files. This PR is a draft snapshot; base reconciliation and current-tree verification are not claimed. Do not merge as part of publication. Merging changes under `supabase/migrations/**` applies them to the live clinical database automatically; production deployment is not a later deferred step.
+
+## Published source and evidence indices
+
+- [Source inventory](source-inventory.json)
+- [Ingestion evidence index](ingestion-evidence-index.json)
+- [RAG evidence and chronological progress](rag-evidence-inventory.json)
+
+
+# Ingestion programme: plan, progress, process and evidence record
+
+Objective: `rag-source-ingestion-continuation-v1`. Owning product: PsychSift. This is a sanitized record for publication, prepared from retained execution records on 14 October 2026. Original private records remain in place. Publication adds no new test, provider request, migration, deployment or ingestion acceptance.
+
+The final corrected app deployment is recorded as **SUCCESS**, with readiness **HTTP 200 / ok** on 14 October. The agreed TXT ingestion was already completed and must not be restarted. The final Answer correction has accepted recorded-response replay evidence: **13 positive checks and three unsupported-recommendation absence checks**. A fresh live corrected Answer and browser-copy journey was **not rerun**. Bulk ingestion and re-indexing remain unstarted; generic persistent worker dispatch remains paused. Selected native PDF evidence covers four pages only. Scanned numerical tables remain held.
+
+## Original plan and selected delivery scope
+
+The original U01–U13/C01–C06 programme remains the governing full objective. The first-release amendment groups retained work into three delivery blocks, without treating a smaller local milestone as full `SOURCE_COMPLETE` or `PRODUCTION_ACCEPTED`:
+
+1. **Block A: U08/U09 safety and extraction.** Integrate admitted callers and source inspection; preserve byte identity, source rights, owner/purpose restrictions, extraction/serialization/persistence, critical numeric relationships and explicit uncertainty/refusal across supported formats.
+2. **Block B: U10 plus required U12 evidence adapter.** Bind generations, independently expected/retained/failed source inventory, terminal receipts and publication ownership; deliver original evidence and qualifications through the existing RAG consumer. Ordinary Answer work remains RAG-owned.
+3. **Block C: required U11/U13 operator tools and recovery.** Expose truthful task states, complete pagination and owner visibility; retain bounded retries, stale-attempt refusal, failure/dead-letter visibility, safe recovery, rollback and cleanup authorization. Operational full-shadow execution remains distinct from a pure planner.
+
+The retained deferrals are FR-D01 separate experimental retrieval/ranking kernel; FR-D02 operator convenience/presentation enhancements; FR-D03 fine-grained stage-selective repair/cost optimization; FR-D04 sophisticated automatic repair/partial-document salvage. Existing PC01–PC04 optional runtime tuning remains separately deferred. Uncertainty detection, permitted-original retention, durable refusal, critical completeness, essential recovery and protection of the prior valid generation remain required. Optional enrichment is off the initial critical path. No measured cost/time saving is inferred.
+
+Plan pointer: `first-release-scope-and-deferrals-20260921.md`. Current execution pointers: `U04-live-checkpoint.json` (especially `activeExecution`) and `hosted-rollout-20261013/hosted-rollout-current-checkpoint.json`. Earlier checkpoint paragraphs are append-only history; later dated boundary records govern later scope.
+
+## Phased chronology and proof
+
+All counts below identify recorded runs or selected proofs. Later stages often include earlier tests: counts are **not additive** and do not represent a total of independent cases. A recorded pass is valid for its frozen inputs and declared scope; it is not a fresh test of the publication checkout.
+
+| Phase | What was prepared or accepted | Recorded evidence and limits |
+| --- | --- | --- |
+| U02/U03/U07 prerequisites and blocker repair | Reconciled worker/Edge/caller/schema contracts, generation admission and catalogue fencing; stable source-bound prerequisite packet handed to U08. | Final 55/55 input SHA256 identities verified. Reused 23-file/354-pass focused proof and source compiler; fresh selected schema tests 36 passes, gate tests 84 passes/1 skip, corrected integrity rerun 48 passes/1 skip (overlap). Native selected role/integrity gates covered 55 explicit inputs, not the repository. 113 SECURITY DEFINER checks and 11 privacy structural requirements passed. Actual isolated synthetic SQL rollback oracle passed; negative control failed as expected. Privacy production-readiness remained failed: five pending/one partial, downstream component unrun. Historical U02 remains exit 1, four failed suites, 45 failed/586 passed, with no inherited waiver. |
+| U04 audit/control/persistence foundations | Iteratively bound audit consumers, origin capture, state guards, retention and recovery contracts. Failures and corrected attempts were retained. | Early consumer run 551 pass/1 fail; corrected run 552 pass. Origin run 721 pass/2 fail remains failed; corrected 616 consumer passes plus 108 explicitly reused schema cases. Compiler diagnostics and lease-blocked zero-test attempts remain historical failures/blocks. These snapshots do not accept the whole programme. |
+| U08 admitted caller dispatch and safety | Local dispatch wiring, request-bound admission, worker loader and provider/malware adapter contracts. | `U08-local-boundary.json`: fresh 17-file/260-pass focused evidence. Earlier 165-pass/3-fail attempt and compiler fixture/SDK diagnosis were corrected rather than relabeled. Bounded synthetic Defender/malware and runtime-authority records are separate. Local wiring does not prove real Auth/MFA, hosted scanners, storage or general production processing. |
+| U09 DOCX/native PDF/TXT/XLSX | Byte/source identity, independent evidence denominators, decoding/resource limits and terminal provenance refusal across actual local producer/serialization paths. | DOCX/parser packet: 120 passed/3 skipped across 11 files. Native PDF packet: 140 passed/3 skipped across 12 files, three actual native variants and original-buffer/page/geometry/persisted-text identities. TXT packet: 170 passed/3 skipped, three eight-unit variants and ten decoder/control specimens. XLSX packet: 262 passed/3 skipped across 15 files, 19 evidence variants and six denominator-null refusals; 228 pins, five outputs and 12 logs matched. Skips identify CI-only Python install and Windows-inapplicable signal cases, not acceptance waivers. Source/compiler/lint/format selected gates passed where recorded. Privacy release stayed failed in these historical packets; downstream readiness unrun. None proves all real documents or whole-PDF OCR. |
+| U10 generation/retention/source families | Retention and schema compatibility; finite supplied-plan closure; original-source roles, declaration/manifest consistency, table dependencies, ordered builder outputs, private caller/native/vector/terminal contracts. | P1 recorded 192 focused tests/16 files and 29 drift tests/two files, actual local producer/SQL oracle and rollback. P2a–P2p boundaries retain each narrow acceptance and missing contract. P2o existing builder specimen recorded 32 ordered calls/replay, two exact refusals and two semantic-loss controls; derived neutral threshold labels remain unverified. P2p compact section summaries omitted obligations while full chunks retained them, so summaries cannot substitute for source completeness. Private terminal packet: 29 fresh tests/four files; one invented three-page PDF; 32 retained core rows (three chunks, eight fields, two images, 17 indexes, two table facts), eight independently specified obligations, immutable seal/read/replay and bounded recovery. Replayed retained provider vectors were offline, not new dispatch. JWT GUC emulation and qualified schema prefix are not real hosted authentication/full migration replay. |
+| U11 queue/task/recovery | Recovery identity, owner-only durable technical-task SQL, authenticated reader/caller and local task interface. | Recovery identity: 18 fresh tests/one file; compiler/lint reused after exact identity validation. Technical-task SQL: 85 assertions; independently expected 205 RPC-produced owner tasks, exact snapshot traversal and a genuine two-session transaction lock schedule; real local contention does not prove a hosted executor. Reader adoption: 50 SQL assertions, seven full actual RPC responses, three decoder refusals, 80 caller tests/six files, 25 isolated boot guards; local browser/startup evidence recorded separately. Public/shared-source generalized queue and operational processing are not automatically accepted by these owner-only local packets. |
+| U12 RAG evidence/Answer integration | Original source and qualifiers transported into the existing governed consumer; finite withheld-output controls and narrow corrections. | Separate RAG record owns detailed consumer/Answer chronology. The retained final correction replays the genuine recorded response through delivery/formatter and prepared copy: 13 positive checks plus three actual unsupported-output absence checks, independently accepted. Unchanged age cases reused. This is no broad clinical/ranking/OCR acceptance, and no fresh corrected hosted Answer or actual browser-copy acceptance. |
+| U13 planner and hosted rollout | Deterministic canonical-audit/source/state/rollback-bound finite-budget full-shadow planner; separately bounded TXT and app rollout. | Pure U13 planner evidence is selected within a 297-test source packet; it is not a queue executor, provider dispatch or activation. Hosted records subsequently establish the controlled TXT completion, paused worker and final app build/readiness, with the limits below. Operational full-shadow/re-indexing remains unstarted. |
+
+Primary phase pointers: `blocker-resolution-final-boundary.json`; `U08-local-boundary.json`; `U09-local-boundary.json`, `U09-native-pdf-local-boundary.json`, `U09-txt-local-boundary.json`, `U09-xlsx-local-boundary.json`; `U10-P1-local-boundary.json` and the complete indexed `U10-P2a`–`U10-P2p` boundaries; `U10-private-terminal-local-boundary.json`; `U11-recovery-identity-local-boundary.json`, `U11-technical-tasks-local-boundary.json`, `U11-reader-adoption-local-boundary.json`; `U13-full-shadow-plan-local-boundary.json`.
+
+## Hosted and final corrected state
+
+The hosted source target recorded before later scoped adoptions was commit `4382217c3c61f2407d717e665cf9388c41ea2f5b`. This commit alone does not identify every later adopted byte. Per-file source hashes, manifests and adoption receipts identify subsequent changes; the publication inventory must reconcile those against the final checkout. Tests against earlier source are historical unless the relevant identity matches.
+
+The administrator TXT cutover records migration `20261013075944`, both claim return shapes `SETOF jsonb`, owned private admission/schema, and a default-paused worker with runtime validator covering 25 externals/Python prerequisites. These are recorded hosted actions; publication is not a request to repeat a migration or activate dispatch. Earlier read-only observations of absent tables/RPCs are historical predecessor states.
+
+The actual approved TXT was 7,437 bytes with source SHA256 `22f4c1ab15dc61769461e3d27ec9427343d95878799e35896feb3cf9288f4e11`. The retention receipt records six final chunks, six embedded chunks, all 7,437 bytes and exact source identity. The 14 October readback confirmed that job already completed and four pending jobs were PDFs. Enabling the generic claim worker would admit those PDFs outside the completed TXT scope; leave it paused. No duplicate TXT upload, re-embedding or restart is needed.
+
+Selected native PDF comparison covers physical pages **9, 10, 11 and 62**, eight table cells and two images, with bounded crop-closeout acceptance. It does not establish whole 106-page source completeness, general native mapping or whole-document safety. Figure 6.1 physical page 53 is excluded from this bounded authority. Scanned numerical tables remain held: 300-DPI OCR retained **53/56** numeric values; 450-DPI attempts recovered **56/56 numbers** but still had ratio/header errors. Neither is a complete table-fidelity pass. No further automatic OCR variants or production extractor change follows from the observation.
+
+Hosted Answer attempts retained their real outcomes: Answer21 produced a budget-denied 503 with dispatch count unknown; Answer22 refused at seed section binding (one embedding dispatch, zero answer-model dispatch); Answer23 produced a genuine nontruncated response but failed the required delivered/copied outcome because bare-age phrasing was rejected. The signed-in source viewer opened the intended source. Browser clipboard was empty and complete SSE wire unavailable; no passing copy/wire claim is made. Narrow section-binding, age and source-profile qualification corrections followed with independent reviews. A deployment-removal mistake was recorded and restored; pending build cancellation must use exact deployment identity/state rather than `railway down`.
+
+Final accepted correction: numeric source SHA256 `559b62cba08fedf9330e2bd907442de08cee204dbc6f395b99e2d849627eb5c2`; renderer SHA256 `b0b1ac48bb3ccdfdad22b8b33f2b8dd1b0254082ce4d515034541150a27ffe17`. Recorded replay has 13 positive/three negative checks and exact independent clinical-code acceptance. Final deployment `d072cade-2fa7-4564-9f2c-ee7ca134b168` records **SUCCESS**; image SHA256 `ba0c5368cc570eda04c51d799f785803ff676350eef4fb2216389f2aef741b58`. Readiness at `2026-10-14T15:14:07.1878805Z` records HTTP 200, `ok`, non-demo, configured OpenAI/Supabase and live Supabase check `ok`; site-content check skipped. A configured service/health check does not prove corrected Answer behavior.
+
+Historical source verification includes `npm run typecheck:source -- --incremental false` exit 0 after hosted fixture correction and seven cases in the changed fixture file. A later whole-project compiler attempt exhausted 4-GB heap and was not repeated; a selected 1,932-file compiler recorded zero diagnostics. Selected earlier 1,918-file proof is a separate source snapshot. The A23 section-binding proof records 28 bounded cases and scoped lint/format; hosted webpack/type/pages/client-secret gates passed. None was rerun for this publication, and there is no implied fresh broad local suite.
+
+Controlled-testing budget record: ceiling USD32; retained maximum reservations USD31.8506993; USD0.1493007 unreserved. Reservations are maximum-authority accounting, **not measured actual spend**. No new paid requests were made for final correction closeout. Earlier unknown dispatch counts remain unknown.
+
+Four restricted-pilot owner operating decisions were subsequently adopted in the existing single release record on 14 October. The earlier final-readiness receipt saying they were pending is superseded **only on that point** by `release-preparation/restricted-owner-adoption-20261014.json`. Requirement statuses for ZDR, cross-border legal basis, notices and PHI minimization remain pending; repository release activation remains unchanged. Owner adoption is not an independent legal/clinical finding, nor public/PDF/OCR/bulk activation GO. Review expiry is recorded as 1 December 2026.
+
+## Execution process and continuing limits
+
+Work was source-pinned before proof: branch/HEAD identity, owned file/manifests, dependency parity and original junction restoration, exact selectors, synthetic fixtures and independently expected source obligations. Concurrent/foreign leases were respected; blocked zero-test runs were not bypassed. Coupled worker/schema edits and expensive checks were serialized. Review findings led to bounded corrections; failed reviews, wrong hypotheses, fixture failures, compiler failures and diagnostic outcomes were preserved. Negative controls deliberately proved refusal; they are not unexpected product failures.
+
+The public record preserves the difference between source review, written code, actual local SQL/producer/runtime, mocked JWT conditions, reused provider vectors, real hosted admission/model attempts, deployment/build and observed readiness. Historical privacy/signing failures retain their own dispositions. Later restricted owner decisions do not retroactively turn failed gates into passes. Local retained PDFs/crops and emulation do not prove general document or clinical acceptance.
+
+Remaining scope: no whole-corpus/source-completeness claim, no mass ingestion, no re-index GO, no general scanned-table acceptance, no unobserved corrected live Answer/copy proof, no legal activation claim. The completed TXT needs no further action. A next ingestion batch requires exact approved documents/formats and applicable budget/rights/runtime authority. Persistent dispatch stays paused and optional enrichment remains off. The original full programme and deferred requirements remain open. Task records report Notion **UNSYNCED**.
+
+## Evidence and preservation contract
+
+`ingestion-evidence-index.json` provides original artifact-relative labels, SHA256 and byte length for selected phase boundaries and final receipts. It carries no account identity, email, raw provider response, SQL row data, credentials, patient material, transcript or private absolute path. It is a pointer record; private artifacts are intentionally not copied into the repository. The original full execution record remains private and unchanged. `private-record-index.json` separately inventories bounded private plan/proof/receipt/review/checkpoint documents and their hashes; it is metadata only and remains outside publication.
+
+Evidence-index SHA256: 6893a682540ab1b0f40218a67bd082d537244c8b6b4671c87e6b1113bc6a473b. The index currently contains 77 pointers. Hashes prove artifact identity; they do not prove a receipt's clinical claim, supply publication rights for private content, or make historical checks fresh.
+
+
+---
+
+# RAG plan, progress and evidence handover
+
+This packet preserves the completed RAG continuation for publication without copying private captures or rerunning checks. Ingestion is the sole source-adoption, Git and PR owner. The RAG author wrote only this external handover and its metadata inventory.
+
+Original source identity: `8237f6b81fabfb59e1842f6bb2e1d006cd79ee79`. Historical reviewed composition used base `4382217c3c61f2407d717e665cf9388c41ea2f5b` and live `e3008dbd51f451ed57d842fb1b2f5f7c9aa0d0c8`. These identities do not establish the current PR base. Root must record that base and preserve intervening work.
+
+## Outcome and original acceptance requirements
+
+The final numeric and finite source-wording corrections are deployed in the accepted app image. The agreed summary TXT ingestion is already completed; restarting it would duplicate finished work. The corrected recorded response preserves the four populations, direct citations and qualifiers through the actual parser, full legacy finalizer, client projection, render model and pure copy formatter.
+
+The original clinical requirements remain intact: healthy adults aged 18 and over, weekly 10 and daily 4 standard-drink limits, lower-risk/no-safe/no-risk/abstention qualifications; underage abstinence/no clear safe level; pregnancy and planning abstinence/no safe level identified; breastfeeding abstinence safest for the baby and maternal safe-amount qualifications. Recommendations must remain bound to their actual source and population. Unsupported recommendations must be absent from delivered clinical text and prepared copy, rather than merely labelled low trust.
+
+## Phase plan and progress
+
+| Phase | Completed progress | Remaining or qualified boundary |
+| --- | --- | --- |
+| Preserve continuity and ownership | Original packet identities, frozen preimages, source status and completed evidence retained. Reviewed main-line overlap composition preserved concurrent changes. | Historical composition is not current PR-base proof; root owns publication reconciliation. |
+| Source transport and answer presentation | Registered original-source authority, full source context/prompt transport, finalizer/copy projection and finite recovery seam implemented. | No new retrieval-ranking improvement or general source-authority claim. |
+| Minimal causal repairs | Finite dispatch/refusal witness, actual absent-field compatibility, narrow age-unit matching and final unsafe-output removal completed. | Exact licensed standard-drink profile only; no general paraphrase safety claim. |
+| Focused verification | Historical qualified gate, later narrow regression proofs and final recorded-response delivery/copy checks accepted with explicit evidence limits. | Failed broader and live evidence remain failed; no fresh corrected hosted Answer or browser clipboard run. |
+| Hosted integration | Final corrected deployment succeeded; hosted build/type checks passed; actual readiness returned HTTP 200/status ok with demo mode false. | Deployment/readiness does not establish fresh Answer/clipboard or general clinical release acceptance. |
+| Restricted ingestion and owner record | Summary TXT already completed; selected native four-page pilot completed; four prospective restricted owner operating decisions adopted. | Scanned numerical tables held; PDF/OCR/bulk/private/patient/voice activation excluded; other legal/runtime activation conditions remain pending. |
+| Publication | This plan, chronology, source/preimage map and sanitised evidence index prepared. | Root owns local commit and PR. No new tests/build/format/reviews/CI were performed for publication. |
+
+## Decisive evidence: passing, reused, failed and unrun
+
+- Historical V22: **84/84 focused cases passed**, typecheck **1,938 files / zero diagnostics**, scoped formatting and lint across 11 files passed. The broader selected domain was **350/360, failed**, with ten failures independently reproduced identically on the unchanged baseline. Earlier **336/350** is a distinct historical failed run. Do not present either full domain as green or apply historical proof to changed inputs without its scope qualification.
+- V3 dispatch: `node dispatch-v3.test.mjs`, 12 qualified groups passed. Refusal witness: `node refusal-witness.test.mjs`, 21 groups passed. These exercise selected actual SDK/generator declarations with explicitly mocked clinical/retrieval internals.
+- Section binding: `node section-binding.test.mjs`, 28 groups passed; a separate genuine RPC-shape producer receipt proves the specific missing-field correction, with its reconstruction limits retained.
+- Numeric age repair: retained Vitest invocation against `vitest.config.mjs`, **92/92 passed** (80 existing numeric cases and 12 strict-age groups). This evidence was reused for unchanged final numeric bytes after 33 input pins matched; the suite was not repeated.
+- Original actual A23: genuine completed, nontruncated provider generation and assembled server capture, but **live delivery failed**. The source viewer opened the correct source; clipboard and complete SSE evidence were unavailable. The capture and response contents remain private.
+- Held finite recovery: a first 6/13 failure exposed parser punctuation normalization. Two exact signature corrections subsequently retained the positive answer, but the three negative cases only refused *complete recovery* while unsafe drafts remained visible. That negative acceptance was **invalid and superseded**.
+- Final corrected replay: `node replay-recorded-response.mjs`, **13 positive assertions and all three actual unsafe-output absence cases passed** across main, sections and prepared copy. Wrong value and population returned ungrounded/unsupported output. Exact bounded clinical-code review accepted the final delta. This is actual recorded-response/pure-formatter proof with reconstructed bound context; it is **not** a fresh hosted route/SSE/browser clipboard proof.
+- Final hosted image: `ba0c5368cc570eda04c51d799f785803ff676350eef4fb2216389f2aef741b58`. Hosted build/types passed; actual `/api/health/ready` returned HTTP 200, status ok, demo mode false, with recorded configuration/database checks ok. No later paid model request is claimed.
+- Unrun: fresh corrected live Answer/browser clipboard, general corpus/OCR/bulk ingestion/re-indexing and new publication tests/build/reviews/CI. Optional AI enrichment is off the initial critical path; no general stored-enrichment acceptance is asserted.
+
+The earlier deployment-removal mistake is retained as an operational incident: the prior running app was removed by a generic CLI action, then restored; the held unsafe build was removed and the final corrected image deployed successfully. Preserve the incident and use exact deployment identity for any future authorised cancellation. This handover performs no deployment action.
+
+## Final source identities and dependencies
+
+| Final module | Authoritative preceding preimage | Accepted final SHA-256 |
+| --- | --- | --- |
+| `src/lib/answer-verification.ts` | `0a340eeec7850282d8cbe50c90dd9a4369bc04bd92057d97005db323321f91ed` | `559b62cba08fedf9330e2bd907442de08cee204dbc6f395b99e2d849627eb5c2` |
+| `src/lib/rag/rag-source-bound-alcohol-summary.ts` | Held preimage `02124fce9ffa8f7cf7374fcd58acf472d375781966fd562feb9c034e247e3464`; original seam `2e15180fdefc534a546c6a44eb945832f9a91889ab0f30ba2693cdaa92cec68f` | `b0b1ac48bb3ccdfdad22b8b33f2b8dd1b0254082ce4d515034541150a27ffe17` |
+| `src/lib/answer-pilot-diagnostic.js` | `cbc770a16c07374dc57f7da52d4d2b0a0145d99c1416a16716f0ae8fd69d0a21` | `c3c5954c49c5407ac6f0a31f5625146bf2b3f487d4db866a13847f9f5a7409ef` |
+
+[rag-evidence-inventory.json](rag-evidence-inventory.json) contains the complete 30-path source/test inventory, current hosted-snapshot byte hashes, authoritative recorded preimage chains, 21 retained receipt hashes and chronological progress. The JSON file is the exhaustive mapping; this table highlights the last causal corrections.
+
+Adopt dependencies coherently: answer JSON/stream routes; registered public-answer options; candidate/governed source adapters; source blocks and context packing; `rag.ts` and the full extractive finalizer; source-bound renderer and numeric verifier; copy/section projection and result/thread presentation; finite pilot budget, ticket, wire guard and diagnostic modules. Preserve the reviewed admission/discharge side-evidence helper and main-line imports. The full ingestion worker/extractor/schema inventory belongs to the parallel ingestion packet.
+
+Do not treat a hosted deployment snapshot as a complete test checkout. Several retained tests are absent from it. `tests/rag-nhmrc-delivery.test.ts` depends on `tests/fixtures/nhmrc-response18-consumer.json`, whose `rawText` and native source rows are an actual recorded capture. Neither is public-ready as-is under the raw-response exclusion. The age, SDK/refusal, section-binding and final replay harnesses also depend on private snapshot paths/captures. Keep their full originals and evidence private; root must decide the public-safe portable test subset without falsely claiming those harnesses are standalone or silently changing their acceptance criteria. No test rewrite or rerun was performed here.
+
+## Six readiness categories, honestly carried forward
+
+| Category | Current record |
+| --- | --- |
+| Historical decision alignment | Retained decisions/history preserved; new adoption is prospective and does not retroactively renew reviews. No new historical audit performed. |
+| Missing review facts | Four restricted owner operating decisions adopted. Unobserved runtime facts and independent legal findings were not supplied by that adoption. |
+| Provider agreement coverage | Existing agreement evidence reused with its recorded scope. No new provider/legal verification performed. |
+| Overseas-processing privacy | Conservative privacy/overseas-disclosure operating safeguards adopted; no exemption, zero-retention entitlement or statutory-compliance conclusion inferred. |
+| Notice/contact | Pinned restricted-pilot notice approved as pilot information with draft/historical qualifications. Existing contact arrangements retained; no fabricated sustained monitoring or final whole-product policy approval. |
+| Integrated/live RAG | TXT and selected native evidence, final deployment/readiness and qualified recorded correction retained. Original live failure, unrun fresh corrected Answer/clipboard and held OCR limits remain explicit. |
+
+## Budget, next action and full continuity
+
+The approved testing ceiling is **USD 32**. Conservative retained reservations are **USD 31.8506993**, leaving **USD 0.1493007**. These are reservations, not a measurement of final billed spend. No refund/reallocation or new paid request is inferred. A next paid batch needs its exact scope and applicable cost authority.
+
+Persistent dispatch remains paused: the agreed TXT is completed and four other pending jobs are PDFs. The generic claim function lacks a document selector, so even a finite once-run can claim jobs outside the TXT scope. Do not restart the completed TXT or enable generic dispatch as publication housekeeping.
+
+Root's next action is selective source/test adoption against the actual PR base, preserving unrelated changes, then the requested local commit and PR. Local source evidence, previous hosted deployment and new PR/CI status are separate. This packet grants no merge, production rollout, migration, bulk ingestion or broader clinical release authority.
+
+Full private continuity remains in `RAG_PACKET/local-checkpoint.json`, the existing receipt/history and frozen original packets. `RAG_PACKET` denotes the retained `ordinary18-finalizer-copy-fix-v1` packet; `INGESTION_PACKET` denotes the retained hosted-rollout packet. The public inventory uses relative locators and hashes rather than local account paths. Preserve these private originals; do not create another ledger or publish transcripts, raw responses/RPC rows, signed URLs, credentials, account records or database dumps. Notion remains unsynced.
+
+## Bounded dependency closure correction
+
+The inventory also includes the adopted actual SDK transport in `src/lib/openai.ts` and the retained compatibility files `src/lib/rag/rag-claim-support.ts`, `rag-answer-instructions.ts`, `rag-cache.ts` and `tests/rag-generation-fingerprint.test.ts`. The ticket adoption and combined consumer manifests supply their preimage chains; current hosted hashes are recorded separately rather than silently treating an older candidate as final. The source transport must accompany its finite budget/wire guard imports. Type-only original-section DTOs come from the ingestion-owned `worker/published-admin-source-layout-contract.ts`. No answer-pilot/wire-budget `.d.ts` files were found in the hosted snapshot or retained RAG packet; root must identify any separately adopted declarations rather than assume they exist. No source rewrite, test or broader diagnosis was performed for this closure correction.
+
diff --git a/docs/audit/ingestion-rag-2026-10-15/ingestion-evidence-index.json b/docs/audit/ingestion-rag-2026-10-15/ingestion-evidence-index.json
new file mode 100644
index 0000000000..39873b5989
--- /dev/null
+++ b/docs/audit/ingestion-rag-2026-10-15/ingestion-evidence-index.json
@@ -0,0 +1,581 @@
+{
+ "schemaVersion": 1,
+ "objectiveId": "rag-source-ingestion-continuation-v1",
+ "preparedAtUtc": "2026-10-14T15:55:50.860600+00:00",
+ "purpose": "Public sanitized historical evidence pointers. Original files remain private; no raw artifact content is included. SHA256 identifies current bytes, not current-product proof.",
+ "artifactRoot": "20260907-continuation",
+ "freshness": "Evidence was executed at its recorded time; this publication reuses records and performs no new tests or provider calls.",
+ "counting": "Overlapping suites and successive snapshots must not be summed as independent tests.",
+ "entries": [
+ {
+ "artifact": "blocker-resolution-final-boundary.json",
+ "sha256": "63c025f2b662a25211f778dc661893c66eb90a2596276a5c4ef98aac99537ce1",
+ "bytes": 12617,
+ "status": "U02/U03/U07 prerequisite and bounded blocker repair locally proved; stable uncommitted stopping boundary; U08 handover ready",
+ "at": "2026-10-02T11:52:15.304270+00:00"
+ },
+ {
+ "artifact": "CURRENT-CHECKPOINT.md",
+ "sha256": "e6a7d7cca205ef83ca5acb779d4abc4196539e6f8f1dd8a2d2b1306a8bc47be6",
+ "bytes": 30710
+ },
+ {
+ "artifact": "file-restoration-20261009-v2/ordinary18-finalizer-copy-fix-v1/answer23-unsafe-negative-correction-v1/recorded-response-receipt.json",
+ "sha256": "d6d863111d391fb3a8b6c3ed1201c42b217a690c597d8767ecc6d08c4a2f6d2e",
+ "bytes": 96866,
+ "status": "PASS_RECORDED_QUALIFIER_COPY_AND_UNSAFE_OUTPUT_ABSENCE_NOT_HOSTED_ACCEPTANCE",
+ "at": "2026-10-14T14:39:07.919Z"
+ },
+ {
+ "artifact": "first-release-scope-and-deferrals-20260921.md",
+ "sha256": "8650047e6b5eb450794172a751bf5d8411d1f6e8885c49b6e9fcbcd6cfff6744",
+ "bytes": 11627
+ },
+ {
+ "artifact": "hosted-rollout-20261013/actual-hosted-pdf-ocr-independent-review-v3.json",
+ "sha256": "6bb0d686902ec82bb8f16d11f9d974bc324d1539926c1b93618582d77a4a586f",
+ "bytes": 28833,
+ "status": "ACTUAL_V3_SAME_INPUT_OCR_FAIL"
+ },
+ {
+ "artifact": "hosted-rollout-20261013/actual-hosted-pdf-ocr-report-v3.json",
+ "sha256": "7766d0be1c1d82af563339f5e455d64d0d37eb6e674d544115bb3f3a1083e9db",
+ "bytes": 29809,
+ "status": "ACTUAL_SELECTED_NATIVE_AND_RASTER_OCR_OBSERVATIONS_REQUIRES_INDEPENDENT_REVIEW"
+ },
+ {
+ "artifact": "hosted-rollout-20261013/actual-hosted-txt-retention-receipt.json",
+ "sha256": "613ea16d6c97bb8756db6b81ffe8194c2a3ce9b09f3848b70110b7ba29b132ef",
+ "bytes": 2837,
+ "status": "QUALIFIED_HOSTED_TXT_RETENTION_WITH_POST_COMPLETION_QUEUE_INCONSISTENCY",
+ "objectiveId": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "hosted-rollout-20261013/answer23-final-safety-adoption-20261014/root-adoption-receipt.json",
+ "sha256": "d3008d4535d66b228ecba704ee8cbd5a24f61a8f4ae2716971bfee222d98d1c2",
+ "bytes": 2105,
+ "status": "MINIMUM_ONE_RENDERER_SAFETY_DELTA_ADOPTED",
+ "at": "2026-10-14T14:47:08.647774+00:00"
+ },
+ {
+ "artifact": "hosted-rollout-20261013/controlled-txt-already-completed-20261014.json",
+ "sha256": "001d7923384750e7b34682d2fbc5c162cfd6e8bee2534c80132d86916cb045cf",
+ "bytes": 1658,
+ "status": "AGREED_TXT_ALREADY_COMPLETED_NO_DUPLICATE_START",
+ "lastVerifiedUtc": "2026-10-14T15:28:20.983338+00:00"
+ },
+ {
+ "artifact": "hosted-rollout-20261013/final-minimum-hosted-ready-20261014.json",
+ "sha256": "1768629dd1a7dd9cd8bc512e193f668202c06d2f0e15a5c1027b6c3ff5f76a50",
+ "bytes": 2407,
+ "status": "MINIMUM_CODE_CORRECTION_DEPLOYED_APP_READY",
+ "lastVerifiedUtc": "2026-10-14T15:15:06.970365+00:00",
+ "objectiveId": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "hosted-rollout-20261013/hosted-answer21-20261014/actual-refusal-receipt.json",
+ "sha256": "b4d747803736128308e60b25a02512ed71928c9ace8d260879a4216268687e50",
+ "bytes": 2234,
+ "status": "ACTUAL_HOSTED_CONTROLLED_REFUSAL_NO_DELIVERED_ANSWER"
+ },
+ {
+ "artifact": "hosted-rollout-20261013/hosted-answer22-20261014/actual-refusal-receipt.json",
+ "sha256": "8e96ddefe630160e3fc1145ce28d096422b4ed62b8417158e27da7a4f484b93f",
+ "bytes": 1675,
+ "status": "ACTUAL_HOSTED_SEED_SECTION_REFUSAL_NO_ANSWER_MODEL_DISPATCH"
+ },
+ {
+ "artifact": "hosted-rollout-20261013/hosted-answer23-20261014/actual-delivery-receipt.json",
+ "sha256": "98b660cc8cd3ed5a2f16acc7828089e7b7e6c45c8a61bb7dc6330b3a14a995d5",
+ "bytes": 3454,
+ "status": "ACTUAL_HOSTED_RESPONSE_CAPTURED_FOUR_PART_DELIVERY_FAILED"
+ },
+ {
+ "artifact": "hosted-rollout-20261013/hosted-answer23-20261014/deployment-removal-incident.json",
+ "sha256": "a212f8c3e3ff629ea4537a09c69d0f5111f2f93043151e9b4df051eff8e4f47c",
+ "bytes": 1510,
+ "status": "RESTORED_PREVIOUSLY_ACCEPTED_APP"
+ },
+ {
+ "artifact": "hosted-rollout-20261013/hosted-rollout-current-checkpoint.json",
+ "sha256": "78aad8b7e542bc949b9c7478b31c25280a357a9163f64aa1fbe2df3aa12c38f1",
+ "bytes": 73822,
+ "status": "MINIMUM_CODE_CORRECTION_DEPLOYED_APP_READY",
+ "at": "2026-10-14T15:15:06.970365+00:00",
+ "lastVerifiedUtc": "2026-10-14T15:41:24.747445+00:00",
+ "objectiveId": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "hosted-rollout-20261013/native-hosted-app-success-receipt.json",
+ "sha256": "42e031ea3b9c90f78427b2c7bfda9d5cfd636d50eeef35e4de94b01abe8fc8e3",
+ "bytes": 851,
+ "status": "HOSTED_APP_SUCCESS_HEALTH_ACCEPTANCE",
+ "at": "2026-10-13T20:42:43.504Z"
+ },
+ {
+ "artifact": "hosted-rollout-20261013/native-provider-evidence-correction-20261014/independent-native-crop-closeout.json",
+ "sha256": "96dbfa34373b2faa1bde29012d7a7bbd45f73e90d1b576083ff8fa98963ecd34",
+ "bytes": 14192,
+ "status": "PASS_ACTUAL_PRIVATE_NATIVE_CROP_DESCRIPTOR_PROVENANCE_CAPTION_CLOSEOUT",
+ "lastVerified": "2026-10-14T10:43:37.389482+00:00",
+ "objectiveId": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "hosted-rollout-20261013/ocr-original-detail-450dpi-20261014/independent-ocr-readback.json",
+ "sha256": "cd8a83eb667bab0c0452305bbc51fc17e9ff024eddfaa6e626b411f4e9a24000",
+ "bytes": 62031,
+ "status": "FAIL_RAW_OCR_RATIO_HEADER_WITH_56_OF_56_VALUES_CORRECT",
+ "lastVerified": "2026-10-14T10:50:10.899423+00:00",
+ "objectiveId": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "hosted-rollout-20261013/ocr-original-detail-450dpi-psm6-20261014/independent-ocr-readback.json",
+ "sha256": "85541340898a1126d5ab8aa9d0ecb6e5d80c0bbb5808b3dc7f5b1d3b14b784cf",
+ "bytes": 52941,
+ "status": "FAIL_RAW_OCR_RATIO_HEADER_AND_PARENT_HEADING_WITH_56_OF_56_VALUES_CORRECT",
+ "lastVerified": "2026-10-14T10:55:41.773792+00:00",
+ "objectiveId": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "hosted-rollout-20261013/release-preparation/restricted-owner-adoption-20261014.json",
+ "sha256": "4da0f2ad8c5b416d914123bc1fd5cf76a6630c4d7a2e3ccedf165e8fedb46592",
+ "bytes": 2225,
+ "status": "FOUR_RESTRICTED_OWNER_OPERATING_DECISIONS_ADOPTED"
+ },
+ {
+ "artifact": "owner-scope-alignment-local-boundary.json",
+ "sha256": "f5303795716c3a7eedee3e54610ed3d128c784bc09fdcaaa3dcc0cd4af337b51",
+ "bytes": 6452,
+ "status": "QUALIFIED_LOCAL_OWNER_SCOPE_ALIGNMENT_ACCEPTANCE",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U04-live-checkpoint.json",
+ "sha256": "6ecd8bfe9ad3c5e9cf761ac69897a05175a5bb8c7e57844e2ce14c8ce96992e3",
+ "bytes": 969960
+ },
+ {
+ "artifact": "U08-defender-synthetic-local-boundary.json",
+ "sha256": "b16f2c0115fefa7a7922861178700307c87def2e7d6ed23f92738b57f66b9c57",
+ "bytes": 2590,
+ "status": "QUALIFIED_EXACT_SYNTHETIC_ORIGINAL_MALWARE_OBSERVATION",
+ "at": "2026-10-04T21:27:12.815233+00:00"
+ },
+ {
+ "artifact": "U08-local-boundary.json",
+ "sha256": "0760db8c52e4fb2315f2e9eb9a91522a47a7596790c5d1e3087c2b2ce93cf171",
+ "bytes": 8634,
+ "status": "LOCAL_U08_DISPATCH_WIRING_ACCEPTED; staged programme still in progress",
+ "at": "2026-10-02T12:50:41.134350+00:00",
+ "objectiveId": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U08-malware-adapter-local-boundary.json",
+ "sha256": "c95d7c5c6b521d5bc4919506b48f7b1cc8b85e44559a587e4260d98204260da6",
+ "bytes": 3187,
+ "status": "QUALIFIED_LOCAL_WINDOWS_EXACT_BYTE_MALWARE_ADAPTER_ACCEPTANCE",
+ "at": "2026-10-04T21:49:53.140906+00:00"
+ },
+ {
+ "artifact": "U08-provider-authority-local-boundary.json",
+ "sha256": "92e29f1d3c44086675fc5f16fd7b632295900db28002f23638278500a9b372c9",
+ "bytes": 6706,
+ "status": "SOURCE_ONLY_ACCEPTANCE_SQL_RUNTIME_DEFERRED",
+ "lastVerified": "2026-10-04T20:06:32.487697+00:00",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U08-provider-authority-runtime-local-boundary.json",
+ "sha256": "6cf6b84b0623dfccebd96c47bfa60684bb295c69fe64155f3be5982e05107b0d",
+ "bytes": 6341,
+ "status": "QUALIFIED_LOCAL_NODE_AUTHORITY_FACTS_RUNTIME_ACCEPTANCE",
+ "lastVerified": "2026-10-04T21:11:42.219795+00:00",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U08-worker-loader-local-boundary.json",
+ "sha256": "1a6c4439f5997130f2f4abc434a220c27bb717a6ceb8d6dd187b38da36f775a7",
+ "bytes": 3938,
+ "status": "QUALIFIED_LOCAL_THIN_WORKER_LOADER_INTEGRATION_ACCEPTANCE",
+ "at": "2026-10-04T19:12:43.264049+00:00",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U09-admin-inspection-components-local-boundary.json",
+ "sha256": "2fa1fd01405f711d09f44e130b294c86f40a978d25366b54efa623482fdcbd18",
+ "bytes": 4707,
+ "status": "QUALIFIED_LOCAL_ADMIN_INSPECTION_COMPONENT_ACCEPTANCE",
+ "lastVerified": "2026-10-06T04:17:19.357Z",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U09-captioned-raster-ocr-local-boundary.json",
+ "sha256": "4614a4c41cd6a6f481a41246dd99b2d31b0766df445491b0b4b8774217a670ec",
+ "bytes": 5090,
+ "status": "QUALIFIED_LOCAL_CAPTIONED_RASTER_OCR_AND_RELEASE_FACT_PREPARATION",
+ "lastVerified": "2026-10-06T03:16:52.314304Z",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U09-local-boundary.json",
+ "sha256": "464b799b13e0683a3b911215253eaa2a0d33598d5380309a79c7b0583b0f2110",
+ "bytes": 6612,
+ "status": "Bounded DOCX source-only packet and native PDF diagnostic parser compatibility accepted locally; full U09 and staged first release remain In progress",
+ "at": "2026-10-02T14:04:08.192218+00:00",
+ "objectiveId": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U09-native-pdf-local-boundary.json",
+ "sha256": "d0a089c1784d29add4a89b448bc0f240aac70b754af5fef210b0bdd8ad76d946",
+ "bytes": 6991,
+ "status": "Native PDF source-only page identity and terminal provenance refusal locally accepted; full U09 and first release In progress",
+ "at": "2026-10-02T14:40:44.820928+00:00",
+ "objectiveId": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U09-txt-local-boundary.json",
+ "sha256": "b0c48d9ea7de13718150dc489395cc82000b5ac623e3f3b096ac3664e15fe300",
+ "bytes": 4748,
+ "status": "TXT whole-buffer byte identity, decoding uncertainty and terminal provenance refusal locally accepted; full U09 and first release In progress",
+ "at": "2026-10-02T15:21:37.605184+00:00",
+ "objectiveId": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U09-xlsx-candidate-local-boundary.json",
+ "sha256": "80102a9e63ba54130cada72d08917492e565bff7dc0bffd365d85d2e39f58794",
+ "bytes": 20730,
+ "status": "Stable reviewed local candidate; XLSX acceptance blocked by pending resource amendment",
+ "at": "2026-10-02T17:24:19.6173418Z",
+ "objectiveId": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U09-xlsx-local-boundary.json",
+ "sha256": "5c9ff007c48351f8ad6b21d11298e091abbd27f860a48bb4b8409239cfd3557a",
+ "bytes": 22558,
+ "status": "Qualified local acceptance of approved XLSX resource/source-identity/persistence subset; full U09 and first release In progress",
+ "at": "2026-10-02T18:31:02.2586984Z",
+ "objectiveId": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-admin-reference-atomic-answer-local-boundary.json",
+ "sha256": "fae69cc2a2cb6e6e9c9e6783e42ac367d08ff5339c9d1468305a4ee7cac9f4e7",
+ "bytes": 6314,
+ "status": "QUALIFIED_LOCAL_ADMIN_REFERENCE_SQL_AND_AUTHORED_ANSWER_ACCEPTANCE",
+ "objectiveId": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-admin-reference-public-local-boundary.json",
+ "sha256": "5125dc7fee8ec284115561332f4748a6532da7aefedc8ca1ce20c309565827dd",
+ "bytes": 8037,
+ "status": "QUALIFIED_LOCAL_ADMIN_REFERENCE_QUEUE_TERMINAL_PUBLIC_READER_AND_RAG_PACKER_ACCEPTANCE",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-admin-reference-route-local-boundary.json",
+ "sha256": "8240bdcbc0f2d958d4bdd21a28692ad95f914f171f6432024b7d161d81498c22",
+ "bytes": 6205,
+ "status": "QUALIFIED_LOCAL_ADMIN_TXT_QUEUE_TERMINAL_AND_RAG_DATA_LINKAGE_ACCEPTANCE_ANSWER_INCOMPLETE",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-admin-text-terminal-local-boundary.json",
+ "sha256": "c83c2a92234b66d0f9941121f6f15ef915fba406f386c545e5c73caa2dcaa40a",
+ "bytes": 6906,
+ "status": "QUALIFIED_LOCAL_ACTUAL_ADMIN_TXT_TERMINAL_AND_RECOVERY_ACCEPTANCE_RAG_UNACCEPTED",
+ "at": "2026-10-06T09:27:13.411445+00:00",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-invented-provider-pilot-local-boundary.json",
+ "sha256": "4b642a744a2868469251d179b03b05f9c998f6170d2a5bdc58b9cefa23bb2287",
+ "bytes": 6474,
+ "status": "QUALIFIED_PRIVATE_INVENTED_PROVIDER_PILOT_ACCEPTANCE",
+ "at": "2026-10-06T01:40:54.520Z",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-managed-declared-source-local-boundary.json",
+ "sha256": "f07d7522f8e7a33b298c0e7eab5b132503f4c4c9e088a24e36f14d67bed119c5",
+ "bytes": 48548,
+ "status": "QUALIFIED_LOCAL_ACCEPTANCE_INDEPENDENT_DECLARED_SOURCE_ASSOCIATIONS_PRIVATE_REPLAY_RECLAIM",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-managed-fresh-native-local-boundary.json",
+ "sha256": "738bb8b7b4c7cfd3890711d4ed56fa146684b2647d4dec34288c58de62357555",
+ "bytes": 45767,
+ "status": "QUALIFIED_LOCAL_ACCEPTANCE_FIXED_NATIVE_TABLE_PROJECTION_PRIVATE_STORAGE_REPLAY_RECLAIM",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-managed-local-memory-caller-local-boundary.json",
+ "sha256": "304e9e292a08b14f8905930574fb9eba671ad55ce2794b4a8d8ab3fc080493fb",
+ "bytes": 5068,
+ "status": "QUALIFIED_LOCAL_CALLER_WIRING_ACCEPTANCE",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-managed-local-memory-local-boundary.json",
+ "sha256": "f29966e10b960b45142462727860df627351a8f8455f70270407f6e466148e20",
+ "bytes": 12116,
+ "status": "QUALIFIED_LOCAL_ACCEPTANCE_PROVIDER_FREE_MEMORY_AND_PENDING_SCOPED_RELEASE_ROUTE",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-managed-native-parent-local-boundary.json",
+ "sha256": "eec4e710de7f1c712e939bfdf868b34fa44dcd7fd3ff5cd20da8c11ffa070d95",
+ "bytes": 4218,
+ "status": "QUALIFIED_LOCAL_NATIVE_PARENT_AND_CALLER_ACCEPTANCE",
+ "at": "2026-10-05T20:22:13.146Z",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-managed-private-caller-local-boundary.json",
+ "sha256": "e23803662ad2a207d031633c795e4f6e30abfeda1b14bb8a0f3b24c8be94c38f",
+ "bytes": 7546,
+ "status": "QUALIFIED_LOCAL_ACCEPTANCE_MANAGED_PRIVATE_PREPARATION_STORAGE_REPLAY_RECLAIM",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-managed-vector-final-caller-local-boundary.json",
+ "sha256": "cee685fdc3f6f378f4744969080a7c64f6e1e5b05e9c604eaa21508b7c2ba59e",
+ "bytes": 3754,
+ "status": "QUALIFIED_LOCAL_MANAGED_VECTOR_CALLER_ACCEPTANCE",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-managed-vector-final-local-boundary.json",
+ "sha256": "a186f4caf829cabaa8f96d369b8b3e3ea53115ceb1539d07ba7eaf54285fca89",
+ "bytes": 7521,
+ "status": "QUALIFIED_LOCAL_MANAGED_VECTOR_FINAL_ACCEPTANCE",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-ordinary-manifest-assembly-local-boundary.json",
+ "sha256": "8b3cea5dd174f122e7a54876d96824cf23b583af2d8607151f43e994b8b0d88e",
+ "bytes": 6198,
+ "status": "QUALIFIED_LOCAL_ACCEPTANCE_PURE_PREPARED_OUTPUT_ASSEMBLY",
+ "lastVerified": "2026-10-05T08:18:25.236104+00:00",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-ordinary-table-binding-local-boundary.json",
+ "sha256": "390fa515fc70bc8d110135226012a78a3d8ade107d7176756027dae37f8c82ac",
+ "bytes": 7287,
+ "status": "QUALIFIED_LOCAL_ACCEPTANCE_DECLARED_TABLE_ROW_QUALIFICATION_ASSOCIATION",
+ "lastVerified": "2026-10-05T09:02:28.373348+00:00",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-P1-local-boundary.json",
+ "sha256": "8c5760655f20bd97bbf43ab0ee0d7070ec19b40cd36b92a16477e49098872417",
+ "bytes": 11197,
+ "status": "P1 QUALIFIED LOCAL RETENTION/COMPATIBILITY BOUNDARY",
+ "at": "2026-10-03T03:00:26.524383+00:00",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-P2a-local-boundary.json",
+ "sha256": "713fcfc074e4278d6005ef1a7b6afc19e60c223bfae589e7952d47693e10d72b",
+ "bytes": 11823,
+ "status": "P2a QUALIFIED LOCAL EXTRACTED-IMAGE RETENTION BOUNDARY",
+ "at": "2026-10-03T04:11:08.179664+00:00",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-P2b-local-boundary.json",
+ "sha256": "0d072d5e78bcc75f83650cfb9b80bfeb98e945942528aacc835ac8e7a86b23a3",
+ "bytes": 6487,
+ "status": "P2b QUALIFIED LOCAL PURE TXT REPRESENTATION MAP ACCEPTED",
+ "at": "2026-10-03T05:55:50.876008+00:00",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-P2c-local-boundary.json",
+ "sha256": "be4975a4d2214c27411f05b2ff8d9a9367d3c9b5f1841d1af2f7202b3ba39e7b",
+ "bytes": 11705,
+ "status": "P2c QUALIFIED LOCAL INITIAL CLAIM PREREQUISITE ACCEPTED",
+ "at": "2026-10-03T12:37:40.859350+00:00",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-P2d-local-boundary.json",
+ "sha256": "6ab2b2dd04ff517b0a8229c1f77d82dcb2a3b392bc98c83a369d268108787237",
+ "bytes": 11093,
+ "status": "P2d QUALIFIED LOCAL PRIVATE EXTRACTION DIAGNOSTIC ACCEPTED",
+ "at": "2026-10-03T13:59:01.538466+00:00",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-P2e-local-boundary.json",
+ "sha256": "7731796bf82cd3eb45a054b7a80f193efb2501f7cf9d6d5c40fe45b284e0740b",
+ "bytes": 6304,
+ "status": "qualified_local_original_witness_and_native_transport_boundary",
+ "at": "2026-10-03T15:22:59.187622+00:00",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-P2f-local-boundary.json",
+ "sha256": "d3d6267d070e188bb3475d0f09d2b8db34ec87b3de0377f44135f91315ba6930",
+ "bytes": 6678,
+ "status": "qualified_local_failed_attempt_audit_boundary",
+ "at": "2026-10-03T16:22:43.307003+00:00",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-P2g-local-boundary.json",
+ "sha256": "5f1670ef527cd470f5b80f8f2a664addf2743e568942fdda8647ae56e6a2d174",
+ "bytes": 6892,
+ "status": "qualified_local_private_witness_readback_boundary",
+ "at": "2026-10-03T16:58:43.703003+00:00",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-P2h-local-boundary.json",
+ "sha256": "cf7f9d233e38ab41ca22af2f1754fa2c6f5a05283367425effb90bdb770a350c",
+ "bytes": 12042,
+ "status": "QUALIFIED_LOCAL_ACCEPTANCE_P2H_TXT_PREPARED_FINAL_CHUNKS",
+ "at": "2026-10-03T19:03:00.265975+00:00",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-P2i-native-link-local-boundary.json",
+ "sha256": "e33805f3fe297c8c7d8c239fd45652bd66cb90111d95ea2060c463d0559bdfc8",
+ "bytes": 4389,
+ "status": "QUALIFIED_LOCAL_HOST_NATIVE_LINK_AND_TABLE_FACT_ACCEPTANCE",
+ "at": "2026-10-04T01:14:05.134246+00:00",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-P2j-local-boundary.json",
+ "sha256": "ea9f1b8cd7e33bf94d700fbac4cc3f5cddd70234f1c5e02157a792d8d60f6e69",
+ "bytes": 3366,
+ "status": "QUALIFIED_LOCAL_ACCEPTANCE",
+ "at": "2026-10-03T23:42:44.515855+00:00",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-P2k-local-boundary.json",
+ "sha256": "dc7c4f5c2fb39203f308345d0fc0eceb0f271327f75b0d22d0f8aa1f8cc68bdd",
+ "bytes": 9347,
+ "status": "QUALIFIED_NEUTRAL_VISUAL_LOCAL_ACCEPTANCE_PRIVATE_SQL_DEFERRED",
+ "at": "2026-10-04T02:18:26.253339+00:00",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-P2k-scoped-local-boundary.json",
+ "sha256": "976d33ebeda6851c27c9dd4464962f1f381d45d738d3d84015a5177ef328237a",
+ "bytes": 11260,
+ "status": "QUALIFIED_LOCAL_ACCEPTANCE",
+ "at": "2026-10-04T04:27:32.122335+00:00",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-P2l-local-boundary.json",
+ "sha256": "2d74ff58279be073fbedc1f8fc4755ca3a564924ebf381d1e09e99975636ca82",
+ "bytes": 9901,
+ "status": "QUALIFIED_LOCAL_ACCEPTANCE",
+ "at": "2026-10-04T06:44:24.697126+00:00",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-P2m-local-boundary.json",
+ "sha256": "ce64bfa1b84f86e2850d10efc1ab664226ba413adf305ce78cfa398be4d77e42",
+ "bytes": 5815,
+ "status": "QUALIFIED_LOCAL_RETAINED_SYNTHETIC_ASSOCIATION_ACCEPTANCE",
+ "at": "2026-10-04T11:26:49.649971+00:00",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-P2n-local-boundary.json",
+ "sha256": "981f5d278576e96ab3fbace0560f054c05a7dcd0c3e9b2d9057a2513d5d914be",
+ "bytes": 6173,
+ "status": "QUALIFIED_LOCAL_ACCEPTANCE",
+ "at": "2026-10-04T12:41:18.816841+00:00",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-P2o-local-boundary.json",
+ "sha256": "96282ff3a524491ff580c8ef680a5c2587f4bfdcd1b208387bb7bdb2e1da876b",
+ "bytes": 9778,
+ "status": "QUALIFIED_LOCAL_ACCEPTANCE",
+ "at": "2026-10-04T13:48:28.855138+00:00",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-P2p-local-boundary.json",
+ "sha256": "eb445d5bfd628c0483f5666faa7e34b969a538371787e60d75584c85da3a3b0b",
+ "bytes": 5650,
+ "status": "QUALIFIED_LOCAL_ACCEPTANCE",
+ "at": "2026-10-04T14:57:40.925104+00:00",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-private-terminal-local-boundary.json",
+ "sha256": "f407638e60315930e7cc413da7bf4af1302795ee7d4586c8d486a3c005130733",
+ "bytes": 5840,
+ "status": "QUALIFIED_LOCAL_PRIVATE_FIXTURE_TERMINAL_ACCEPTANCE",
+ "lastVerified": "2026-10-06T02:45:17.740722Z",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-public-metadata-local-boundary.json",
+ "sha256": "2f548cd1a1c8516e63d3256451918dea8faa42ac3933e988c1ecb9836c29d59e",
+ "bytes": 4784,
+ "status": "QUALIFIED_OWNER_ONLY_LOCAL_METADATA_RUNTIME_AND_PREPARED_DECODER_COMPATIBILITY",
+ "at": "2026-10-04T22:02:36.775904+00:00"
+ },
+ {
+ "artifact": "U10-representative-supplier-local-boundary.json",
+ "sha256": "343c9c1a06d7fbdea0559867a5a77fbc656d4f7dbb78005ae604da7fc1f5c47a",
+ "bytes": 8827,
+ "status": "QUALIFIED_LOCAL_ACCEPTANCE_PRIVATE_PREPARED_SUPPLIER_STORAGE_AND_RECLAIM",
+ "lastVerified": "2026-10-05T11:21:16.740859+00:00",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U10-U12-terminal-serving-handover.md",
+ "sha256": "798f7ceed3bfe33025f7a3807d98bf28a883e00c62fbf115455c29ccc51ac02e",
+ "bytes": 39710
+ },
+ {
+ "artifact": "U10-vector-private-chunk-local-boundary.json",
+ "sha256": "c5a9c37fdba3c708416049db816c48cf9c6a01e63eace1493bad0a49ab663008",
+ "bytes": 5727,
+ "status": "QUALIFIED_LOCAL_VECTOR_PREPARATION_AND_PRIVATE_CHUNK_ACCEPTANCE",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U11-reader-adoption-local-boundary.json",
+ "sha256": "605e0b87cc496e3684328b32bf3661fc27ce9b801f7cbde84f3d4a7278c90c6e",
+ "bytes": 10852,
+ "status": "QUALIFIED_LOCAL_ACCEPTANCE_READER_CALLER_UI",
+ "lastVerified": "2026-10-05T03:55:48.815155+00:00",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U11-recovery-identity-local-boundary.json",
+ "sha256": "2ec0aa4fb179a684261b862ac39d2cf20f85e88cb3d3913eee03072096d21118",
+ "bytes": 4209,
+ "status": "QUALIFIED_LOCAL_ACCEPTANCE",
+ "at": "2026-10-04T15:42:15.394602+00:00",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U11-technical-tasks-local-boundary.json",
+ "sha256": "b2c71474f6e7dda51f2edb86c2c812044c212834cdbe6b8af2b8484571a180df",
+ "bytes": 9302,
+ "status": "QUALIFIED_LOCAL_ACCEPTANCE_OWNER_ONLY_SQL_PREREQUISITE",
+ "at": "2026-10-05T02:42:30.036267+00:00",
+ "objective": "rag-source-ingestion-continuation-v1"
+ },
+ {
+ "artifact": "U13-full-shadow-plan-local-boundary.json",
+ "sha256": "a66701ca845fbdf983cdec67f9de6bb32bd3d9846cd5dea812c9537ba0fc75e5",
+ "bytes": 7896,
+ "status": "U13 QUALIFIED LOCAL PURE FULL-SHADOW DRY-RUN PLANNER ACCEPTED",
+ "at": "2026-10-03T13:59:01.538466+00:00",
+ "objective": "rag-source-ingestion-continuation-v1"
+ }
+ ]
+}
diff --git a/docs/audit/ingestion-rag-2026-10-15/rag-evidence-inventory.json b/docs/audit/ingestion-rag-2026-10-15/rag-evidence-inventory.json
new file mode 100644
index 0000000000..6022eb92d4
--- /dev/null
+++ b/docs/audit/ingestion-rag-2026-10-15/rag-evidence-inventory.json
@@ -0,0 +1,1137 @@
+{
+ "schemaVersion": 1,
+ "project": "PsychSift",
+ "objective": "rag-source-ingestion-continuation-v1",
+ "preparedAtUtc": "2026-10-14T15:57:43.4832618Z",
+ "publicationState": "EXTERNAL_SANITISED_HANDOVER_ONLY_NO_GIT_OR_PR_ACTION",
+ "sourceIdentity": {
+ "originalCapturedCommit": "8237f6b81fabfb59e1842f6bb2e1d006cd79ee79",
+ "reviewedCompositionBase": "4382217c3c61f2407d717e665cf9388c41ea2f5b",
+ "reviewedCompositionLive": "e3008dbd51f451ed57d842fb1b2f5f7c9aa0d0c8",
+ "finalNumericSha256": "559b62cba08fedf9330e2bd907442de08cee204dbc6f395b99e2d849627eb5c2",
+ "finalRendererSha256": "b0b1ac48bb3ccdfdad22b8b33f2b8dd1b0254082ce4d515034541150a27ffe17",
+ "finalHostedImageSha256": "ba0c5368cc570eda04c51d799f785803ff676350eef4fb2216389f2aef741b58",
+ "actualPRBase": "ROOT_MUST_RECORD_CURRENT_PUBLICATION_BASE; historical preimages are not current PR-base proof"
+ },
+ "originalClinicalRequirements": [
+ "Healthy adults18+ weekly10 and daily4 standard-drink limit with risk-lowering and no-safe/no-risk/abstention qualifiers",
+ "Children/under18 abstinence and no clear safe level",
+ "Pregnancy/planning abstinence and no safe level identified",
+ "Breastfeeding abstinence safest for baby and maternal no-safe-amount qualification",
+ "Direct correct cited source binding; preserve source status/authority and low trust",
+ "Unsupported value/population/source recommendations absent from delivered clinical text and prepared copy"
+ ],
+ "files": [
+ {
+ "path": "src/lib/rag/rag-extractive-answer.ts",
+ "kind": "retained RAG source/test",
+ "preimageChain": [
+ {
+ "stage": "ordinary18 finalizer/copy packet",
+ "beforeSha256": "6cf722a6aafb7180da2693cfa7ae98fc31805fd9bde05336d35dd9495d8c4dd8",
+ "afterSha256": "15f34f598929c13fe29faa073a91ec3d5d4fbfd9f52590ec4e6018e1ba434211",
+ "beforeExistence": "recorded preimage"
+ },
+ {
+ "stage": "no-filter published-original manifest",
+ "beforeSha256": "15f34f598929c13fe29faa073a91ec3d5d4fbfd9f52590ec4e6018e1ba434211",
+ "afterSha256": "15f34f598929c13fe29faa073a91ec3d5d4fbfd9f52590ec4e6018e1ba434211",
+ "beforeExistence": "recorded preimage"
+ },
+ {
+ "stage": "reviewed main-line composition",
+ "beforeSha256": "F98400D407E40A7F8B94B0ADC3E2277956FA92FA8EE2E4E1AF6FFD8590BA7139",
+ "afterSha256": "CE178748EB4753EC265860F34DEE93498BCF5938A7E11480DA2E31546D53FDA6",
+ "beforeExistence": "recorded hosted preimage"
+ },
+ {
+ "stage": "consumer-rollout-preparation-v1/consumer-patch-manifest-v4-prompt-cache-implemented.json",
+ "beforeSha256": "4f52b5680f67f382d643554825727dd601e8e4e37f81bb54de63a99aff194803",
+ "afterSha256": "15f34f598929c13fe29faa073a91ec3d5d4fbfd9f52590ec4e6018e1ba434211",
+ "beforeExistence": "recorded targetPreimage; absence does not imply new unless manifest says so"
+ }
+ ],
+ "currentHostedSnapshot": {
+ "sha256": "ce178748eb4753ec265860f34dee93498bcf5938a7e11480da2e31546d53fda6",
+ "bytes": 309688,
+ "availability": "PRESENT_IN_HOSTED_SOURCE_SNAPSHOT"
+ },
+ "publicationDisposition": "SOURCE_CANDIDATE_ROOT_RECONCILES_WITH_PR_BASE",
+ "reviewedGitComposition": {
+ "baseCommit": "4382217c3c61f2407d717e665cf9388c41ea2f5b",
+ "liveCommit": "e3008dbd51f451ed57d842fb1b2f5f7c9aa0d0c8",
+ "baseSha256": "BE64B411D19E592A12F015BC31EA627CC7A989FC9F34775612E6815D5A3F092B",
+ "liveSha256": "632CCCB0824859D96E2C5BC850542F9A43E42417100E15C226F335E42CCF187D",
+ "overlap": {
+ "baseExists": true,
+ "hostedChangeHunks": 15,
+ "liveChangeHunks": 5,
+ "baseLineOverlap": false,
+ "mergeFileConflict": false,
+ "liveToCandidateEditTextExact": true,
+ "hostedToCandidate": {
+ "addedLines": 10,
+ "deletedLines": 5
+ }
+ }
+ }
+ },
+ {
+ "path": "src/components/clinical-dashboard/answer-copy-payload.ts",
+ "kind": "retained RAG source/test",
+ "preimageChain": [
+ {
+ "stage": "ordinary18 finalizer/copy packet",
+ "beforeSha256": "328fb5d881303458387c1397227d8cfa75730ea0b78317d47f1d9190481820b3",
+ "afterSha256": "70d471ca6e9efaa5b630ad8667b9813d5944cc1621b0f86f2dffcb452877bac6",
+ "beforeExistence": "recorded preimage"
+ },
+ {
+ "stage": "consumer-rollout-preparation-v1/consumer-patch-manifest-v4-prompt-cache-implemented.json",
+ "beforeSha256": "f539c626408da5d8c37c365aa290c9d070ede1cf879692053d8dc07d4bfcbf28",
+ "afterSha256": "70d471ca6e9efaa5b630ad8667b9813d5944cc1621b0f86f2dffcb452877bac6",
+ "beforeExistence": "recorded targetPreimage; absence does not imply new unless manifest says so"
+ }
+ ],
+ "currentHostedSnapshot": {
+ "sha256": "19cf8d435f0cecab7da6436d7de4c406759e47259d5fecab3db1248b452d1235",
+ "bytes": 13716,
+ "availability": "PRESENT_IN_HOSTED_SOURCE_SNAPSHOT"
+ },
+ "publicationDisposition": "SOURCE_CANDIDATE_ROOT_RECONCILES_WITH_PR_BASE"
+ },
+ {
+ "path": "src/lib/rag/rag-source-bound-alcohol-summary.ts",
+ "kind": "retained RAG source/test",
+ "preimageChain": [
+ {
+ "stage": "ordinary18 finalizer/copy packet",
+ "beforeSha256": null,
+ "afterSha256": "2e15180fdefc534a546c6a44eb945832f9a91889ab0f30ba2693cdaa92cec68f",
+ "beforeExistence": "recorded new file"
+ },
+ {
+ "stage": "final coupled recovery",
+ "beforeSha256": "2e15180fdefc534a546c6a44eb945832f9a91889ab0f30ba2693cdaa92cec68f",
+ "afterSha256": "02124fce9ffa8f7cf7374fcd58acf472d375781966fd562feb9c034e247e3464",
+ "beforeExistence": "recorded preimage"
+ },
+ {
+ "stage": "final unsafe-output correction",
+ "beforeSha256": "02124fce9ffa8f7cf7374fcd58acf472d375781966fd562feb9c034e247e3464",
+ "afterSha256": "b0b1ac48bb3ccdfdad22b8b33f2b8dd1b0254082ce4d515034541150a27ffe17",
+ "beforeExistence": "recorded preimage"
+ },
+ {
+ "stage": "consumer-rollout-preparation-v1/consumer-patch-manifest-v4-prompt-cache-implemented.json",
+ "beforeSha256": null,
+ "afterSha256": "2e15180fdefc534a546c6a44eb945832f9a91889ab0f30ba2693cdaa92cec68f",
+ "beforeExistence": "recorded targetPreimage; absence does not imply new unless manifest says so"
+ }
+ ],
+ "currentHostedSnapshot": {
+ "sha256": "b0b1ac48bb3ccdfdad22b8b33f2b8dd1b0254082ce4d515034541150a27ffe17",
+ "bytes": 14415,
+ "availability": "PRESENT_IN_HOSTED_SOURCE_SNAPSHOT"
+ },
+ "publicationDisposition": "SOURCE_CANDIDATE_ROOT_RECONCILES_WITH_PR_BASE"
+ },
+ {
+ "path": "tests/rag-nhmrc-delivery.test.ts",
+ "kind": "retained RAG source/test",
+ "preimageChain": [
+ {
+ "stage": "ordinary18 finalizer/copy packet",
+ "beforeSha256": null,
+ "afterSha256": "22693e89712412b9f651d7826c7f50475fc294294ea381747b95efe281933a16",
+ "beforeExistence": "recorded new file"
+ },
+ {
+ "stage": "consumer-rollout-preparation-v1/consumer-patch-manifest-v4-prompt-cache-implemented.json",
+ "beforeSha256": null,
+ "afterSha256": "22693e89712412b9f651d7826c7f50475fc294294ea381747b95efe281933a16",
+ "beforeExistence": "recorded targetPreimage; absence does not imply new unless manifest says so"
+ }
+ ],
+ "currentHostedSnapshot": {
+ "availability": "ABSENT_FROM_HOSTED_DEPLOYMENT_SNAPSHOT_NOT_A_DELETION_INSTRUCTION"
+ },
+ "publicationDisposition": "PRIVATE_RECORDED_FIXTURE_DEPENDENCY_DO_NOT_PUBLISH_AS_IS",
+ "retainedLocation": "RAG_PACKET/after/tests/rag-nhmrc-delivery.test.ts"
+ },
+ {
+ "path": "tests/fixtures/nhmrc-response18-consumer.json",
+ "kind": "retained RAG source/test",
+ "preimageChain": [
+ {
+ "stage": "ordinary18 finalizer/copy packet",
+ "beforeSha256": null,
+ "afterSha256": "e51ddf901345c1db6efadcb0d42c1179490e144ced1ad675e23e6a378454cc0d",
+ "beforeExistence": "recorded new file"
+ },
+ {
+ "stage": "consumer-rollout-preparation-v1/consumer-patch-manifest-v4-prompt-cache-implemented.json",
+ "beforeSha256": null,
+ "afterSha256": "e51ddf901345c1db6efadcb0d42c1179490e144ced1ad675e23e6a378454cc0d",
+ "beforeExistence": "recorded targetPreimage; absence does not imply new unless manifest says so"
+ }
+ ],
+ "currentHostedSnapshot": {
+ "availability": "ABSENT_FROM_HOSTED_DEPLOYMENT_SNAPSHOT_NOT_A_DELETION_INSTRUCTION"
+ },
+ "publicationDisposition": "PRIVATE_RECORDED_FIXTURE_DEPENDENCY_DO_NOT_PUBLISH_AS_IS",
+ "retainedLocation": "RAG_PACKET/after/tests/fixtures/nhmrc-response18-consumer.json"
+ },
+ {
+ "path": "src/components/clinical-dashboard/answer-section-projector.ts",
+ "kind": "presentation dependency",
+ "preimageChain": [
+ {
+ "stage": "retained delivery projection",
+ "beforeSha256": null,
+ "afterSha256": "51d6bb4214eccdc8a34d7596e44c560027325af374daedb78148f16d75cbbf12",
+ "beforeExistence": "preimage not recorded here"
+ },
+ {
+ "stage": "consumer-rollout-preparation-v1/consumer-patch-manifest-v4-prompt-cache-implemented.json",
+ "beforeSha256": "e4aac1ff7bc5a110cb333dcd6a00db16e742f6f188e3822fe8f6bf18a4a29414",
+ "afterSha256": "6935c9abbdea70524f0bf5aec561ed225e9c65f332a5a14da62968cad7e7ec73",
+ "beforeExistence": "recorded targetPreimage; absence does not imply new unless manifest says so"
+ }
+ ],
+ "currentHostedSnapshot": {
+ "sha256": "e4aac1ff7bc5a110cb333dcd6a00db16e742f6f188e3822fe8f6bf18a4a29414",
+ "bytes": 2241,
+ "availability": "PRESENT_IN_HOSTED_SOURCE_SNAPSHOT"
+ },
+ "publicationDisposition": "SOURCE_CANDIDATE_ROOT_RECONCILES_WITH_PR_BASE"
+ },
+ {
+ "path": "src/components/clinical-dashboard/answer-result-surface.tsx",
+ "kind": "presentation dependency",
+ "preimageChain": [
+ {
+ "stage": "retained delivery projection",
+ "beforeSha256": null,
+ "afterSha256": "de9425e3d25b773fb61f6c247b10dc36e7d7f6b8a5ab31d0823171b47ff9bf86",
+ "beforeExistence": "preimage not recorded here"
+ },
+ {
+ "stage": "consumer-rollout-preparation-v1/consumer-patch-manifest-v4-prompt-cache-implemented.json",
+ "beforeSha256": "eec4a247d415c9b906415671ce063c7ed1cc3855c6db4fca22b364922c8faa6f",
+ "afterSha256": "de9425e3d25b773fb61f6c247b10dc36e7d7f6b8a5ab31d0823171b47ff9bf86",
+ "beforeExistence": "recorded targetPreimage; absence does not imply new unless manifest says so"
+ }
+ ],
+ "currentHostedSnapshot": {
+ "sha256": "a3be9a31da357c243a740bf46d418ec0ec9d1a2786096d9b9993d0fa940b8409",
+ "bytes": 44912,
+ "availability": "PRESENT_IN_HOSTED_SOURCE_SNAPSHOT"
+ },
+ "publicationDisposition": "SOURCE_CANDIDATE_ROOT_RECONCILES_WITH_PR_BASE"
+ },
+ {
+ "path": "src/components/clinical-dashboard/answer-thread-turn.tsx",
+ "kind": "presentation dependency",
+ "preimageChain": [
+ {
+ "stage": "retained delivery projection",
+ "beforeSha256": null,
+ "afterSha256": "a89ef2359f4a6a9348ad3375679c59f904a6647f3cefeb98cc2c920d2cd67e23",
+ "beforeExistence": "preimage not recorded here"
+ },
+ {
+ "stage": "consumer-rollout-preparation-v1/consumer-patch-manifest-v4-prompt-cache-implemented.json",
+ "beforeSha256": "0514bbe9a2cef13e7a34134bf462b08178afb96c71a09fc5735dfc86995e619f",
+ "afterSha256": "15f21faa24383081aee84ad798c4471f3845f43e1b987979d2c6da818aa1768d",
+ "beforeExistence": "recorded targetPreimage; absence does not imply new unless manifest says so"
+ }
+ ],
+ "currentHostedSnapshot": {
+ "sha256": "0514bbe9a2cef13e7a34134bf462b08178afb96c71a09fc5735dfc86995e619f",
+ "bytes": 8605,
+ "availability": "PRESENT_IN_HOSTED_SOURCE_SNAPSHOT"
+ },
+ "publicationDisposition": "SOURCE_CANDIDATE_ROOT_RECONCILES_WITH_PR_BASE"
+ },
+ {
+ "path": "tests/answer-section-projector.test.ts",
+ "kind": "presentation dependency",
+ "preimageChain": [
+ {
+ "stage": "retained delivery projection",
+ "beforeSha256": null,
+ "afterSha256": "07d725cb354abbe7861d3ae6d9379f6796306f15a522fe4bd8be0e5cb6c8523f",
+ "beforeExistence": "preimage not recorded here"
+ },
+ {
+ "stage": "consumer-rollout-preparation-v1/consumer-patch-manifest-v4-prompt-cache-implemented.json",
+ "beforeSha256": null,
+ "afterSha256": "c3c37d3e7dac01f5dd711650692645cbf57c28dd8d56de4082fe5bf9f1337b39",
+ "beforeExistence": "recorded targetPreimage; absence does not imply new unless manifest says so"
+ }
+ ],
+ "currentHostedSnapshot": {
+ "availability": "ABSENT_FROM_HOSTED_DEPLOYMENT_SNAPSHOT_NOT_A_DELETION_INSTRUCTION"
+ },
+ "publicationDisposition": "ROOT_LOCATES_RETAINED_TEST_AND_PUBLIC_SAFE_DEPENDENCIES"
+ },
+ {
+ "path": "src/app/api/answer/route.ts",
+ "kind": "source/context registration or focused test",
+ "preimageChain": [
+ {
+ "stage": "no-filter published-original manifest",
+ "beforeSha256": "714cfab64dcb19f6f0970df5a1c96861c8d9b0507e2aebfda4817bebffdeb842",
+ "afterSha256": "d62c020f1e725a6c62ad6b802eec23190a84a4c5d644934915d8d613d9d1cdd4",
+ "beforeExistence": "recorded preimage"
+ }
+ ],
+ "currentHostedSnapshot": {
+ "sha256": "bd4b87aad909a73caf48233ad3aad43762a095bce454b0232c77da95e9fce318",
+ "bytes": 9842,
+ "availability": "PRESENT_IN_HOSTED_SOURCE_SNAPSHOT"
+ },
+ "publicationDisposition": "SOURCE_CANDIDATE_ROOT_RECONCILES_WITH_PR_BASE"
+ },
+ {
+ "path": "src/app/api/answer/stream/route.ts",
+ "kind": "source/context registration or focused test",
+ "preimageChain": [
+ {
+ "stage": "no-filter published-original manifest",
+ "beforeSha256": "3224acf416c8b877da1d692be71febaf9245c4adfb632184965b770503b49be0",
+ "afterSha256": "d143e8b38b10f09f9c8bf6a245a72002bb6f4534b4e791dc6f67e89e87a0759f",
+ "beforeExistence": "recorded preimage"
+ }
+ ],
+ "currentHostedSnapshot": {
+ "sha256": "abcca704b5d8b46829117d6bdc08c1c5a5e1c8aa3921f34946e0072309a7ad30",
+ "bytes": 17183,
+ "availability": "PRESENT_IN_HOSTED_SOURCE_SNAPSHOT"
+ },
+ "publicationDisposition": "SOURCE_CANDIDATE_ROOT_RECONCILES_WITH_PR_BASE"
+ },
+ {
+ "path": "src/lib/rag/rag-candidate-sources.ts",
+ "kind": "source/context registration or focused test",
+ "preimageChain": [
+ {
+ "stage": "no-filter published-original manifest",
+ "beforeSha256": "516217396535019aca8f3263328ac545584dec2789ab7accb8cc0d0d3c6480cf",
+ "afterSha256": "af348ac1170f3b540fff43dd925c1c75153cbbc821c0f2f0a30fd63ea45da214",
+ "beforeExistence": "recorded preimage"
+ }
+ ],
+ "currentHostedSnapshot": {
+ "sha256": "77b4f829a72d2480e60959e9b3fb2f7d70f46a39d4b0923cfb2840b1c234f525",
+ "bytes": 78047,
+ "availability": "PRESENT_IN_HOSTED_SOURCE_SNAPSHOT"
+ },
+ "publicationDisposition": "SOURCE_CANDIDATE_ROOT_RECONCILES_WITH_PR_BASE"
+ },
+ {
+ "path": "src/lib/rag/rag-context-pack.ts",
+ "kind": "source/context registration or focused test",
+ "preimageChain": [
+ {
+ "stage": "no-filter published-original manifest",
+ "beforeSha256": "6cf505859c4e085ec88ffc9605381ae93bf6369b09d274aca1971ce26ca04ef0",
+ "afterSha256": "b7b6fd72c147ffe9c61db08992e30b3f97a835b74be68eb7ef02299f331549f4",
+ "beforeExistence": "recorded preimage"
+ }
+ ],
+ "currentHostedSnapshot": {
+ "sha256": "c25ca83310829d3e56af8bd07a788ecfd49e6e1139a99a920492b99e201f3595",
+ "bytes": 31445,
+ "availability": "PRESENT_IN_HOSTED_SOURCE_SNAPSHOT"
+ },
+ "publicationDisposition": "SOURCE_CANDIDATE_ROOT_RECONCILES_WITH_PR_BASE"
+ },
+ {
+ "path": "src/lib/rag/rag-governed-search.ts",
+ "kind": "source/context registration or focused test",
+ "preimageChain": [
+ {
+ "stage": "no-filter published-original manifest",
+ "beforeSha256": "0b346268a2792984d5949da08605fb65d33bbb276f1aff957b1162eca65ab06e",
+ "afterSha256": "eeef4833ac7b4858980658a073586ba5be3ca9f662055cbfffe46e7dbc8f20a9",
+ "beforeExistence": "recorded preimage"
+ }
+ ],
+ "currentHostedSnapshot": {
+ "sha256": "eeef4833ac7b4858980658a073586ba5be3ca9f662055cbfffe46e7dbc8f20a9",
+ "bytes": 8913,
+ "availability": "PRESENT_IN_HOSTED_SOURCE_SNAPSHOT"
+ },
+ "publicationDisposition": "SOURCE_CANDIDATE_ROOT_RECONCILES_WITH_PR_BASE"
+ },
+ {
+ "path": "src/lib/rag/rag-source-block.ts",
+ "kind": "source/context registration or focused test",
+ "preimageChain": [
+ {
+ "stage": "no-filter published-original manifest",
+ "beforeSha256": "f5c33cd5eaaca15cbc073ff4f362be398a481f85d0d378dc0b52d963e282e587",
+ "afterSha256": "100f5acf0ba2f1d2ea7992d8d31370e0e6e2e4bed0bcd89a73a520ff9004f995",
+ "beforeExistence": "recorded preimage"
+ },
+ {
+ "stage": "consumer-rollout-preparation-v1/consumer-patch-manifest-v4-prompt-cache-implemented.json",
+ "beforeSha256": "84f8c6d83a66e8c5e197fc59cca2a7e4550ac6af23266ad75de4f165ce384416",
+ "afterSha256": "f5c33cd5eaaca15cbc073ff4f362be398a481f85d0d378dc0b52d963e282e587",
+ "beforeExistence": "recorded targetPreimage; absence does not imply new unless manifest says so"
+ }
+ ],
+ "currentHostedSnapshot": {
+ "sha256": "cc5d39eecd00c86622d0ee0d09aca283bb9ea22c6d1759442b366b80d280c0db",
+ "bytes": 40042,
+ "availability": "PRESENT_IN_HOSTED_SOURCE_SNAPSHOT"
+ },
+ "publicationDisposition": "SOURCE_CANDIDATE_ROOT_RECONCILES_WITH_PR_BASE"
+ },
+ {
+ "path": "src/lib/rag/rag.ts",
+ "kind": "source/context registration or focused test",
+ "preimageChain": [
+ {
+ "stage": "no-filter published-original manifest",
+ "beforeSha256": "3a9c0b3bdc8eff45eac7b20a3699da98315a6ec6994b79a2421006f8e48e27e2",
+ "afterSha256": "25da8a0ffe8c82ba6b2df6a3129f1a0c1c4247009424bd97b67481d6049034a5",
+ "beforeExistence": "recorded preimage"
+ },
+ {
+ "stage": "answer20-diagnostic-dispatch-v3/candidate-manifest.json",
+ "beforeSha256": "6b9888cd792b819092c33b34a44686b51d9c890196bbea06f1c3b43b7a0455eb",
+ "afterSha256": "f3468d56721f262df49557c10a146a6abf51ef76843af9ba351befda0f231899",
+ "beforeExistence": "recorded preimage"
+ },
+ {
+ "stage": "reviewed main-line composition",
+ "beforeSha256": "10B31528BDE0F2B6C587E1EA56F816961BC65862BCBE1528892BB13E3C40EBF4",
+ "afterSha256": "AC9DB2E98EEFB52796E93C0B05C2C470EA63C62361A086E9E950E2189EE4720E",
+ "beforeExistence": "recorded hosted preimage"
+ },
+ {
+ "stage": "consumer-rollout-preparation-v1/consumer-patch-manifest-v4-prompt-cache-implemented.json",
+ "beforeSha256": "4ced601b557a9b90bf80db65474dd867e40fb6b71d566c178e0627adf1c1d9a4",
+ "afterSha256": "3a9c0b3bdc8eff45eac7b20a3699da98315a6ec6994b79a2421006f8e48e27e2",
+ "beforeExistence": "recorded targetPreimage; absence does not imply new unless manifest says so"
+ }
+ ],
+ "currentHostedSnapshot": {
+ "sha256": "f3468d56721f262df49557c10a146a6abf51ef76843af9ba351befda0f231899",
+ "bytes": 205844,
+ "availability": "PRESENT_IN_HOSTED_SOURCE_SNAPSHOT"
+ },
+ "publicationDisposition": "SOURCE_CANDIDATE_ROOT_RECONCILES_WITH_PR_BASE",
+ "reviewedGitComposition": {
+ "baseCommit": "4382217c3c61f2407d717e665cf9388c41ea2f5b",
+ "liveCommit": "e3008dbd51f451ed57d842fb1b2f5f7c9aa0d0c8",
+ "baseSha256": "4CED601B557A9B90BF80DB65474DD867E40FB6B71D566C178E0627ADF1C1D9A4",
+ "liveSha256": "71DC3857BE9700183592EF3A25FF5EC7759C5F747C4DD3198E048D6EBEEBA264",
+ "overlap": {
+ "baseExists": true,
+ "hostedChangeHunks": 39,
+ "liveChangeHunks": 8,
+ "baseLineOverlap": false,
+ "mergeFileConflict": false,
+ "liveToCandidateEditTextExact": true,
+ "hostedToCandidate": {
+ "addedLines": 33,
+ "deletedLines": 4
+ }
+ }
+ }
+ },
+ {
+ "path": "src/lib/registered-public-answer-options.ts",
+ "kind": "source/context registration or focused test",
+ "preimageChain": [
+ {
+ "stage": "no-filter published-original manifest",
+ "beforeSha256": null,
+ "afterSha256": "32f6503f054d3498738109f7a48a940b1bbad7cccadb3fcde7231226794a86e0",
+ "beforeExistence": "recorded new file"
+ }
+ ],
+ "currentHostedSnapshot": {
+ "sha256": "56c00d5ba035c2aa991318685294b3fc7571ee142511e5f21140cdad36e93225",
+ "bytes": 7581,
+ "availability": "PRESENT_IN_HOSTED_SOURCE_SNAPSHOT"
+ },
+ "publicationDisposition": "SOURCE_CANDIDATE_ROOT_RECONCILES_WITH_PR_BASE"
+ },
+ {
+ "path": "tests/rag-no-filter-published-original-context.test.ts",
+ "kind": "source/context registration or focused test",
+ "preimageChain": [
+ {
+ "stage": "no-filter published-original manifest",
+ "beforeSha256": null,
+ "afterSha256": "254338da145fbc3c9a47c2b7e96e32f845abd8e490881c3fdf097d0607525a5f",
+ "beforeExistence": "recorded new file"
+ }
+ ],
+ "currentHostedSnapshot": {
+ "availability": "ABSENT_FROM_HOSTED_DEPLOYMENT_SNAPSHOT_NOT_A_DELETION_INSTRUCTION"
+ },
+ "publicationDisposition": "ROOT_LOCATES_RETAINED_TEST_AND_PUBLIC_SAFE_DEPENDENCIES"
+ },
+ {
+ "path": "tests/registered-public-answer-no-filter.test.ts",
+ "kind": "source/context registration or focused test",
+ "preimageChain": [
+ {
+ "stage": "no-filter published-original manifest",
+ "beforeSha256": null,
+ "afterSha256": "cc13925a4dd13a264648a40bec3b2ee77b7a2b38ed1a7a60e20e2c53cca4bcc9",
+ "beforeExistence": "recorded new file"
+ }
+ ],
+ "currentHostedSnapshot": {
+ "availability": "ABSENT_FROM_HOSTED_DEPLOYMENT_SNAPSHOT_NOT_A_DELETION_INSTRUCTION"
+ },
+ "publicationDisposition": "ROOT_LOCATES_RETAINED_TEST_AND_PUBLIC_SAFE_DEPENDENCIES"
+ },
+ {
+ "path": "src/lib/answer-pilot-diagnostic.js",
+ "kind": "finite diagnostic/budget dependency",
+ "preimageChain": [
+ {
+ "stage": "answer20-diagnostic-dispatch-v3/candidate-manifest.json",
+ "beforeSha256": "10d1f23e6945852d3fe39019192e442768817f660f71bf30564ee02fbb7dec8a",
+ "afterSha256": "cbc770a16c07374dc57f7da52d4d2b0a0145d99c1416a16716f0ae8fd69d0a21",
+ "beforeExistence": "recorded preimage"
+ },
+ {
+ "stage": "answer22 section binding final",
+ "beforeSha256": "cbc770a16c07374dc57f7da52d4d2b0a0145d99c1416a16716f0ae8fd69d0a21",
+ "afterSha256": "c3c5954c49c5407ac6f0a31f5625146bf2b3f487d4db866a13847f9f5a7409ef",
+ "beforeExistence": "recorded preimage"
+ }
+ ],
+ "currentHostedSnapshot": {
+ "sha256": "c3c5954c49c5407ac6f0a31f5625146bf2b3f487d4db866a13847f9f5a7409ef",
+ "bytes": 22392,
+ "availability": "PRESENT_IN_HOSTED_SOURCE_SNAPSHOT"
+ },
+ "publicationDisposition": "SOURCE_CANDIDATE_ROOT_RECONCILES_WITH_PR_BASE"
+ },
+ {
+ "path": "src/lib/answer-pilot-budget.js",
+ "kind": "finite diagnostic/budget dependency",
+ "preimageChain": [
+ {
+ "stage": "answer20-diagnostic-dispatch-v3/candidate-manifest.json",
+ "beforeSha256": "d9da270ed5cd881fc9938ceff86b56b6bdc32c80842ecc0bc16173ca4b21da5f",
+ "afterSha256": "909b9f51a42fa2546d2b788f3d399a4558ea4928833b1b1f304e7563c6adbd7a",
+ "beforeExistence": "recorded preimage"
+ },
+ {
+ "stage": "answer21-refusal-witness-v1/candidate-manifest.json",
+ "beforeSha256": "909b9f51a42fa2546d2b788f3d399a4558ea4928833b1b1f304e7563c6adbd7a",
+ "afterSha256": "ee4a652539de4fdfa6bf0f1f54049e2aff75fc59fe463e7469635a5f577d4721",
+ "beforeExistence": "recorded preimage"
+ }
+ ],
+ "currentHostedSnapshot": {
+ "sha256": "ee4a652539de4fdfa6bf0f1f54049e2aff75fc59fe463e7469635a5f577d4721",
+ "bytes": 6974,
+ "availability": "PRESENT_IN_HOSTED_SOURCE_SNAPSHOT"
+ },
+ "publicationDisposition": "SOURCE_CANDIDATE_ROOT_RECONCILES_WITH_PR_BASE"
+ },
+ {
+ "path": "src/lib/answer-wire-budget-guard.js",
+ "kind": "finite diagnostic/budget dependency",
+ "preimageChain": [
+ {
+ "stage": "answer20-diagnostic-dispatch-v3/candidate-manifest.json",
+ "beforeSha256": "942ede92130799bbec1897d188f954f1167903ab2e22a587173fd22f63974339",
+ "afterSha256": "f5aaa23de6a1b23abf129a6d0acb515bc11078e21179d4d04e992d01a517704e",
+ "beforeExistence": "recorded preimage"
+ },
+ {
+ "stage": "answer21-refusal-witness-v1/candidate-manifest.json",
+ "beforeSha256": "f5aaa23de6a1b23abf129a6d0acb515bc11078e21179d4d04e992d01a517704e",
+ "afterSha256": "f36ffb752f933019a75773232e056451071434868656f3d1774b80bd57f7947a",
+ "beforeExistence": "recorded preimage"
+ }
+ ],
+ "currentHostedSnapshot": {
+ "sha256": "f36ffb752f933019a75773232e056451071434868656f3d1774b80bd57f7947a",
+ "bytes": 13920,
+ "availability": "PRESENT_IN_HOSTED_SOURCE_SNAPSHOT"
+ },
+ "publicationDisposition": "SOURCE_CANDIDATE_ROOT_RECONCILES_WITH_PR_BASE"
+ },
+ {
+ "path": "src/lib/answer-pilot-ticket.js",
+ "kind": "finite diagnostic/budget dependency",
+ "preimageChain": [
+ {
+ "stage": "answer20-diagnostic-dispatch-v3/candidate-manifest.json",
+ "beforeSha256": "3a599efebc4f355c99d1cd818c4d7c728c79178e87b2e6447527b7fa33a5a9e6",
+ "afterSha256": "3a599efebc4f355c99d1cd818c4d7c728c79178e87b2e6447527b7fa33a5a9e6",
+ "beforeExistence": "recorded preimage"
+ }
+ ],
+ "currentHostedSnapshot": {
+ "sha256": "b3c413f165ec2f7a2d004758440379bd1eeb28c0c712718ac099da5dee73e4a5",
+ "bytes": 6074,
+ "availability": "PRESENT_IN_HOSTED_SOURCE_SNAPSHOT"
+ },
+ "publicationDisposition": "SOURCE_CANDIDATE_ROOT_RECONCILES_WITH_PR_BASE"
+ },
+ {
+ "path": "src/lib/answer-verification.ts",
+ "kind": "clinical numeric verifier",
+ "preimageChain": [
+ {
+ "stage": "final numeric age fix",
+ "beforeSha256": "0a340eeec7850282d8cbe50c90dd9a4369bc04bd92057d97005db323321f91ed",
+ "afterSha256": "559b62cba08fedf9330e2bd907442de08cee204dbc6f395b99e2d849627eb5c2",
+ "beforeExistence": "recorded preimage"
+ }
+ ],
+ "currentHostedSnapshot": {
+ "sha256": "559b62cba08fedf9330e2bd907442de08cee204dbc6f395b99e2d849627eb5c2",
+ "bytes": 72399,
+ "availability": "PRESENT_IN_HOSTED_SOURCE_SNAPSHOT"
+ },
+ "publicationDisposition": "SOURCE_CANDIDATE_ROOT_RECONCILES_WITH_PR_BASE"
+ },
+ {
+ "path": "src/lib/rag/rag-admission-discharge-side-evidence.ts",
+ "kind": "preserved concurrent RAG dependency",
+ "preimageChain": [
+ {
+ "stage": "reviewed main-line composition",
+ "beforeSha256": "1B37DE40733F34CEE6CC3C1C6F9349880130389C2677D264C0F22F934EBC33F7",
+ "afterSha256": "1B37DE40733F34CEE6CC3C1C6F9349880130389C2677D264C0F22F934EBC33F7",
+ "beforeExistence": "recorded hosted preimage"
+ }
+ ],
+ "currentHostedSnapshot": {
+ "sha256": "1b37de40733f34cee6cc3c1c6f9349880130389c2677d264c0f22f934ebc33f7",
+ "bytes": 3745,
+ "availability": "PRESENT_IN_HOSTED_SOURCE_SNAPSHOT"
+ },
+ "publicationDisposition": "SOURCE_CANDIDATE_ROOT_RECONCILES_WITH_PR_BASE",
+ "reviewedGitComposition": {
+ "baseCommit": "4382217c3c61f2407d717e665cf9388c41ea2f5b",
+ "liveCommit": "e3008dbd51f451ed57d842fb1b2f5f7c9aa0d0c8",
+ "baseSha256": null,
+ "liveSha256": "1B37DE40733F34CEE6CC3C1C6F9349880130389C2677D264C0F22F934EBC33F7",
+ "overlap": {
+ "baseExists": false,
+ "liveAndHostedByteIdentical": true,
+ "overlap": "identical add; no composition edit",
+ "hostedToCandidate": {
+ "addedLines": 0,
+ "deletedLines": 0
+ }
+ }
+ }
+ },
+ {
+ "path": "src/lib/rag/rag-claim-support.ts",
+ "kind": "receipt-pinned prompt/support/cache compatibility dependency",
+ "preimageChain": [
+ {
+ "stage": "consumer-rollout-preparation-v1/consumer-patch-manifest-v4-prompt-cache-implemented.json",
+ "beforeSha256": "7cdcfc84e8b5516588f6ac08163330eb8fbd52d6c6750dc63955110516ab345c",
+ "afterSha256": "1049f4a0cc7795dd774db25966045603a4c81efcc720444749e886f165235fb3",
+ "beforeExistence": "recorded targetPreimage; absence does not imply new unless manifest says so"
+ }
+ ],
+ "currentHostedSnapshot": {
+ "sha256": "866ae98e48a1f5bb9f6599399f362017d4a04d76e0ac5aa8fb8c612488376702",
+ "bytes": 72680,
+ "availability": "PRESENT_IN_HOSTED_SOURCE_SNAPSHOT"
+ },
+ "publicationDisposition": "ROOT_RECONCILES_RECEIPT_PIN_WITH_CURRENT_SNAPSHOT_AND_PR_BASE"
+ },
+ {
+ "path": "src/lib/rag/rag-answer-instructions.ts",
+ "kind": "receipt-pinned prompt/support/cache compatibility dependency",
+ "preimageChain": [
+ {
+ "stage": "consumer-rollout-preparation-v1/consumer-patch-manifest-v4-prompt-cache-implemented.json",
+ "beforeSha256": "ef2c6a3828001591b3f6c9df0a955c801138fd195b65086dee206a84f9041d76",
+ "afterSha256": "d78a729b4167c5c6078ee06f93061ad7c024e8f6c2400b6571da0250e2cb65e6",
+ "beforeExistence": "recorded targetPreimage; absence does not imply new unless manifest says so"
+ }
+ ],
+ "currentHostedSnapshot": {
+ "sha256": "bd08663abfff0e762dc08b905d6221b7172245cf6164cc7cc0fe1783dc934e0b",
+ "bytes": 19040,
+ "availability": "PRESENT_IN_HOSTED_SOURCE_SNAPSHOT"
+ },
+ "publicationDisposition": "ROOT_RECONCILES_RECEIPT_PIN_WITH_CURRENT_SNAPSHOT_AND_PR_BASE"
+ },
+ {
+ "path": "src/lib/rag/rag-cache.ts",
+ "kind": "receipt-pinned prompt/support/cache compatibility dependency",
+ "preimageChain": [
+ {
+ "stage": "consumer-rollout-preparation-v1/consumer-patch-manifest-v4-prompt-cache-implemented.json",
+ "beforeSha256": "3ac3f3de599f6520f6f911c57e7de695770e1b273a6c0215f9a568bbf84c148f",
+ "afterSha256": "a6009927cfafbd084ef4f15004f896bc4416efd211bf6686048884d89691b974",
+ "beforeExistence": "recorded targetPreimage; absence does not imply new unless manifest says so"
+ }
+ ],
+ "currentHostedSnapshot": {
+ "sha256": "3ac3f3de599f6520f6f911c57e7de695770e1b273a6c0215f9a568bbf84c148f",
+ "bytes": 66703,
+ "availability": "PRESENT_IN_HOSTED_SOURCE_SNAPSHOT"
+ },
+ "publicationDisposition": "ROOT_RECONCILES_RECEIPT_PIN_WITH_CURRENT_SNAPSHOT_AND_PR_BASE"
+ },
+ {
+ "path": "tests/rag-generation-fingerprint.test.ts",
+ "kind": "receipt-pinned prompt/support/cache compatibility dependency",
+ "preimageChain": [
+ {
+ "stage": "consumer-rollout-preparation-v1/consumer-patch-manifest-v4-prompt-cache-implemented.json",
+ "beforeSha256": "5d9f0ca5b4db871ec7e6a50b7efc88879c7fc5f99c0119654c564733b1f9deef",
+ "afterSha256": "56364a7b333f083d61831f5746573ca4f3d495d19634a6e0e4adad8c3d9c475e",
+ "beforeExistence": "recorded targetPreimage; absence does not imply new unless manifest says so"
+ }
+ ],
+ "currentHostedSnapshot": {
+ "sha256": "5d9f0ca5b4db871ec7e6a50b7efc88879c7fc5f99c0119654c564733b1f9deef",
+ "bytes": 4482,
+ "availability": "PRESENT_IN_HOSTED_SOURCE_SNAPSHOT"
+ },
+ "publicationDisposition": "ROOT_RECONCILES_RECEIPT_PIN_WITH_CURRENT_SNAPSHOT_AND_PR_BASE"
+ },
+ {
+ "path": "src/lib/openai.ts",
+ "kind": "required actual OpenAI SDK transport/budget guard integration",
+ "preimageChain": [
+ {
+ "stage": "INGESTION_PACKET/rag-ticket-adoption-receipt.json",
+ "beforeSha256": "dd2be21a5f40e0f2198920638ce704048ab8e26866e32c3fb12c268f2fdad55f",
+ "afterSha256": "d35609c62653a2d396b4ccdee1b9f31ace1783a762f88dcf16abddf930055d08",
+ "beforeExistence": "recorded preimage"
+ }
+ ],
+ "currentHostedSnapshot": {
+ "sha256": "d35609c62653a2d396b4ccdee1b9f31ace1783a762f88dcf16abddf930055d08",
+ "bytes": 50920,
+ "availability": "PRESENT_AND_MATCHES_ROOT_ADOPTION_RECEIPT"
+ },
+ "publicationDisposition": "REQUIRED_TRANSPORT_SOURCE_INCLUDE_WITH_FINITE_BUDGET_GUARD"
+ }
+ ],
+ "receiptIndex": [
+ {
+ "id": "nofilter",
+ "locator": "RAG_PACKET/consumer-rollout-preparation-v1/no-filter-published-original-integration-v1/candidate-manifest.json",
+ "state": "SOURCE_REVIEW_AND_PATCH_APPLICATION_HISTORICAL",
+ "contentPolicy": "PRIVATE_ORIGINAL_RETAINED_METADATA_ONLY_PUBLIC",
+ "sha256": "5c10f55b3979d163ed750f961a609ba9c30eadb805109603e5e32d7893ce8c97"
+ },
+ {
+ "id": "v22-focused",
+ "locator": "RAG_PACKET/consumer-rollout-preparation-v1/no-filter-published-original-integration-v1/rpc-type-adaptation-v1/pipeline-diagnostic-correction-v1/assertion-type-correction-v1/final-focused-gate-readback-v22.json",
+ "state": "FOCUSED84_PASS_TYPECHECK1938_0_FULLDOMAIN350_360_FAILED",
+ "contentPolicy": "PRIVATE_ORIGINAL_RETAINED_METADATA_ONLY_PUBLIC",
+ "sha256": "3e554fd77c3b0d32a6ac414f52444d31dce84727aed856ac125597d751db31b9"
+ },
+ {
+ "id": "main-composition",
+ "locator": "RAG_PACKET/live-main-rag-preservation-20261014/composition-manifest.json",
+ "state": "SOURCE_REVIEW_NO_NEW_TESTS",
+ "contentPolicy": "PRIVATE_ORIGINAL_RETAINED_METADATA_ONLY_PUBLIC",
+ "sha256": "2cc20e47431e4979ca24df84e1e4d8869ef94f7c69050c224c5d88b66ce75e99"
+ },
+ {
+ "id": "v3",
+ "locator": "RAG_PACKET/answer20-diagnostic-dispatch-v3/proof-receipt.json",
+ "state": "12_FOCUSED_PASS",
+ "contentPolicy": "PRIVATE_ORIGINAL_RETAINED_METADATA_ONLY_PUBLIC",
+ "sha256": "5ae0fd94233069b12ba65b33665b350fe5300176bc2e305a17446f70b78780f6"
+ },
+ {
+ "id": "refusal-witness",
+ "locator": "RAG_PACKET/answer21-refusal-witness-v1/proof-receipt.json",
+ "state": "21_FOCUSED_PASS",
+ "contentPolicy": "PRIVATE_ORIGINAL_RETAINED_METADATA_ONLY_PUBLIC",
+ "sha256": "5a90f74d0925e8ad530549acce057306c1a0800bafa221dcd3398caa6f3c766d"
+ },
+ {
+ "id": "section-binding",
+ "locator": "RAG_PACKET/answer22-section-binding-fix-v1/proof-receipt.json",
+ "state": "28_FOCUSED_PASS",
+ "contentPolicy": "PRIVATE_ORIGINAL_RETAINED_METADATA_ONLY_PUBLIC",
+ "sha256": "37aca5a955c5c9daf7cb4d40d7a66227fce427539585565abcfa30f02209093d"
+ },
+ {
+ "id": "section-producer",
+ "locator": "RAG_PACKET/answer22-section-binding-fix-v1/producer-chain-receipt.json",
+ "state": "BOUND_AUTHENTIC_RPC_SHAPE_PASS_QUALIFIED",
+ "contentPolicy": "PRIVATE_ORIGINAL_RETAINED_METADATA_ONLY_PUBLIC",
+ "sha256": "ee87dcde2fb4d4adad022bdfbfbb13d55cedcc89ec8404bf311a87ba93eafc79"
+ },
+ {
+ "id": "numeric",
+ "locator": "RAG_PACKET/answer23-recorded-response-fix-v1/proof-receipt.json",
+ "state": "92_PASS_REUSED_FINAL_NUMERIC_UNCHANGED",
+ "contentPolicy": "PRIVATE_ORIGINAL_RETAINED_METADATA_ONLY_PUBLIC",
+ "sha256": "24e6b0702ac821c49bb0b94b47dbcab87e9836d9fbc0c7898e6e6557d5312bd8"
+ },
+ {
+ "id": "numeric-replay",
+ "locator": "RAG_PACKET/answer23-recorded-response-fix-v1/recorded-response-receipt.json",
+ "state": "MAIN_RETAINED_QUALIFIERS_INCOMPLETE",
+ "contentPolicy": "PRIVATE_ORIGINAL_RETAINED_METADATA_ONLY_PUBLIC",
+ "sha256": "6832691559872a44706208c9a8af58b252ef93e7fcd3cf5f67a0c01f69070107"
+ },
+ {
+ "id": "held-finite-replay",
+ "locator": "RAG_PACKET/answer23-final-delivery-qualifier-fix-v1/recorded-response-receipt.json",
+ "state": "POSITIVE13_PASS_NEGATIVE_COMPLETE_REFUSAL_INSUFFICIENT_UNSAFE_DRAFTS_RETAINED",
+ "contentPolicy": "PRIVATE_ORIGINAL_RETAINED_METADATA_ONLY_PUBLIC",
+ "sha256": "031c22ebdbc6f391de977043d119f7b8480168a820434671a41dadd189081030"
+ },
+ {
+ "id": "final-safe-replay",
+ "locator": "RAG_PACKET/answer23-unsafe-negative-correction-v1/recorded-response-receipt.json",
+ "state": "POSITIVE13_AND3_ACTUAL_UNSAFE_ABSENCE_PASS",
+ "contentPolicy": "PRIVATE_ORIGINAL_RETAINED_METADATA_ONLY_PUBLIC",
+ "sha256": "d6d863111d391fb3a8b6c3ed1201c42b217a690c597d8767ecc6d08c4a2f6d2e"
+ },
+ {
+ "id": "final-veto",
+ "locator": "RAG_PACKET/answer23-unsafe-negative-correction-v1/independent-frontier-veto.json",
+ "state": "EXACT_BOUNDED_CLINICAL_CODE_ACCEPT",
+ "contentPolicy": "PRIVATE_ORIGINAL_RETAINED_METADATA_ONLY_PUBLIC",
+ "sha256": "703be43dc2d4613e79d51b857f50c4727ff5290a04026db6cbb8c76cbc9e45e1"
+ },
+ {
+ "id": "final-manifest",
+ "locator": "RAG_PACKET/answer23-unsafe-negative-correction-v1/candidate-manifest.json",
+ "state": "FINAL_SOURCE_PINS_FROZEN",
+ "contentPolicy": "PRIVATE_ORIGINAL_RETAINED_METADATA_ONLY_PUBLIC",
+ "sha256": "6904fc418a87212ed1edaa6db4029fad182b0c8b8f70cb79963b0aafdd2871c2"
+ },
+ {
+ "id": "actual-a23-delivery",
+ "locator": "INGESTION_PACKET/hosted-answer23-20261014/actual-delivery-receipt.json",
+ "state": "GENUINE_LIVE_ANSWER_FAILED_COPIED_OUTPUT_UNVERIFIED_PRIVATE_CONTENT_EXCLUDED",
+ "contentPolicy": "PRIVATE_ORIGINAL_RETAINED_METADATA_ONLY_PUBLIC",
+ "sha256": "98b660cc8cd3ed5a2f16acc7828089e7b7e6c45c8a61bb7dc6330b3a14a995d5"
+ },
+ {
+ "id": "actual-a23-capture",
+ "locator": "INGESTION_PACKET/hosted-answer23-20261014/actual-capture-manifest.json",
+ "state": "GENUINE_SERVER_CAPTURE_RETAINED_PRIVATE_NOT_FULL_SSE",
+ "contentPolicy": "PRIVATE_ORIGINAL_RETAINED_METADATA_ONLY_PUBLIC",
+ "sha256": "2f0fc4a882a94467aa70ccfd15d8fada8c8f780f944f9d65493afc2e48d88b30"
+ },
+ {
+ "id": "final-hosted-ready",
+ "locator": "INGESTION_PACKET/final-minimum-hosted-ready-20261014.json",
+ "state": "DEPLOYMENT_SUCCESS_AND_ACTUAL_READY200_NOT_NEW_ANSWER",
+ "contentPolicy": "PRIVATE_ORIGINAL_RETAINED_METADATA_ONLY_PUBLIC",
+ "sha256": "1768629dd1a7dd9cd8bc512e193f668202c06d2f0e15a5c1027b6c3ff5f76a50"
+ },
+ {
+ "id": "completed-txt",
+ "locator": "INGESTION_PACKET/controlled-txt-already-completed-20261014.json",
+ "state": "TXT_ALREADY_COMPLETED_NO_DUPLICATE_START",
+ "contentPolicy": "PRIVATE_ORIGINAL_RETAINED_METADATA_ONLY_PUBLIC",
+ "sha256": "001d7923384750e7b34682d2fbc5c162cfd6e8bee2534c80132d86916cb045cf"
+ },
+ {
+ "id": "owner-adoption",
+ "locator": "INGESTION_PACKET/release-preparation/restricted-owner-adoption-20261014.json",
+ "state": "FOUR_OPERATING_DECISIONS_ADOPTED_QUALIFIED",
+ "contentPolicy": "PRIVATE_ORIGINAL_RETAINED_METADATA_ONLY_PUBLIC",
+ "sha256": "4da0f2ad8c5b416d914123bc1fd5cf76a6630c4d7a2e3ccedf165e8fedb46592"
+ },
+ {
+ "id": "incident",
+ "locator": "INGESTION_PACKET/hosted-answer23-20261014/deployment-removal-incident.json",
+ "state": "HISTORICAL_SERVICE_REMOVAL_RESTORED_PRIOR_IMAGE_THEN_CORRECTED_DEPLOYMENT",
+ "contentPolicy": "PRIVATE_ORIGINAL_RETAINED_METADATA_ONLY_PUBLIC",
+ "sha256": "a212f8c3e3ff629ea4537a09c69d0f5111f2f93043151e9b4df051eff8e4f47c"
+ },
+ {
+ "id": "ticket-adoption",
+ "locator": "INGESTION_PACKET/rag-ticket-adoption-receipt.json",
+ "state": "RECORDED_SOURCE_PREIMAGE_CHAIN_NO_NEW_EXECUTION",
+ "contentPolicy": "PRIVATE_ORIGINAL_RETAINED_METADATA_ONLY_PUBLIC",
+ "sha256": "cb2896578b1896f5a4cabefd76c0dfd17ceb0771cc80558ec05d9efaa25be73d"
+ },
+ {
+ "id": "prompt-support-compatibility",
+ "locator": "RAG_PACKET/consumer-rollout-preparation-v1/consumer-patch-manifest-v4-prompt-cache-implemented.json",
+ "state": "RECORDED_SOURCE_PREIMAGE_CHAIN_NO_NEW_EXECUTION",
+ "contentPolicy": "PRIVATE_ORIGINAL_RETAINED_METADATA_ONLY_PUBLIC",
+ "sha256": "db5b2ba26d3b8d75b789efee0a56f5834bc29bfdad452f5d57c3139e38d24893"
+ }
+ ],
+ "proofStates": {
+ "historicV22": "focused84/84 PASS,typecheck1938files0diagnostics,scoped11format/lintPASS; fullselected350/360 FAIL with10identical unchanged-baseline failures",
+ "numeric": "92/92 PASS; reused on unchanged559b with33matching input pins; no final suite rerun",
+ "refusal": "21 focusedPASS",
+ "sectionBinding": "28 focusedPASS; genuine v2 RPC-shape producer proof qualified",
+ "finalReplay": "Actual recorded response parser/fulllegacyfinalizer/client/render/pureclipboard:13positivePASS,3same negative actualunsafeabsencePASS; wrongvalue/pop ungrounded+unsupported",
+ "independentReview": "Exact finite clinical-code delta ACCEPT; does not claim broad clinical signoff",
+ "hosted": "Final deployed app build/type checksPASS; actual ready endpoint200/statusok, demoModefalse; config/database readiness checksok",
+ "failed": "Original liveA23 delivery FAILED; heldF negative complete-refusal did not remove unsafe text and was superseded; OCR ratioheader failures retained",
+ "unrun": "Fresh corrected liveAnswer/browserclipboard/fullSSE; generalcorpus/OCR/bulk/reindex; new publication tests/build/reviews/CI"
+ },
+ "commands": [
+ {
+ "identity": "node dispatch-v3.test.mjs",
+ "evidence": "v3",
+ "coverage": "12 scoped groups; some extracted generator/SDK paths with explicit mocks",
+ "state": "REUSED_HISTORICAL_PASS"
+ },
+ {
+ "identity": "node refusal-witness.test.mjs",
+ "evidence": "refusal-witness",
+ "coverage": "21 groups",
+ "state": "REUSED_HISTORICAL_PASS"
+ },
+ {
+ "identity": "node section-binding.test.mjs",
+ "evidence": "section-binding",
+ "coverage": "28 groups plus separate genuine producer-shape receipt",
+ "state": "REUSED_HISTORICAL_PASS"
+ },
+ {
+ "identity": "vitest run --config vitest.config.mjs --reporter=json --outputFile vitest-results.json",
+ "evidence": "numeric",
+ "coverage": "80 existing numeric and12 new strict-age groups; retained invocation uses private snapshot paths",
+ "state": "92_PASS_REUSED_NO_RERUN"
+ },
+ {
+ "identity": "node replay-recorded-response.mjs",
+ "evidence": "final-safe-replay",
+ "coverage": "one positive13assertions plus3existing negative derivatives; actual pure copy preparation",
+ "state": "FINAL_RECORDED_REPLAY_PASS_NOT_HOSTED"
+ }
+ ],
+ "budget": {
+ "currency": "USD",
+ "ceiling": 32,
+ "conservativeRetainedReservations": 31.8506993,
+ "remaining": 0.1493007,
+ "newPublicationPaidRequests": 0,
+ "rule": "No refund/reallocation implied; next paid batch requires applicable separate cost authority"
+ },
+ "scope": {
+ "txt": "Agreed summaryTXT ingestion already completed; do not restart",
+ "nativePdf": "Actual selected4nativepage pilot completed with retained text/vector/artifact/provenance evidence; not wholeparent or generalPDF acceptance",
+ "ocr": "Scanned numerical tables held: original450DPI56/56numeric cells did not preserve ratioheader, laterPSM6 also lost riskheading; no OCRGO",
+ "enrichment": "Optional enrichment off initial critical path; noAIenrichmentstoredoutput acceptance",
+ "worker": "Persistent dispatch paused;4pendingPDFjobs remainoutsideadoptedTXTscope; generic claim API lacks docselector",
+ "owner": "Four restricted prospective operating decisions adopted;1Dec review/earlierchange. Overall legal/runtime activation requirements remainpending/qualified; not broadreleaseGO"
+ },
+ "dependenciesAndConflicts": [
+ "Publish runtime imports/type declarations coherently; finite diagnostic modules depend on ticket/budget/guard and rag.ts integration",
+ "Preserve reviewed current-main side-evidence changes in rag.ts/rag-extractive-answer.ts; historical composition had no conflicting hunks, currentPRbase conflicts must be assessed by root",
+ "Hosteddeployment artifact lacks several retained tests; absence is not proof of intentionaldeletion",
+ "rag-nhmrc-delivery.test.ts requires actual rawText/nativeRPCfixture; do not publish either as-is under rawcapture exclusion",
+ "age-only,SDK/refusal/section harnesses and finalreplay depend on private captures, localpaths and snapshottoolchain; index evidence ratherthan claiming portable publictests",
+ "No current repository ownership takeover or source edit by handover author; root owns source adoption/Git/publication",
+ "Root ingestion inventory owns extractor/worker/schema/releaseimplementation; thisRAGinventory cannot establish its exact sourcepreimages"
+ ],
+ "privateContinuity": {
+ "canonicalCheckpointLocator": "RAG_PACKET/local-checkpoint.json",
+ "checkpointSha256": "6dc649e1733462e2397c448d3bc225b830be9264d9dbd805722d633fb6b14e61",
+ "fullOriginals": "Preserve existing private packets/checkpoint/history; publish metadata only, no new ledger",
+ "excluded": [
+ "raw provider responses and nativeRPC capture contents",
+ "personal accounts/emails and private chat/approval transcripts",
+ "credentials/environment values/signed URLs",
+ "production SQL dumps/account rows and raw operational logs"
+ ]
+ },
+ "nextAction": "Root reconcile currentPRbase, selectively adopt complete owned source/test dependency sets, preserve privateevidence, prepare requested localcommit/PR without rerunning checks solelyforpublication. No merge/deploy/database/worker/provider action authorised by this inventory.",
+ "chronologicalProgress": [
+ {
+ "phase": 1,
+ "stage": "Retained original consumer/presentation work",
+ "outcome": "Four-population adult/underage/pregnancy/breastfeeding requirements preserved; source/copy projection and finite source-wording seam prepared",
+ "state": "RETAINED_SOURCE_HISTORY",
+ "evidence": "Private canonical checkpoint ownedFiles/presentationFiles; original preimages in file inventory"
+ },
+ {
+ "phase": 2,
+ "stage": "Registered original source/context integration",
+ "outcome": "Raw nomination, checked authority and full source prompt/finalizer transport; query/scoring/order intended preserved",
+ "state": "SOURCE_REVIEWED_AND_PATCH_CHECKED_HISTORICAL",
+ "evidence": "nofilter"
+ },
+ {
+ "phase": 3,
+ "stage": "Early composite diagnosis",
+ "outcome": "Initial selected336/350 with14failures; RPC/type/pipeline repairs preserved; not final acceptance",
+ "state": "FAILED_HISTORICAL",
+ "evidence": "Private original pipeline diagnostic records retained"
+ },
+ {
+ "phase": 4,
+ "stage": "Qualified V22 local gate",
+ "outcome": "84/84focusedPASS;1938files/0diagnostics;11fileformat/lintPASS; broader350/360FAIL with10identical unchanged-baseline failures",
+ "state": "PASS_FOCUSED_WITH_SEPARATE_FAILED_BROAD_DOMAIN",
+ "evidence": "v22-focused"
+ },
+ {
+ "phase": 5,
+ "stage": "Current-main overlap composition",
+ "outcome": "Two RAG integration files preserve reviewed main-line deltas; side-evidence add identical; no tests newly executed for composition",
+ "state": "SOURCE_ONLY_REVIEWED",
+ "evidence": "main-composition"
+ },
+ {
+ "phase": 6,
+ "stage": "Controlled diagnostic budget/dispatch V3",
+ "outcome": "12focusedSDK/generator groups; clinical/retrieval internals explicitly mocked; finite admission and cost bound",
+ "state": "PASS_QUALIFIED_LOCAL",
+ "evidence": "v3"
+ },
+ {
+ "phase": 7,
+ "stage": "Actual A20/A21",
+ "outcome": "Hosted compound Answer failed; diagnostic refusal did not establish paid Responses success",
+ "state": "FAILED_OR_REFUSED_LIVE",
+ "evidence": "Private original hosted receipts retained"
+ },
+ {
+ "phase": 8,
+ "stage": "Refusal witness and actual A22",
+ "outcome": "21groupsPASS; actual missing RPC section field refused fixed seed before Responses; no delivered Answer acceptance",
+ "state": "LOCAL_PASS_LIVE_REFUSAL",
+ "evidence": "refusal-witness"
+ },
+ {
+ "phase": 9,
+ "stage": "Section representation correction",
+ "outcome": "28groupsPASS plus qualified genuine RPC-shape producer proof; no source text/heading/authority mutation",
+ "state": "PASS_LOCAL_QUALIFIED",
+ "evidence": "section-binding; section-producer"
+ },
+ {
+ "phase": 10,
+ "stage": "Actual A23 completed generation",
+ "outcome": "Genuine nontruncated provider response captured; numeric age-unit mismatch removed main; source viewer opened; clipboard unavailable; full SSE unavailable",
+ "state": "FAILED_LIVE_DELIVERY_NOT_COUNTERFEIT_PASS",
+ "evidence": "actual-a23-delivery; actual-a23-capture"
+ },
+ {
+ "phase": 11,
+ "stage": "Narrow numeric age repair",
+ "outcome": "80existing+12strict cases92/92PASS; final559b unchanged and proof reused after33pins matched",
+ "state": "PASS_THEN_REUSED",
+ "evidence": "numeric"
+ },
+ {
+ "phase": 12,
+ "stage": "Initial recorded repair replay",
+ "outcome": "Main retained but important adult qualification and delivered/copy baby/no-safe qualifiers incomplete",
+ "state": "PARTIAL_NOT_CLINICAL_ACCEPTANCE",
+ "evidence": "numeric-replay"
+ },
+ {
+ "phase": 13,
+ "stage": "Held finite recovery packet",
+ "outcome": "First exactsignature replay6/13failed dueparsersemicolon removal; two literal fixes yielded13positive but complete-refusal negatives still exposed unsafe drafts",
+ "state": "SUPERSEDED_UNSAFE_NEGATIVE_ACCEPTANCE",
+ "evidence": "held-finite-replay; retained failed5ce6 receipt/log"
+ },
+ {
+ "phase": 14,
+ "stage": "Final actual unsafe-output correction",
+ "outcome": "Non-null failed completion invokes existingunsupported fallback; correct13retain, same3unsafe recommendations absent from delivery/allsections/preparedcopy; wrongvalue/pop ungrounded/unsupported",
+ "state": "PASS_RECORDED_FINITE_PROFILE",
+ "evidence": "final-safe-replay; final-veto; final-manifest"
+ },
+ {
+ "phase": 15,
+ "stage": "Operational deployment incident",
+ "outcome": "Prior app mistakenly removed by generic CLI removal; restored exactprior image, heldunsafe build removed; finalcorrected deployment subsequently succeeded",
+ "state": "INCIDENT_RECORDED_AND_RESTORED",
+ "evidence": "incident"
+ },
+ {
+ "phase": 16,
+ "stage": "Final hosted minimum ready",
+ "outcome": "Hosted build/typesPASS; actual readiness200/statusok/demoModefalse; no fresh corrected liveAnswer orclipboard",
+ "state": "DEPLOYED_AND_HEALTHY_NOT_LIVE_ANSWER_ACCEPTANCE",
+ "evidence": "final-hosted-ready"
+ },
+ {
+ "phase": 17,
+ "stage": "TXT/native/OCR scope closeout",
+ "outcome": "TXT alreadycompleted; selected4nativepages completed; scannednumeric OCR ratioheader/heading defects held; optionalenrichment notcriticalpath",
+ "state": "BOUNDED_INGESTION_COMPLETE_NO_BULK",
+ "evidence": "completed-txt; ingestion-owned native/OCR inventory"
+ },
+ {
+ "phase": 18,
+ "stage": "Restricted owner operating decisions",
+ "outcome": "Four prospective decisions adopted forrestrictedTXT withreview1Dec/earlierchange; unprovedlegal/runtime conditions remainpending",
+ "state": "ADOPTED_QUALIFIED_NOT_GENERAL_RELEASE_GO",
+ "evidence": "owner-adoption"
+ },
+ {
+ "phase": 19,
+ "stage": "Publication handover",
+ "outcome": "Sanitised source/preimage/receipt inventory and phaseplan prepared; rootsoleGit/PRowner; no newtests/models/provider execution",
+ "state": "PREPARED_NOT_COMMITTED_OR_PUBLISHED_BY_RAG",
+ "evidence": "This inventory and rag-handover.md"
+ }
+ ],
+ "boundedClosureCorrection": {
+ "reason": "Initial25path inventory omitted OpenAI transport and prompt/support/cache compatibility files",
+ "addedPaths": [
+ {
+ "path": "src/lib/rag/rag-claim-support.ts",
+ "recordedBefore": "7cdcfc84e8b5516588f6ac08163330eb8fbd52d6c6750dc63955110516ab345c",
+ "recordedCandidate": "1049f4a0cc7795dd774db25966045603a4c81efcc720444749e886f165235fb3",
+ "currentHostedSha256": "866ae98e48a1f5bb9f6599399f362017d4a04d76e0ac5aa8fb8c612488376702",
+ "matchesCurrent": false
+ },
+ {
+ "path": "src/lib/rag/rag-answer-instructions.ts",
+ "recordedBefore": "ef2c6a3828001591b3f6c9df0a955c801138fd195b65086dee206a84f9041d76",
+ "recordedCandidate": "d78a729b4167c5c6078ee06f93061ad7c024e8f6c2400b6571da0250e2cb65e6",
+ "currentHostedSha256": "bd08663abfff0e762dc08b905d6221b7172245cf6164cc7cc0fe1783dc934e0b",
+ "matchesCurrent": false
+ },
+ {
+ "path": "src/lib/rag/rag-cache.ts",
+ "recordedBefore": "3ac3f3de599f6520f6f911c57e7de695770e1b273a6c0215f9a568bbf84c148f",
+ "recordedCandidate": "a6009927cfafbd084ef4f15004f896bc4416efd211bf6686048884d89691b974",
+ "currentHostedSha256": "3ac3f3de599f6520f6f911c57e7de695770e1b273a6c0215f9a568bbf84c148f",
+ "matchesCurrent": false
+ },
+ {
+ "path": "tests/rag-generation-fingerprint.test.ts",
+ "recordedBefore": "5d9f0ca5b4db871ec7e6a50b7efc88879c7fc5f99c0119654c564733b1f9deef",
+ "recordedCandidate": "56364a7b333f083d61831f5746573ca4f3d495d19634a6e0e4adad8c3d9c475e",
+ "currentHostedSha256": "5d9f0ca5b4db871ec7e6a50b7efc88879c7fc5f99c0119654c564733b1f9deef",
+ "matchesCurrent": false
+ },
+ {
+ "path": "src/lib/openai.ts",
+ "recordedBefore": "dd2be21a5f40e0f2198920638ce704048ab8e26866e32c3fb12c268f2fdad55f",
+ "recordedCandidate": "d35609c62653a2d396b4ccdee1b9f31ace1783a762f88dcf16abddf930055d08",
+ "currentHostedSha256": "d35609c62653a2d396b4ccdee1b9f31ace1783a762f88dcf16abddf930055d08",
+ "matchesCurrent": true
+ }
+ ],
+ "declarations": "No answer-pilot or answer-wire-budget .d.ts declaration files present in current hosted src or found in retained RAG packet; do not invent them. Root must provide any separate adopted declaration locator if required.",
+ "externalDto": "worker/published-admin-source-layout-contract.ts supplies type-only PublishedAdminSectionRequest/Projection; owned by ingestion, preserve actual compatible source",
+ "capturedDependencyWarning": "Use accepted captured context-pack consumer, not incompatible retained private/public complete-section variant; preserve source-support implementation rather than export-name-only compatibility",
+ "newTestsOrSourceEdits": 0
+ }
+}
diff --git a/docs/audit/ingestion-rag-2026-10-15/source-inventory.json b/docs/audit/ingestion-rag-2026-10-15/source-inventory.json
new file mode 100644
index 0000000000..3367fc43e6
--- /dev/null
+++ b/docs/audit/ingestion-rag-2026-10-15/source-inventory.json
@@ -0,0 +1,812 @@
+{
+ "schemaVersion": 1,
+ "base": "4a6acb7e22e1bac3924cd83450ea76eae1e8cc81",
+ "files": [
+ {
+ "path": "scripts/build-worker.mjs",
+ "sha256": "e24eb2572117e33633a24c793a8eba62c98e725969276a61ab74ab21863d45be",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "src/app/admin/pilot/page.tsx",
+ "sha256": "a525b3a829d35d9625947e2e890c3a5b7eb463d5f7661bfa3c544a613884a921",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "src/app/admin/pilot/pilot-client.tsx",
+ "sha256": "1cb73a24b2cfe8368254dcc9f971db8de6e6542901f39e7ddd3670a665b4a4bc",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "src/app/api/answer/route.ts",
+ "sha256": "bd4b87aad909a73caf48233ad3aad43762a095bce454b0232c77da95e9fce318",
+ "origin": "reviewed-final-RAG-HT",
+ "classification": "RAG-source-candidate"
+ },
+ {
+ "path": "src/app/api/answer/stream/route.ts",
+ "sha256": "abcca704b5d8b46829117d6bdc08c1c5a5e1c8aa3921f34946e0072309a7ad30",
+ "origin": "reviewed-final-RAG-HT",
+ "classification": "RAG-source-candidate"
+ },
+ {
+ "path": "src/app/api/upload/route.ts",
+ "sha256": "a5f2a56c9859d45a19fa432aad95c4cb97c05c34bfba60d816b59ca51304d2b8",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "src/components/clinical-dashboard/answer-copy-payload.ts",
+ "sha256": "19cf8d435f0cecab7da6436d7de4c406759e47259d5fecab3db1248b452d1235",
+ "origin": "reviewed-final-RAG-HT",
+ "classification": "RAG-source-candidate"
+ },
+ {
+ "path": "src/components/clinical-dashboard/answer-result-surface.tsx",
+ "sha256": "a3be9a31da357c243a740bf46d418ec0ec9d1a2786096d9b9993d0fa940b8409",
+ "origin": "reviewed-final-RAG-HT",
+ "classification": "RAG-source-candidate"
+ },
+ {
+ "path": "src/components/clinical-dashboard/answer-section-projector.ts",
+ "sha256": "e4aac1ff7bc5a110cb333dcd6a00db16e742f6f188e3822fe8f6bf18a4a29414",
+ "origin": "reviewed-final-RAG-HT",
+ "classification": "RAG-source-candidate"
+ },
+ {
+ "path": "src/components/clinical-dashboard/answer-thread-turn.tsx",
+ "sha256": "0514bbe9a2cef13e7a34134bf462b08178afb96c71a09fc5735dfc86995e619f",
+ "origin": "reviewed-final-RAG-HT",
+ "classification": "RAG-source-candidate"
+ },
+ {
+ "path": "src/lib/admin-reference-preparation-receipt.ts",
+ "sha256": "840bacbf98d254a6c5c1fb80f15fadc836b50c1aeada1c3abcf3d3f7e6b330a6",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "src/lib/admin-text-source-section-layout.ts",
+ "sha256": "0e7d28f8dbc19a72427ec47f8af8ef15418ea445c52d8c588a120ff25b799819",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "src/lib/answer-pilot-budget.js",
+ "sha256": "ee4a652539de4fdfa6bf0f1f54049e2aff75fc59fe463e7469635a5f577d4721",
+ "origin": "reviewed-final-RAG-HT",
+ "classification": "RAG-source-candidate"
+ },
+ {
+ "path": "src/lib/answer-pilot-diagnostic.js",
+ "sha256": "c3c5954c49c5407ac6f0a31f5625146bf2b3f487d4db866a13847f9f5a7409ef",
+ "origin": "reviewed-final-RAG-HT",
+ "classification": "RAG-source-candidate"
+ },
+ {
+ "path": "src/lib/answer-pilot-ticket.js",
+ "sha256": "b3c413f165ec2f7a2d004758440379bd1eeb28c0c712718ac099da5dee73e4a5",
+ "origin": "reviewed-final-RAG-HT",
+ "classification": "RAG-source-candidate"
+ },
+ {
+ "path": "src/lib/answer-verification.ts",
+ "sha256": "559b62cba08fedf9330e2bd907442de08cee204dbc6f395b99e2d849627eb5c2",
+ "origin": "reviewed-final-RAG-HT",
+ "classification": "RAG-source-candidate"
+ },
+ {
+ "path": "src/lib/answer-wire-budget-guard.js",
+ "sha256": "f36ffb752f933019a75773232e056451071434868656f3d1774b80bd57f7947a",
+ "origin": "reviewed-final-RAG-HT",
+ "classification": "RAG-source-candidate"
+ },
+ {
+ "path": "src/lib/deep-memory-preparation.ts",
+ "sha256": "e2f3a01438df5f4ef85cfba3754a31ad1fb311de5f43b2466aa184236a0c8a75",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "src/lib/deep-memory.ts",
+ "sha256": "a86d48d6e5d409590319a13128be069ef90fc19a02d591e1ff8d1e97fd256ae6",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "src/lib/document-enrichment.ts",
+ "sha256": "0f7f652d35ea4c8a4ffbd5737c8f2eb3a7a1ac4501dc6a92e858aca6f1ae2998",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "src/lib/document-ingress-safety.ts",
+ "sha256": "9a985085dda562173b70df5bde58141dc3ede4ad906d4e4eef6e9c8c854708ca",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "src/lib/extractors/document.ts",
+ "sha256": "72fe9c247835401b9e6261a79a502ef4615e313779726cf4e615c67e512014fb",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "src/lib/extractors/docx-source-provenance.ts",
+ "sha256": "f1446619b0358f565c931f4b512d016a349cc7f0f75b6172634b2b541657be09",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "src/lib/extractors/pdf-source-provenance.ts",
+ "sha256": "9c0363b3caf9ba5938c2799d0e6959d3790ad1d0e2a7d5af823df0a471808650",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "src/lib/extractors/text-source-provenance.ts",
+ "sha256": "36479139f81bd1cba2dfb23ea88dd4b8d6a9cd93ae061618758c831a6cfdb9b1",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "src/lib/extractors/xlsx-extraction-budget.ts",
+ "sha256": "5c8bc2763a33ccbd7d2bb79d33558ce8f04813b668bfe34422bb7580d04cf01a",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "src/lib/extractors/xlsx-original-zip.ts",
+ "sha256": "6a9baf9321b28ecce7dc98499e6ace127b9ef10c86073027912ba70a9aa6ba84",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "src/lib/extractors/xlsx-source-preflight.ts",
+ "sha256": "9dafb0fde28717881f91430a573f9827ead75157dcc0611b1dab08c61b1d8f13",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "src/lib/extractors/xlsx-source-provenance.ts",
+ "sha256": "0ca56569ff7ededfc70fd835b000773553cb75079afb97e812c314b24f262739",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "src/lib/ingestion-generation-evidence.ts",
+ "sha256": "1b444ea8f8c7a0fead66675e5453154dd56fbfae1c3459c8691f59616db38aee",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "src/lib/ingestion-provider-egress.ts",
+ "sha256": "97999a0440bdb03e228bfca13695dd1834a4ad248971ae49e8a1c14b80166f62",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "src/lib/model-index-extraction.ts",
+ "sha256": "2a3525138baca30b0652c728323655f62b1dc4fc22814b27a8ac459060b25fef",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "src/lib/model-index-version.ts",
+ "sha256": "14648d77bdadd3a0ef00b5d73cf42de900d7dbbbf24a03184ee5f45c48faab0b",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "src/lib/openai.ts",
+ "sha256": "d35609c62653a2d396b4ccdee1b9f31ace1783a762f88dcf16abddf930055d08",
+ "origin": "root-reviewed-current-adoption",
+ "classification": "SDK-prompt-notice-dependency"
+ },
+ {
+ "path": "src/lib/privacy-page-content.tsx",
+ "sha256": "2c2abcecf9a8ed3d5ffa593bcb5e42005d4331949a4c0d5068a15f3e4362f4dd",
+ "origin": "root-reviewed-current-adoption",
+ "classification": "SDK-prompt-notice-dependency"
+ },
+ {
+ "path": "src/lib/rag/rag-admission-discharge-side-evidence.ts",
+ "sha256": "1b37de40733f34cee6cc3c1c6f9349880130389c2677d264c0f22f934ebc33f7",
+ "origin": "reviewed-final-RAG-HT",
+ "classification": "RAG-source-candidate"
+ },
+ {
+ "path": "src/lib/rag/rag-answer-instructions.ts",
+ "sha256": "bd08663abfff0e762dc08b905d6221b7172245cf6164cc7cc0fe1783dc934e0b",
+ "origin": "root-reviewed-current-adoption",
+ "classification": "SDK-prompt-notice-dependency"
+ },
+ {
+ "path": "src/lib/rag/rag-cache.ts",
+ "sha256": "3ac3f3de599f6520f6f911c57e7de695770e1b273a6c0215f9a568bbf84c148f",
+ "origin": "reviewed-final-RAG-HT",
+ "classification": "RAG-source-candidate"
+ },
+ {
+ "path": "src/lib/rag/rag-candidate-sources.ts",
+ "sha256": "77b4f829a72d2480e60959e9b3fb2f7d70f46a39d4b0923cfb2840b1c234f525",
+ "origin": "reviewed-final-RAG-HT",
+ "classification": "RAG-source-candidate"
+ },
+ {
+ "path": "src/lib/rag/rag-claim-support.ts",
+ "sha256": "866ae98e48a1f5bb9f6599399f362017d4a04d76e0ac5aa8fb8c612488376702",
+ "origin": "reviewed-final-RAG-HT",
+ "classification": "RAG-source-candidate"
+ },
+ {
+ "path": "src/lib/rag/rag-context-pack.ts",
+ "sha256": "c25ca83310829d3e56af8bd07a788ecfd49e6e1139a99a920492b99e201f3595",
+ "origin": "reviewed-final-RAG-HT",
+ "classification": "RAG-source-candidate"
+ },
+ {
+ "path": "src/lib/rag/rag-extractive-answer.ts",
+ "sha256": "ce178748eb4753ec265860f34dee93498bcf5938a7e11480da2e31546d53fda6",
+ "origin": "reviewed-final-RAG-HT",
+ "classification": "RAG-source-candidate"
+ },
+ {
+ "path": "src/lib/rag/rag-governed-search.ts",
+ "sha256": "eeef4833ac7b4858980658a073586ba5be3ca9f662055cbfffe46e7dbc8f20a9",
+ "origin": "reviewed-final-RAG-HT",
+ "classification": "RAG-source-candidate"
+ },
+ {
+ "path": "src/lib/rag/rag-source-block.ts",
+ "sha256": "cc5d39eecd00c86622d0ee0d09aca283bb9ea22c6d1759442b366b80d280c0db",
+ "origin": "reviewed-final-RAG-HT",
+ "classification": "RAG-source-candidate"
+ },
+ {
+ "path": "src/lib/rag/rag-source-bound-alcohol-summary.ts",
+ "sha256": "b0b1ac48bb3ccdfdad22b8b33f2b8dd1b0254082ce4d515034541150a27ffe17",
+ "origin": "reviewed-final-RAG-HT",
+ "classification": "RAG-source-candidate"
+ },
+ {
+ "path": "src/lib/rag/rag.ts",
+ "sha256": "f3468d56721f262df49557c10a146a6abf51ef76843af9ba351befda0f231899",
+ "origin": "reviewed-final-RAG-HT",
+ "classification": "RAG-source-candidate"
+ },
+ {
+ "path": "src/lib/registered-public-answer-options.ts",
+ "sha256": "56c00d5ba035c2aa991318685294b3fc7571ee142511e5f21140cdad36e93225",
+ "origin": "reviewed-final-RAG-HT",
+ "classification": "RAG-source-candidate"
+ },
+ {
+ "path": "src/lib/registered-published-admin-source-plan.ts",
+ "sha256": "158a18903bb6849153a3c02ed1245266f8f15c882d291ab6b384a2ed31313167",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "src/lib/supabase/server.ts",
+ "sha256": "54102045e31c30501967ebaaed192d92df5aa122f137d989984eb1c55eb912f9",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "src/lib/trusted-document-admission.ts",
+ "sha256": "7fcdc0945e0a6f36e72c52383a32d417010213bfb668e7f6d09b8fe8b213b8b1",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "src/lib/types.ts",
+ "sha256": "0e4d8b0291686308c5785660e63fe1d747e0888dd058563b20ca04aaba6bac77",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "supabase/applied-migration-hashes.json",
+ "sha256": "ba2f9bef89b8519410a71baaeb1cea6592f55df73c87cb277199977b85c9d3c1",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "supabase/drift-manifest.json",
+ "sha256": "697871882ae98328787950bfe7c4273add46691c392b0bfbdb003592328117c2",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "supabase/functions/_shared/document-ingress-safety.ts",
+ "sha256": "1191da5f4ad4fbaf5d7cafe7a9a928593796e6bb6c4723d46b75576852b8d97c",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "supabase/functions/_shared/ingestion-attempt.ts",
+ "sha256": "9a4b4bb401d3108b8f768eac5630a92fc4d07f6814b3202b5f2a7f7a3cb57498",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "supabase/functions/_shared/ingestion-provider-egress.ts",
+ "sha256": "0e07964122128227facf7cea26c4f72af83287c4846ed1ca8eb3a336b5a9003d",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "supabase/functions/_shared/public-source-policy.ts",
+ "sha256": "89e7a06950e69e1b8d0c836eb6b94148f1568c261ab9b97219f72e272928b1ff",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "supabase/functions/_shared/source-anchored-summary.ts",
+ "sha256": "a2fdb6b4f4dd6e7f3a692c822a2a9c99439d1db2c4a58a664f42cd8f253e97f2",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "supabase/functions/_shared/unavailable-ingestion-provider-egress.ts",
+ "sha256": "0ccf4285a2047d99911800aad21de1fcdf940ceb9764312c0d5abeb503ebd8a4",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "supabase/functions/indexing-v3-agent/behavior.ts",
+ "sha256": "700a44585f45bee3bb6ddd553ee6d4e8e4336f3ca94c9297135516a9e72ee3ba",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "supabase/functions/indexing-v3-agent/index.ts",
+ "sha256": "704a8f1d18038182210bbd61d3f037ad26683427b10a1884897004517588e319",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "supabase/functions/ingestion-worker/auth.ts",
+ "sha256": "1f980a289597fa5e1a023458c7ce932c1dd75722667727cd03c393d59e03af76",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "supabase/functions/ingestion-worker/index.ts",
+ "sha256": "edc6940951c170b6578ad4af271877d5bbf15db04d43bd58767876474227aba4",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "supabase/functions/ingestion-worker/retirement.ts",
+ "sha256": "578493f84378ebe46eca9e15d70990d3e1dc65352916e89daa7f5a0ab283e95a",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "supabase/migrations/20261013075944_administrator_txt_fenced_runtime_cutover.sql",
+ "sha256": "69a2ddbfe8ec8d7cc3c0066805c9381f46c8badf61746e2b0cd6f73f96afc0f5",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "supabase/migrations/20261013144347_managed_generation_quality_repair_ownership.sql",
+ "sha256": "bb9ac15d422143273797ffed6b63df2e635dd1e66628e0408a946e3c95472227",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "supabase/migrations/20261013200007_managed_native_pdf_terminal_append.sql",
+ "sha256": "e861aeb603987647eb4316d3e884a8132eb9d48728e097962cf8254e255865dd",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "supabase/schema.sql",
+ "sha256": "2006f138ddb1e30de5559319591d6d5d1996749152e44401a8f2c0a2fa93570d",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "tests/admin-reference-preparation-receipt.test.ts",
+ "sha256": "df266a313483eaa372eee104234fbd516ce0ab907ab19d4c611a15f503b27431",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/chunking-native-table-link.test.ts",
+ "sha256": "0b7597c9cdbf64a6f9531b880a7a95cd9626622fac9a9fdcd66d13a5a9fe05f3",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/document-extraction-source-fidelity.test.ts",
+ "sha256": "db14ca9eb0eb43b115dbc553c5ac67f7e4c852c1be76fbcd10f94125db741c9c",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/document-ingress-safety.test.ts",
+ "sha256": "6db0299499b76a67818517d6c2820889e9f108fabda1ae77121100c4e2081f94",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/edge-provider-egress.test.ts",
+ "sha256": "a8a56f67df587a83ef87e9ac40ac65a7bdd147d734c28ebf710b13c7f2580868",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/helpers/synthetic-ingestion-egress.ts",
+ "sha256": "09a7a683f890f54ffc4ccd75b817f99f618c11d354dd57de4d8ba7ad47dd0819",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/indexing-v3-attempt.test.ts",
+ "sha256": "6b6dd212aa922cafbf52aadf3a0dab31e87fc21e4a06b954f59df6a73ce94995",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/ingestion-generation-evidence.test.ts",
+ "sha256": "04a4e62e6d9bcb925622e3c2627c937aabc6f0bafe099ac1056ab59a4ba7d77e",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/ingestion-provider-egress.test.ts",
+ "sha256": "8c22ffea3044f9c4e650814b8d9dbef97882e0e8f25c5c5049d5e815a8b57ab2",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/original-source-applicability.test.ts",
+ "sha256": "b406712829b24bec0652e5eb88c06b6b7ccc562eb17097b82901bb10447920b7",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/pdf-source-provenance.test.ts",
+ "sha256": "1d12ec30033746c34ceb5c0057e100d5f15825d83e423151a5b2598c493da9fd",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/rag-generation-fingerprint.test.ts",
+ "sha256": "5d9f0ca5b4db871ec7e6a50b7efc88879c7fc5f99c0119654c564733b1f9deef",
+ "origin": "reviewed-final-RAG-HT",
+ "classification": "RAG-source-candidate"
+ },
+ {
+ "path": "tests/registered-published-admin-source-plan.test.ts",
+ "sha256": "6b3172573c80daddf7e265d2a59cd09e0f90187e9deb4ff04cd90ae0dd7e0476",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/text-source-provenance.test.ts",
+ "sha256": "55005acb2a3ebdd7d3ba92b27fe2d9f6c420e3e10fc9506f9eef6bfacc7745a8",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/trusted-document-admission.test.ts",
+ "sha256": "21f6b6e8cfbfef8d9fdd2f57ab53ecc81fd64f62ec1158dd23cc372ac2c6075b",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/worker-admin-source-runtime.test.ts",
+ "sha256": "013e08791a112b9fcfb93fb0b9fb79477fc26b57efd5b8d6b4f361c6668ae12b",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/worker-admin-text-inspection.test.ts",
+ "sha256": "6629e4e455d16253b3e5cc1a4597d7d39621c02722323f7cf123b5e482a75c73",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/worker-candidate-chunks.test.ts",
+ "sha256": "321680f8373332f0e9909ddf18220d4754c17f25e53f272a576ae770a97f6e31",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/worker-clamav-inspection.test.ts",
+ "sha256": "319b1f11b326de333d28efaef1d97181f83ffd3b747bd728d25bb240dd8aa0de",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/worker-generation-attempt-control.test.ts",
+ "sha256": "581b16672ebae508dbbf24d69708b9ae2687ee4b3729cea676326a8c295de61e",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/worker-generation-evidence.test.ts",
+ "sha256": "28db61e4488c8db1b11e983731e0e77fe0fad6b3e402888625c515f463e0fd43",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/worker-generation-image-retention.test.ts",
+ "sha256": "87458f4ea2696938043a35ffe8046fb54488047578cc08af3afb9ba04f8d3c18",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/worker-generation-quality-diagnostic.test.ts",
+ "sha256": "1755f9d874fc99bd62c61e33199abf12ac40d6e4ebf92265327eb83302049b2c",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/worker-ingestion-attempt.test.ts",
+ "sha256": "7ec83aad377ac9a6b181813dad98695651545c01a83a503ecbcbe1bc4efe7c61",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/worker-malware-inspection.test.ts",
+ "sha256": "78eb4d7b045aaca1df4aa4f25bcaea759a1d8d419af4dc60b33c02a0dda12abe",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/worker-managed-admin-text-terminal.test.ts",
+ "sha256": "c472366f6ae89b599118bc2f8250c10e464b6305b91cb40dfea0fad365b91044",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/worker-managed-local-memory-producer.test.ts",
+ "sha256": "14212045cb6862e052f15bd71e21911f647ed999cf9452a46b980a898670be99",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/worker-managed-native-parent-closure.test.ts",
+ "sha256": "1c0089378bb2a232f10f7381cb52fd9de7d05c1d9f9ed66803b85ad339ca718c",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/worker-managed-prepared-supplier.test.ts",
+ "sha256": "95069b422d7f9aaf0bf7514fc75d937fcc13a0af24a1699d724034c1a2d74076",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/worker-managed-private-terminal.test.ts",
+ "sha256": "3caf0b2d9df381b1e018e182920b1ab2fbdc3dd7cc48d80aa4878ab3d2aef1ef",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/worker-managed-provider-vectors.test.ts",
+ "sha256": "8a3805bd616611a538d416db8609894c7f60172c9538e5b8c0ebe0d3dc8285db",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/worker-managed-vector-final.test.ts",
+ "sha256": "d6f4b58722f8d6a888c94414334b2a5086f1399ffd0dbfe73e14a75d702bca09",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/worker-original-witness-readback.test.ts",
+ "sha256": "2db4194cbdd6c27a5d6e571615fba983702fb99581e68a0638783ba3de7b54ec",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/worker-page-serialization.test.ts",
+ "sha256": "da03ad0bae6f67d9443597e48900861ae97f9538b4ed49716d032918784bb76b",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/worker-provider-authority-read.test.ts",
+ "sha256": "c6281d8ef63f232e5812f195955841fbee2bfcb3ce11f06579bed98e1d31214f",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/worker-published-admin-source-layout.test.ts",
+ "sha256": "fd22e7dd4c89a61883dd07fb348a0a10aa070fbd4b3f5f8e836bb89c6d211bd6",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/worker-run-loop.test.ts",
+ "sha256": "e96ceb54ec8da4c38da54318bb61dcdef999115311da010586dee7aa56cebc31",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/worker-whole-original-supplier.test.ts",
+ "sha256": "807e39a8b16e095fe47e768efac80cb24c4d48f73297b98d9da88dfafd24d538",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "tests/xlsx-source-provenance.test.ts",
+ "sha256": "0ca3888fffdb2cc6469d19f0e375efd027d65f02dac2d2465ac984063639fdc5",
+ "origin": "preserved-R",
+ "classification": "portable-legacy-test-candidate"
+ },
+ {
+ "path": "worker/admin-source-runtime.ts",
+ "sha256": "445a14d3b88cf2dc14082a2f87e781c042490557abb090dd0f572818b11e8898",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "worker/admin-text-inspection.ts",
+ "sha256": "74342474f7d2f8b0520553cf56a74ff6f11111e38cce64374d7ecab954e21ce4",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "worker/behavior.ts",
+ "sha256": "ec423360f9a3673fd4d93169881da89853f27b97de9c789b73b6bb8fb9ea3ddc",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "worker/candidate-chunks.ts",
+ "sha256": "3f6d1e9425ccf055d07c43be866961c40cb52b80a28ff8ac111f97b583556a85",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "worker/clamav-inspection.ts",
+ "sha256": "51607208bc6ef9cf1b126a5853b3f4ae7f1fa7da5a421721ec6e8112864186fb",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "worker/generation-evidence.ts",
+ "sha256": "2ff765721856650398cecbc932ef3fabda3290b219fbe6d3e7942bc2bfd77df3",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "worker/index.ts",
+ "sha256": "1345a74aa687f60806a73cea32d0f95768799e60119b894f4e8a25eeafcf3542",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "worker/main.ts",
+ "sha256": "1788f4982501e8a1a7d0a523eacbefd28d5bc8122467024782f418aad472757c",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "worker/malware-inspection.ts",
+ "sha256": "1e01330609575266860c0ea002b5d8c6d5191308f5c06a056cd81f30c719542a",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "worker/managed-admin-pdf-terminal.ts",
+ "sha256": "187ac7cce1d4ec444ea00892104ba9bf7d517ee00660cc7fd0614d4e21712140",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "worker/managed-admin-text-terminal.ts",
+ "sha256": "e50661b6cd387f14d8384d5d06efa64041c8ba52835628412c0967e425a8acc6",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "worker/managed-local-memory-producer.ts",
+ "sha256": "fbc291d662699084e4dd0fe7e73dc1dc0d61473fa6aaf7a3987af8fbd1c59a65",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "worker/managed-native-parent-closure.ts",
+ "sha256": "a3140a4bab007e3573d3b7a5c7be73f2761476cc26be5cee6c3cbf52c0a223b6",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "worker/managed-prepared-supplier.ts",
+ "sha256": "0fe197bd8856bfa251e7aa426332504f3d239e8742f65211692c3e48dd7d6999",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "worker/managed-private-terminal.ts",
+ "sha256": "58e59015ddfccc8717b803c95338e675f6dc4a85f97909da333eba5dd0683aec",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "worker/managed-provider-vectors.ts",
+ "sha256": "b540fb6805902e1902412bdf7eb6e5c931ce215db17703110316974230809284",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "worker/managed-vector-final.ts",
+ "sha256": "782e3950058fbec776baa889b01602672a28558d3d4c6eb41ac9e772a555a233",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "worker/original-witness-readback.ts",
+ "sha256": "6dda63053ced2e905f35f6b0bb29c24d9092fdbcbcb5f603e7538b068599b7b3",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "worker/provider-egress.ts",
+ "sha256": "f7d1b86bc6d0d378dd55b97ef2a1ed66aff1a06fb680f9810f30824653d5191f",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "worker/published-admin-source-layout-contract.ts",
+ "sha256": "3e354a9343da79460e12135096dee358abd64619e17efd8d9b524f3eb709720b",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "worker/published-admin-source-layout.ts",
+ "sha256": "b507a1fc8f7917c8986214b7dde8bd71c90a732ef13a0ab8948c13e922f1087e",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "worker/python/extract_pdf_assets.py",
+ "sha256": "6449d8556cf61a25e6dc0e5655dfe9fabdbcd2d75e21b246ff51a9fdbc832f5c",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "worker/row-contracts.ts",
+ "sha256": "fe19bf3b581437f40145760eccce92a8bf4b04cfaf34ff0c507e115e71b20402",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "worker/scoped-candidate-projection.ts",
+ "sha256": "afb9aed96630d7aa885b24bb12be424f51caa67a751a29b518ddd2ca239831c7",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "worker/types.ts",
+ "sha256": "e96a0ca0115b91311ba7cfee507885ff103c958b1bb5d9643e83f6b864157359",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ },
+ {
+ "path": "worker/whole-original-supplier.ts",
+ "sha256": "a486c5aa9cd720f933dca407c0aecbe31667181e0365aae5d56c4fb0b476ddcc",
+ "origin": "final-HT",
+ "classification": "adopt-final-artifact-owned"
+ }
+ ],
+ "knownCachedMainConflicts": [
+ "src/app/api/upload/route.ts",
+ "supabase/applied-migration-hashes.json",
+ "supabase/drift-manifest.json",
+ "supabase/schema.sql",
+ "worker/main.ts"
+ ],
+ "proofState": "Exact source byte identity; recovered test compatibility not executed"
+}
diff --git a/scripts/build-worker.mjs b/scripts/build-worker.mjs
index cd14f05e99..8e03287feb 100644
--- a/scripts/build-worker.mjs
+++ b/scripts/build-worker.mjs
@@ -19,9 +19,12 @@
* extension is what marks the bundle as ESM.
*/
import { writeFileSync } from "node:fs";
+import { createRequire } from "node:module";
import { isDirectEntrypoint } from "./lib/is-entrypoint.mjs";
import { build } from "esbuild";
+const require = createRequire(import.meta.url);
+
/**
* Shared with tests/worker-bundle.test.ts, which resolve-checks externals.
* @type {import("esbuild").BuildOptions}
@@ -38,6 +41,10 @@ export const workerBuildOptions = {
logLevel: "info",
alias: {
"server-only": "./tests/stubs/server-only.ts",
+ // This decoder is build-only in the locked tree. Bundle its pure JS rather
+ // than leaving imports that production npm ci --omit=dev cannot resolve.
+ entities: require.resolve("entities"),
+ "entities/decode": require.resolve("entities/decode"),
// next's package.json has no `exports` map, so Node's ESM resolver needs
// the explicit file: `import "next/server"` boots under tsx/Turbopack but
// throws ERR_MODULE_NOT_FOUND under plain `node`. src/lib/http.ts pulls
diff --git a/src/app/admin/pilot/page.tsx b/src/app/admin/pilot/page.tsx
new file mode 100644
index 0000000000..502fd67c1a
--- /dev/null
+++ b/src/app/admin/pilot/page.tsx
@@ -0,0 +1,20 @@
+import { notFound } from "next/navigation";
+import { createSupabaseServerClient, publicSupabaseConfig } from "@/lib/supabase/server";
+import { isAdministratorUser } from "@/lib/authorization";
+import AdminPilot from "./pilot-client";
+
+export const dynamic = "force-dynamic";
+
+export default async function AdminPilotPage() {
+ const client = await createSupabaseServerClient();
+ if (!client) notFound();
+ const { data, error } = await client.auth.getUser();
+ if (error || !isAdministratorUser(data.user)) notFound();
+ const config = publicSupabaseConfig();
+ if (!config) notFound();
+ return
+
Administrator NHMRC source pilot
+
Verify your authenticator, then choose the approved NHMRC summary TXT or reviewed four-page native PDF. Each source needs its own admission and operator readback. Worker activation and publication remain separate operator steps.
+
+ ;
+}
diff --git a/src/app/admin/pilot/pilot-client.tsx b/src/app/admin/pilot/pilot-client.tsx
new file mode 100644
index 0000000000..7dcd8df78d
--- /dev/null
+++ b/src/app/admin/pilot/pilot-client.tsx
@@ -0,0 +1,169 @@
+"use client";
+import { useEffect, useMemo, useRef, useState, type FormEvent } from "react";
+import { browserSupabaseClientFor } from "@/lib/supabase/browser-client";
+
+type ApprovedSourceKind = "txt" | "pdf";
+
+const approvedSources = {
+ txt: {
+ label: "Approved NHMRC summary TXT",
+ fileLabel: "Approved summary TXT",
+ fileHint: "Choose the approved 7,437-byte NHMRC summary TXT.",
+ accept: ".txt,text/plain",
+ mimeType: "text/plain",
+ byteLength: 7437,
+ sha256: "22f4c1ab15dc61769461e3d27ec9427343d95878799e35896feb3cf9288f4e11",
+ title: "NHMRC Australian alcohol guidelines — approved summary TXT",
+ description: "Licensed NHMRC summary; controlled owner-private administrator TXT pilot.",
+ explanation: "NHMRC summary, 7,437 bytes, CC BY 4.0 evidence. Text only; owner-private administrator ingestion and embedding. Publication needs a separate decision.",
+ },
+ pdf: {
+ label: "Reviewed NHMRC four-page native PDF",
+ fileLabel: "Reviewed four-page native PDF",
+ fileHint: "Choose selected-original-pages-9-10-11-62.pdf (2,211,561 bytes).",
+ fileName: "selected-original-pages-9-10-11-62.pdf",
+ accept: ".pdf,application/pdf",
+ mimeType: "application/pdf",
+ byteLength: 2211561,
+ sha256: "abbc8107a09582e18f36bf4905c75f1fc78af70cd516851b89bff8919ca5bece",
+ title: "NHMRC Australian alcohol guidelines — selected four-page native PDF",
+ description: "Four-page derivative of NHMRC Australian Guidelines to Reduce Health Risks from Drinking Alcohol (DS14, 2020): child pages 1–4 map to original physical pages 9, 10, 11, 62 (printed 4, 5, 6, 57). CC BY 4.0 NHMRC-owned content only; Commonwealth Coat of Arms, NHMRC logo, identified third-party content and separately copyrighted images are excluded. Controlled owner-private administrator PDF pilot; no clinical or publication approval.",
+ explanation: "Selected original PDF pages only: physical 9, 10, 11 and 62 (printed 4, 5, 6 and 57). Four-page derivative, 2,211,561 bytes. Owner-private ingestion only; no whole-document, OCR, clinical or publication approval. The CC BY 4.0 licence excludes the Coat of Arms, NHMRC logo, identified third-party material and separately copyrighted images.",
+ },
+} as const;
+const authority = {
+ version: 1, sourceRole: "clinical_guideline", authorityBasis: "administrator_template",
+ licencePolicy: "public_index_permitted",
+ rightsEvidenceRef: "summary-source-evidence.json#sha256:cc270f77bb29eb684ac52080a8cb261c50027a43689e1696470373ef354582c0",
+ publisher: "National Health and Medical Research Council", jurisdiction: "Australia",
+ publicationDate: null, effectiveDate: null, reviewDate: null, expiryDate: null,
+ currentness: "current", supersedesDocumentId: null, purpose: "clinical_retrieval",
+ supportedFeatures: ["text"], providerProcessing: "permitted",
+};
+const pdfAuthority = {
+ ...authority,
+ rightsEvidenceRef: "pdfLicenceEvidence.json#sha256:59a7b03820d50bce6060aac1b76b352fd68a26643064be0e06c89788969fcfea",
+};
+
+export default function AdminPilot({ url, publishableKey }: { url: string; publishableKey: string }) {
+ const client = useMemo(() => browserSupabaseClientFor(url, publishableKey), [url, publishableKey]);
+ const [factors, setFactors] = useState<{ id: string; name: string }[]>([]);
+ const [factorId, setFactorId] = useState("");
+ const [factorsReadState, setFactorsReadState] = useState<"pending" | "success" | "error">("pending");
+ const [qr, setQr] = useState("");
+ const [code, setCode] = useState("");
+ const [verifiedAt, setVerifiedAt] = useState(0);
+ const [busy, setBusy] = useState(false);
+ const [message, setMessage] = useState("");
+ const [sourceKind, setSourceKind] = useState("pdf");
+ const [admitted, setAdmitted] = useState>({ txt: false, pdf: false });
+ const correlation = useRef>>({});
+
+ useEffect(() => {
+ let active = true;
+ void client.auth.mfa.listFactors().then(({ data, error }) => {
+ if (!active) return;
+ if (error) { setFactorsReadState("error"); setMessage("Authenticator factors could not be read. Sign in again."); return; }
+ const verified = data.totp.filter(f => f.status === "verified").map(f => ({ id: f.id, name: f.friendly_name || "Authenticator" }));
+ setFactors(verified); setFactorId(verified[0]?.id ?? ""); setFactorsReadState("success");
+ }).catch(() => { if (active) { setFactorsReadState("error"); setMessage("Authenticator factors could not be read. Sign in again."); } });
+ return () => { active = false; };
+ }, [client]);
+
+ async function enroll() {
+ if (busy || factorsReadState !== "success") return;
+ setBusy(true);
+ try {
+ const { data, error } = await client.auth.mfa.enroll({ factorType: "totp", friendlyName: "Administrator pilot authenticator" });
+ if (error || !data) { setMessage("Authenticator enrollment failed. No upload was attempted."); return; }
+ setFactorId(data.id); setQr(data.totp.qr_code); setVerifiedAt(0);
+ setMessage("Scan this QR code in your own authenticator app. Do not share or screenshot it. Then enter the six-digit code.");
+ } catch { setMessage("Authenticator enrollment could not complete."); }
+ finally { setBusy(false); }
+ }
+
+ async function verify(event: FormEvent) {
+ event.preventDefault(); if (busy || factorsReadState !== "success" || !factorId || !/^\d{6}$/.test(code)) return;
+ setBusy(true);
+ try {
+ const challenge = await client.auth.mfa.challenge({ factorId });
+ if (challenge.error || !challenge.data) { setMessage("Authenticator challenge failed. Try again manually."); return; }
+ const result = await client.auth.mfa.verify({ factorId, challengeId: challenge.data.id, code });
+ if (result.error) { setMessage("Code not accepted. Enter a current code from your authenticator."); return; }
+ const assurance = await client.auth.mfa.getAuthenticatorAssuranceLevel();
+ if (assurance.error || assurance.data?.currentLevel !== "aal2") { setMessage("Your session has not reached the required assurance level."); return; }
+ setQr(""); setVerifiedAt(Date.now());
+ setMessage("Authenticator verified. This may sign out other sessions. The upload server checks actual assurance and recent authentication again.");
+ } catch { setMessage("Authenticator verification could not complete."); }
+ finally { setCode(""); setBusy(false); }
+ }
+
+ async function upload(event: FormEvent) {
+ event.preventDefault(); if (busy || admitted[sourceKind]) return;
+ const fields = new FormData(event.currentTarget);
+ const source = approvedSources[sourceKind];
+ setBusy(true);
+ try {
+ if (!verifiedAt || Date.now() - verifiedAt > 15 * 60_000) { setVerifiedAt(0); setMessage("Verify your authenticator again before uploading."); return; }
+ const file = fields.get("file");
+ if (!(file instanceof File) || file.size !== source.byteLength ||
+ (sourceKind === "txt" ? !file.name.toLowerCase().endsWith(".txt") : file.name !== approvedSources.pdf.fileName)) {
+ setMessage(source.fileHint); return;
+ }
+ const hash = Array.from(new Uint8Array(await crypto.subtle.digest("SHA-256", await file.arrayBuffer()))).map(b => b.toString(16).padStart(2, "0")).join("");
+ if (hash !== source.sha256) { setMessage("The file differs from the approved source. Upload stopped."); return; }
+ if (fields.get("decision") !== "confirmed") { setMessage("Confirm the operator-approved authority and owner-private pilot purpose."); return; }
+ const { data, error } = await client.auth.getSession();
+ if (error || !data.session) { setMessage("Sign in and verify again."); return; }
+ const payload = new FormData();
+ payload.set("file", new File([file], file.name, { type: source.mimeType }));
+ payload.set("title", source.title);
+ payload.set("description", source.description);
+ payload.set("authority", JSON.stringify(sourceKind === "pdf" ? pdfAuthority : authority));
+ const correlationId = correlation.current[sourceKind] ?? crypto.randomUUID();
+ correlation.current[sourceKind] = correlationId;
+ const response = await fetch("/api/upload", { method: "POST", credentials: "same-origin", headers: { Authorization: `Bearer ${data.session.access_token}`, "Idempotency-Key": correlationId }, body: payload });
+ const result = await response.json().catch(() => null);
+ if (!response.ok) { setMessage(`Upload refused (HTTP ${response.status}). Worker activation stays stopped; confirm the operator decision and session before retrying.`); return; }
+ if (result?.duplicate) {
+ setAdmitted(current => ({ ...current, [sourceKind]: true }));
+ setMessage("This exact source is already stored for this owner; no new job was queued. Ask the operator to read back its existing state.");
+ return;
+ }
+ if (!result?.document?.id || !result?.job?.id) { setMessage("No new job confirmed. Ask the operator to read back the admission before worker activation."); return; }
+ setAdmitted(current => ({ ...current, [sourceKind]: true }));
+ setMessage(`Admitted document ${result.document.id}; job ${result.job.id}. Operator readback and finite permission are still required before running the worker once.`);
+ } catch { setMessage("Upload outcome uncertain. Ask the operator to read back this admission before retrying or starting the worker."); }
+ finally { setBusy(false); }
+ }
+
+ return