From 67e844ec8474ff1b4d4e5781fc76fe3f3e5c369a Mon Sep 17 00:00:00 2001 From: fred Date: Wed, 26 Aug 2026 17:27:12 -0500 Subject: [PATCH 1/3] chore: drop dead NEXT_PUBLIC_GATEWAY_URL; refresh Phase P increment status MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit .env.example: NEXT_PUBLIC_GATEWAY_URL has zero consumers anywhere in apps/, packages/, or plugins/ — the SPA is origin-relative by design and the legacy Next tree never reads it. Remove the whole stale Web App section so new deployments stop configuring a dead variable. PHASE-P-STRUCTURE.md: increment map was stale — P3 is merged (PR #1151, repair PR #1154) and P4 is in progress (P4-1 read-only projects + tasks merged, PR #1153). Re-verify the doc against next head 3bd490c0; add the P4-1 pages to the tree listing. Blocker #1145 remains open and the P5/P6 rows are unchanged. webui-audit S1 hygiene items (lane REPORT.md). --- .env.example | 5 ----- docs/webui/PHASE-P-STRUCTURE.md | 11 ++++++----- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/.env.example b/.env.example index 440d185e..e2b6fa9e 100644 --- a/.env.example +++ b/.env.example @@ -40,11 +40,6 @@ BETTER_AUTH_SECRET=change-me-to-a-random-32-char-string BETTER_AUTH_URL=http://localhost:14242 -# ─── Web App (Next.js) ─────────────────────────────────────────────────────── -# Public gateway URL — accessible from the browser, not just the server. -NEXT_PUBLIC_GATEWAY_URL=http://localhost:14242 - - # ─── OpenTelemetry ─────────────────────────────────────────────────────────── # OTLP HTTP endpoint (otel-collector or any OpenTelemetry-compatible backend) OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318 diff --git a/docs/webui/PHASE-P-STRUCTURE.md b/docs/webui/PHASE-P-STRUCTURE.md index 176f9517..d54faed4 100644 --- a/docs/webui/PHASE-P-STRUCTURE.md +++ b/docs/webui/PHASE-P-STRUCTURE.md @@ -1,7 +1,7 @@ # WebUI Phase P — File / Folder Structure & Migration Map -> **Status:** living document — first pass. Structure and increment status are verified against -> `next` as of merge `8c27024d`. Details (per-surface component inventories, exact route tables, +> **Status:** living document. Structure and increment status are verified against `next` as of +> merge `3bd490c0` (2026-08-26). Details (per-surface component inventories, exact route tables, > test matrices) are still being fleshed out; extend the stub sections below rather than rewriting > the verified structure. @@ -29,7 +29,8 @@ apps/web/ ├── routes.tsx # ── SPA React Router route table ├── spa/ # ── NEW SPA surfaces │ ├── guards.tsx # guest / authenticated route guards - │ ├── pages/ # login, register, sso-callback (P2); chat + error boundary (P3) + │ ├── pages/ # login, register, sso-callback (P2); chat + error boundary (P3); + │ │ # projects, project-detail, tasks (P4-1) │ └── chat/ # P3 typed chat: use-chat-connection, commands-panel, │ # session-panel, message-transcript, tool-call-list, composer │ @@ -84,8 +85,8 @@ build path is retired. | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- | ------------------------- | | **P1** | Vite + React Router skeleton beside Next (entry, router, guards, vitest) | `feat/webui-p1-vite-skeleton` | ✅ merged — PR **#1143** | | **P2** | SPA data layer + same-origin auth (login/register/SSO pages, guards, relative api/socket/auth-client) | `feat/webui-p2-data-auth` | ✅ merged — PR **#1144** | -| **P3** | Typed SPA **chat** (`spa/chat/*`, `chat-contract.ts`, chat page + error boundary) | `feat/webui-p3-chat` | 🚧 in progress (unmerged) | -| **P4** | Port **projects / tasks / settings / admin** dashboard surfaces into the SPA | _tbd_ | ⏳ not started | +| **P3** | Typed SPA **chat** (`spa/chat/*`, `chat-contract.ts`, chat page + error boundary) | `feat/webui-p3-chat` | ✅ merged — PR **#1151** (+ repair PR **#1154**) | +| **P4** | Port **projects / tasks / settings / admin** dashboard surfaces into the SPA | `feat/webui-p4-1` | 🚧 in progress — P4-1 (read-only projects + tasks) merged, PR **#1153**; settings/admin remain | | **P5** | **Cutover**: Gateway serves the Vite `dist` on `:14242`; flip `dev`/`build` to vite; **remove** the legacy Next `app/` tree + `next.config.ts` | _tbd_ | ⏳ not started | | **P6** | CI / images (trails): build the SPA in CI, ship images | _tbd_ | ⏳ trails | -- 2.54.0 From c526a7af39168c48834bfa841c365a773b010d25 Mon Sep 17 00:00:00 2001 From: fred Date: Wed, 26 Aug 2026 17:30:11 -0500 Subject: [PATCH 2/3] docs: mark NEXT_PUBLIC_GATEWAY_URL obsolete in the legacy admin guide Review blocker on PR #1432: the legacy guide still told users to set the variable this PR removes from .env.example. --- docs/_old_structure/guides/admin-guide.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/_old_structure/guides/admin-guide.md b/docs/_old_structure/guides/admin-guide.md index ed9d2a9d..3aa73225 100644 --- a/docs/_old_structure/guides/admin-guide.md +++ b/docs/_old_structure/guides/admin-guide.md @@ -376,9 +376,8 @@ Session cleanup is scoped to one session identifier and only removes that sessio ### Web App -| Variable | Default | Description | -| ------------------------- | ------------------------ | -------------------------------------- | -| `NEXT_PUBLIC_GATEWAY_URL` | `http://localhost:14242` | Gateway URL used by the Next.js client | +The web app uses origin-relative paths only; it needs no gateway URL variable. +(`NEXT_PUBLIC_GATEWAY_URL` is obsolete and no longer read by anything.) ### Coordination -- 2.54.0 From 0abd3e335282b96cacd71d5825fb6e004d6c5d3b Mon Sep 17 00:00:00 2001 From: fred Date: Wed, 26 Aug 2026 18:02:44 -0500 Subject: [PATCH 3/3] style: prettier table padding in PHASE-P-STRUCTURE.md --- docs/webui/PHASE-P-STRUCTURE.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/webui/PHASE-P-STRUCTURE.md b/docs/webui/PHASE-P-STRUCTURE.md index d54faed4..4e2cb77d 100644 --- a/docs/webui/PHASE-P-STRUCTURE.md +++ b/docs/webui/PHASE-P-STRUCTURE.md @@ -81,14 +81,14 @@ build path is retired. ## 5. Increment map (P1–P6) -| # | Increment | Branch | Status | -| ------ | ---------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- | ------------------------- | -| **P1** | Vite + React Router skeleton beside Next (entry, router, guards, vitest) | `feat/webui-p1-vite-skeleton` | ✅ merged — PR **#1143** | -| **P2** | SPA data layer + same-origin auth (login/register/SSO pages, guards, relative api/socket/auth-client) | `feat/webui-p2-data-auth` | ✅ merged — PR **#1144** | -| **P3** | Typed SPA **chat** (`spa/chat/*`, `chat-contract.ts`, chat page + error boundary) | `feat/webui-p3-chat` | ✅ merged — PR **#1151** (+ repair PR **#1154**) | +| # | Increment | Branch | Status | +| ------ | ---------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- | ---------------------------------------------------------------------------------------------- | +| **P1** | Vite + React Router skeleton beside Next (entry, router, guards, vitest) | `feat/webui-p1-vite-skeleton` | ✅ merged — PR **#1143** | +| **P2** | SPA data layer + same-origin auth (login/register/SSO pages, guards, relative api/socket/auth-client) | `feat/webui-p2-data-auth` | ✅ merged — PR **#1144** | +| **P3** | Typed SPA **chat** (`spa/chat/*`, `chat-contract.ts`, chat page + error boundary) | `feat/webui-p3-chat` | ✅ merged — PR **#1151** (+ repair PR **#1154**) | | **P4** | Port **projects / tasks / settings / admin** dashboard surfaces into the SPA | `feat/webui-p4-1` | 🚧 in progress — P4-1 (read-only projects + tasks) merged, PR **#1153**; settings/admin remain | -| **P5** | **Cutover**: Gateway serves the Vite `dist` on `:14242`; flip `dev`/`build` to vite; **remove** the legacy Next `app/` tree + `next.config.ts` | _tbd_ | ⏳ not started | -| **P6** | CI / images (trails): build the SPA in CI, ship images | _tbd_ | ⏳ trails | +| **P5** | **Cutover**: Gateway serves the Vite `dist` on `:14242`; flip `dev`/`build` to vite; **remove** the legacy Next `app/` tree + `next.config.ts` | _tbd_ | ⏳ not started | +| **P6** | CI / images (trails): build the SPA in CI, ship images | _tbd_ | ⏳ trails | Each increment follows the same delivery pipeline: brief traceable to the RFC → author → **independent** integrator verification (build+test+typecheck+lint) → **independent** code + security -- 2.54.0