Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 0 additions & 15 deletions .cursorindexingignore
Original file line number Diff line number Diff line change
Expand Up @@ -32,21 +32,6 @@ public/therapy-compass-data/
docs/branch-review-ledger.md
docs/archive/

# Design-scratch mockup routes/components — keep out of @Codebase discovery.
# Do not use a repo-wide *mockup* glob: tests/env-mockups-gate and
# tests/production-mockup-boundary must stay indexed.
src/app/mockups/
mockups/
# note: src/components/calculators/ is production (promoted from mockups) — keep indexed
src/components/favourites-page-mockups/
src/components/settings-search-mockups/
src/components/tools-page-mockups/
src/components/*mockups.tsx
src/components/clinical-dashboard/global-mockup-search-shell.tsx

# One-off Codex review prompt dumps (not product code)
codex-cloud-review/

# Generated schema-drift inventory (large JSON)
supabase/drift-manifest.json

Expand Down
32 changes: 6 additions & 26 deletions docs/branch-review-ledger.md

Large diffs are not rendered by default.

47 changes: 23 additions & 24 deletions docs/codebase-index.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,30 +50,29 @@ Structured map for AI agents and onboarding. For live routes, see `docs/site-map

### Product pages (`src/app/`)

| Route | File |
| --------------------------------------------------------------------------------------------------------- | ------------------------------------------- |
| `/` | `src/app/(search-app)/page.tsx` |
| Shared mode-home route group (`/(search-app)`) | `src/app/(search-app)/` |
| Mode homes (`/services`, `/dsm`, `/documents/…`, …) | `src/app/(search-app)/` shared shell group |
| `/applications` | `src/app/applications/route.ts` |
| `/differentials`, `/diagnoses`, `/presentations` | `src/app/(search-app)/differentials/` |
| `/dsm`, `/dsm/search`, `/dsm/compare`, `/dsm/diagnoses/[slug]` | `src/app/(search-app)/dsm/` |
| `/documents/search`, `/source`, `/evidence`, `/[id]` | `src/app/(search-app)/documents/` |
| `/factsheets`, `/factsheets/search`, `/factsheets/[slug]` | `src/app/(search-app)/factsheets/` |
| `/favourites` | `src/app/(search-app)/favourites/page.tsx` |
| `/forms`, `/forms/[slug]` | `src/app/(search-app)/forms/` |
| `/medications`, `/medications/[slug]` | `src/app/(search-app)/medications/` |
| `/privacy` | `src/app/privacy/page.tsx` |
| `/reference/colour-coding` | `src/app/reference/` |
| `/safety-plan` | `src/app/safety-plan/page.tsx` |
| `/calculators` | `src/app/(search-app)/calculators/page.tsx` |
| `/services`, `/services/[slug]` | `src/app/(search-app)/services/` |
| `/therapy-compass` | `src/app/(search-app)/therapy-compass/` |
| `/tools` | `src/app/(search-app)/tools/` |
| `/specifiers`, `/specifiers/[slug]`, `/specifiers/builder`, `/specifiers/compare`, `/specifiers/map` | `src/app/(search-app)/specifiers/` |
| `/formulation`, `/formulation/[slug]`, `/formulation/builder`, `/formulation/compare`, `/formulation/map` | `src/app/(search-app)/formulation/` |
| `/mockups/*` | `src/app/mockups/` (404 in production) |
| `/auth/callback` | `src/app/auth/callback/route.ts` |
| Route | File |
| --------------------------------------------------------------------------------------------------------- | ------------------------------------------ |
| `/` | `src/app/(search-app)/page.tsx` |
| Shared mode-home route group (`/(search-app)`) | `src/app/(search-app)/` |
| Mode homes (`/services`, `/dsm`, `/documents/…`, …) | `src/app/(search-app)/` shared shell group |
| `/applications` | `src/app/applications/route.ts` |
| `/differentials`, `/diagnoses`, `/presentations` | `src/app/(search-app)/differentials/` |
| `/dsm`, `/dsm/search`, `/dsm/compare`, `/dsm/diagnoses/[slug]` | `src/app/(search-app)/dsm/` |
| `/documents/search`, `/source`, `/evidence`, `/[id]` | `src/app/(search-app)/documents/` |
| `/factsheets`, `/factsheets/search`, `/factsheets/[slug]` | `src/app/(search-app)/factsheets/` |
| `/favourites` | `src/app/(search-app)/favourites/page.tsx` |
| `/forms`, `/forms/[slug]` | `src/app/(search-app)/forms/` |
| `/medications`, `/medications/[slug]` | `src/app/(search-app)/medications/` |
| `/privacy` | `src/app/privacy/page.tsx` |
| `/reference/colour-coding` | `src/app/reference/` |
| `/safety-plan` | `src/app/safety-plan/page.tsx` |
| `/services`, `/services/[slug]` | `src/app/(search-app)/services/` |
| `/therapy-compass` | `src/app/(search-app)/therapy-compass/` |
| `/tools` | `src/app/(search-app)/tools/` |
| `/specifiers`, `/specifiers/[slug]`, `/specifiers/builder`, `/specifiers/compare`, `/specifiers/map` | `src/app/(search-app)/specifiers/` |
| `/formulation`, `/formulation/[slug]`, `/formulation/builder`, `/formulation/compare`, `/formulation/map` | `src/app/(search-app)/formulation/` |
| `/mockups/*` | `src/app/mockups/` (404 in production) |
| `/auth/callback` | `src/app/auth/callback/route.ts` |

### API routes (`src/app/api/`)

Expand Down
16 changes: 8 additions & 8 deletions docs/operator-backlog.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,14 @@ Findings inventory for handover: [audit-handover-2026-07-14.md](audit-handover-2
Each environment gets **separate** service-role + OpenAI keys (per-env blast radius). Placement is a
dashboard/CLI action, never committed.

| Secret / config | Status | Where | Notes |
| ------------------------------------------ | ---------- | ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Local fillable HMAC/probe secrets | ✅ local | `.env.local` (gitignored) | Use `npm run check:local-presence` / `--fill` for distinct local `OPENAI_SAFETY_IDENTIFIER_SECRET`, `RAG_QUERY_HASH_SECRET`, and `HEALTH_DEEP_PROBE_SECRET`. Never commit values. Hosted stores are separate. |
| `RAG_QUERY_HASH_SECRET` (prod) | 🔎 verify | Railway runtime secret | GitHub repo secret present since 2026-07-10 (CI green); confirm the SAME value is set in Railway runtime. PIA-2 fail-closed guard requires it at boot (min 16 chars) |
| `HEALTH_DEEP_PROBE_SECRET` (prod + GitHub) | ⚠️ partial | Railway runtime + GitHub repo secret | Railway production was set and the authorized deep probe returned healthy on 2026-07-19. GitHub remains pending: set the same value as a repo secret, set `PROD_HEALTH_URL`, then enable the ops-digest schedule. Cloud Agent re-probe 2026-07-26 blocked (GitHub secrets/vars 403; no Railway CLI/token; Railway MCP unavailable). |
| `SUPABASE_SERVICE_ROLE_KEY` (per env) | ⏳ pending | Railway runtime secret | accepts the `sb_secret_…` key |
| `OPENAI_API_KEY` (per env) | ⏳ pending | Railway runtime secret | `RAG_PROVIDER_MODE=auto` |
| OpenAI DPA / ZDR execution | ⏳ pending | OpenAI account + legal | app endpoints are ZDR-eligible; execution is operator + legal — see [openai-cross-border-basis.md](openai-cross-border-basis.md) |
| Secret / config | Status | Where | Notes |
| ------------------------------------------ | ---------- | ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Local fillable HMAC/probe secrets | ✅ local | `.env.local` (gitignored) | Use `npm run check:local-presence` / `--fill` for distinct local `OPENAI_SAFETY_IDENTIFIER_SECRET`, `RAG_QUERY_HASH_SECRET`, and `HEALTH_DEEP_PROBE_SECRET`. Never commit values. Hosted stores are separate. |
| `RAG_QUERY_HASH_SECRET` (prod) | 🔎 verify | Railway runtime secret | GitHub repo secret present since 2026-07-10 (CI green); confirm the SAME value is set in Railway runtime. PIA-2 fail-closed guard requires it at boot (min 16 chars) |
| `HEALTH_DEEP_PROBE_SECRET` (prod + GitHub) | ⚠️ partial | Railway runtime + GitHub repo secret | Railway production was set and the authorized deep probe returned healthy on 2026-07-19. GitHub remains pending: set the same value as a repo secret, set `PROD_HEALTH_URL`, then enable the ops-digest schedule. |
| `SUPABASE_SERVICE_ROLE_KEY` (per env) | ⏳ pending | Railway runtime secret | accepts the `sb_secret_…` key |
| `OPENAI_API_KEY` (per env) | ⏳ pending | Railway runtime secret | `RAG_PROVIDER_MODE=auto` |
| OpenAI DPA / ZDR execution | ⏳ pending | OpenAI account + legal | app endpoints are ZDR-eligible; execution is operator + legal — see [openai-cross-border-basis.md](openai-cross-border-basis.md) |

## Disaster-recovery re-creation (does NOT survive a schema restore)

Expand Down
Loading
Loading