Skip to content
Merged
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
2 changes: 2 additions & 0 deletions docs/sandbox-operational-handoff-plan.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Sandbox Operational Handoff Plan

> **Superseded:** the frontend `/sandbox` route (and `/sandbox/results/[id]`) was deleted in #3557; the upload flow is `/ingest` (sign-in required).

Branch: `codex/sandbox-operational-handoff`

## Goal
Expand Down
9 changes: 6 additions & 3 deletions frontend/COPY_REMEDIATION_PLAN.md
Original file line number Diff line number Diff line change
Expand Up @@ -218,8 +218,11 @@ Pure copy deletions/rewrites, one pass:
label the portal sandbox-only.

### PR-8 — Dead CTAs and dead-ends (~half day) [Tier3]
- `/#sandbox` → `/sandbox` (7 links: demo:237, compare×3, fsma-204/[cte]:497,
SharedSandboxResult:107,341).
- `/#sandbox` links (demo:237, compare×3, fsma-204/[cte]:497): the `/sandbox`
route and SharedSandboxResult were deleted in #3557. The CSV upload flow is
`/ingest`, which requires sign-in (it is in `AUTHENTICATED_APP_ROUTE_PREFIXES`,
`src/lib/app-routes.ts`). For anonymous marketing CTAs, use the public
`/tools/drill-simulator` or `/signup`; link `/ingest` only where sign-in is expected.
- Wire or remove each dead button: kde-checker Print/CSV Template/Explore
(wire Print to `window.print()`, CSV to a real template file, else
remove); sop-generator Download PDF/Print; tlc-validator Schedule a Demo
Expand Down Expand Up @@ -319,7 +322,7 @@ high-signal per its own guidance):
`FSMA 204 Compliant`, `Tamper-proof`, `tamper-proof`, `Create Password`,
`/#sandbox`, `we have identified`, `uptime_percent`, `rge_test_` (docs
only), `Coming in v1.1`, `§ 1.1330` (scoped to ingest viewer), `dashboard_user`.
Add `/sandbox` to the critical-route allowlist. Re-run in CI (already
Re-run in CI (already
wired). Note in PROMISE_AUDIT.md that COPY_AUDIT.md is the judgment-level
companion.

Expand Down
5 changes: 3 additions & 2 deletions frontend/PAGE_AUDIT.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,11 +77,12 @@ the link graph goes quiet before the pages are removed.
## Candidates for future archival
Still reachable but low-usage. Keep for now, revisit if we prune:
- `/portal/[portalId]` — supplier portal entry point
- `/sandbox/results/[id]` — sandbox analysis result share

Resolved since the last audit: `/owner/*` (the unwired billing/contracts
suite) has been deleted, and its prefix removed from
`src/lib/app-routes.ts`.
`src/lib/app-routes.ts`. `/sandbox` and `/sandbox/results/[id]` were deleted
in #3557; CSV upload lives at `/ingest`, which requires sign-in (public
alternative: `/tools/drill-simulator`).

## Route map quick stats
- Total page routes: 163 (including dynamic `[param]` variants)
Expand Down
12 changes: 6 additions & 6 deletions frontend/tests/visual/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,13 +92,13 @@ Snapshot stems (`home`, `about`, `blog__<slug>`, …) match the designer's

## Expected findings (known on day one)

- `/demo` and `/sandbox` are classified `expectRedirectOr404`, but both
currently return 200 (`src/app/demo/page.tsx` renders the synthetic demo;
`/sandbox` renders UI or a disabled notice depending on
`isSandboxEnabled()`). Those assertions flag until the routes are retired
or reclassified to `public`. `/alpha` genuinely redirects to `/contact`.
- `/demo` and `/sandbox` are classified `expectRedirectOr404`. `/demo` still
returns 200 (`src/app/demo/page.tsx` renders the synthetic demo), so its
assertion flags until the route is retired or reclassified to `public`.
`/sandbox` was deleted in #3557 (no `src/app/sandbox/` remains), so it is
expected to 404. `/alpha` genuinely redirects to `/contact`.
- The content word bans (`demo`, `sandbox`, `sample`, …) will flag current
production copy (e.g. sandbox CTAs, "interactive demo" links). That is the
production copy (e.g. "interactive demo" links). That is the
point: the report inventories every occurrence for the copy cleanup.

## Baselines
Expand Down
6 changes: 3 additions & 3 deletions frontend/tests/visual/ROUTE_CROSSCHECK.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,11 @@ the source list.

## Coverage statement

`routes.json` covers all 155 source-list routes plus `/`:
`routes.json` covers all 155 source-list routes plus `/`, minus `/sandbox/results/[id]` (deleted in #3557):

- `public`: 78 (designer crawl minus the 3 deliberate exclusions; was 82 before reconciliation — see below)
- `authOnly`: 58
- `skippedDynamic`: 5 (`/fsma-204/[cte]`, `/ingest/results/[id]`, `/portal/[portalId]`, `/requests/[id]`, `/sandbox/results/[id]`)
- `skippedDynamic`: 4 (`/fsma-204/[cte]`, `/ingest/results/[id]`, `/portal/[portalId]`, `/requests/[id]`; `/sandbox/results/[id]` was removed when #3557 deleted it)
- `expectRedirectOr404`: 14 (was 10 before reconciliation)
- excluded entirely: `/auth/sso/mock` (mock SSO fixture; reason in `excludedReason`, visited by no spec)

Expand All @@ -53,7 +53,7 @@ params, so every non-dynamic route was crawled exactly once, including
|---|---|---|
| `/auth/sso/mock` | Crawled 200 | Excluded entirely (unchanged): mock SSO fixture page (`CHROMELESS_EXACT_ROUTES`). Never screenshotted or visited by monitoring, regardless of status. |
| `/demo` | Crawled 200 | Stays in `expectRedirectOr404` (unchanged): demo surface. The crawl independently confirms the OBSERVED 200 noted in `routes.json`; the assertion flags until the route is retired or reclassified to `public`. |
| `/sandbox` | Crawled 200 | Stays in `expectRedirectOr404` (unchanged): demo surface, flag-gated by `isSandboxEnabled()`. Same as `/demo`: flags until retired or reclassified. |
| `/sandbox` | Crawled 200 (before #3557) | Stays in `expectRedirectOr404`. The route was deleted in #3557 (no `src/app/sandbox/`), so it is now expected to 404 and the assertion should pass. |

### In our `public`, not in the designer list (4) — adopted, moved to `expectRedirectOr404`

Expand Down
2 changes: 1 addition & 1 deletion frontend/tests/visual/routes.json

Large diffs are not rendered by default.

Loading