diff options
| author | Adam Malczewski <[email protected]> | 2026-06-27 01:08:32 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-06-27 01:08:32 +0900 |
| commit | 74911463384c8018067d4eeefbc685cb5bbc5a34 (patch) | |
| tree | e816ca0b933f38c7e83ac7100c5e60dcdb5d5936 | |
| parent | 1285564f12238b22f6b39b9f3fbcecaca8456911 (diff) | |
| download | dispatch-web-74911463384c8018067d4eeefbc685cb5bbc5a34.tar.gz dispatch-web-74911463384c8018067d4eeefbc685cb5bbc5a34.zip | |
chore: update path references for directory rename (dispatch-backend → backend, dispatch-web → frontend)
| -rw-r--r-- | AGENTS.md | 10 | ||||
| -rw-r--r-- | GLOSSARY.md | 2 | ||||
| -rw-r--r-- | README.md | 24 | ||||
| -rw-r--r-- | ROADMAP.md | 2 | ||||
| -rw-r--r-- | backend-handoff.md | 10 | ||||
| -rw-r--r-- | notes/assumptions-log.md | 2 |
6 files changed, 25 insertions, 25 deletions
@@ -3,7 +3,7 @@ > Loaded every session — the single source of truth for working in this repo: the > build constitution (code rules) + the workflow. Non-obvious, project-specific rules > only — if a fresh frontier model could infer it from the code, it is NOT here (P6). -> Full design + rationale: `../dispatch-backend/notes/frontend-design.md` (and the +> Full design + rationale: `../backend/notes/frontend-design.md` (and the > backend's `notes/restructure-plan.md` §1 for P1–P8). > > **You are the single agent for this repo.** You plan, author the cross-unit @@ -13,7 +13,7 @@ ## What this is The **web frontend** for Dispatch — a SEPARATE repo from the backend -(`../dispatch-backend`). It is a **thin shell + pure feature libraries + a surface +(`../backend`). It is a **thin shell + pure feature libraries + a surface host**, NOT a default-SvelteKit ball of mud. It consumes the backend's typed contracts (`@dispatch/ui-contract` + the wire types) over HTTP + a WebSocket. The app is a COMPOSITION of feature modules + surfaces, assembled at the composition root @@ -37,7 +37,7 @@ src/adapters/ injected browser effects: WS client, fetch, IndexedDB, history .dispatch/ mirrored backend contracts (*.reference.md) + rules/ reports/ (gitignored) ``` -Backend (SEPARATE repo, contracts only): `../dispatch-backend` — consume +Backend (SEPARATE repo, contracts only): `../backend` — consume `@dispatch/ui-contract` (`file:` dep) + the wire types. Do NOT edit it. ## The non-negotiable rules @@ -91,7 +91,7 @@ effects backed by a shared global (`fake-indexeddb`, `localStorage`) to catch cr pollution. After a slice that touches the wire or browser effects, run a LIVE probe (below). ## Backend seam (cross-repo) -The backend is `../dispatch-backend` (separate repo; `lsp references` does NOT span the +The backend is `../backend` (separate repo; `lsp references` does NOT span the boundary). You consume `@dispatch/ui-contract` + the wire/transport types as pinned `file:` deps. **Read the in-repo mirrors `.dispatch/*.reference.md`, never `node_modules/@dispatch/*`** (they symlink out of the repo); regenerate the relevant mirror whenever a contract changes. @@ -143,7 +143,7 @@ live view (subscribe/reconnect + the user prompt on the event stream), and the c show-earlier server backfill; `hasOlder` from the 1-based gap-free seq contract), and the reasoning-effort selector (Model view, under the provider/model dropdowns; sticky per-conversation `GET`/`PUT /reasoning-effort`, `null` ⇒ "high (default)"). Plan in -`../dispatch-backend/notes/frontend-design.md` §10. +`../backend/notes/frontend-design.md` §10. ## Reports Optionally record a finished milestone in `reports/<name>.md` (gitignored): what you built, diff --git a/GLOSSARY.md b/GLOSSARY.md index 7914ef5..f0dcdd4 100644 --- a/GLOSSARY.md +++ b/GLOSSARY.md @@ -1,4 +1,4 @@ -# Glossary — canonical vocabulary (dispatch-web) +# Glossary — canonical vocabulary (frontend) > One name per concept. Shared backend terms are adopted VERBATIM (no drift). > New term? The orchestrator proposes the standard name and the user confirms @@ -1,6 +1,6 @@ # Dispatch Web -The **web frontend** for [Dispatch](../dispatch-backend) — a separate repo built to the same +The **web frontend** for [Dispatch](../backend) — a separate repo built to the same methodology (thin shell + pure feature libraries + a backend-driven *surface* host). It consumes the backend's typed contracts over HTTP + a WebSocket and ships no business logic the backend doesn't expose. @@ -17,17 +17,17 @@ doesn't expose. - [Bun](https://bun.sh) (v1.3+). - **The backend repo as a sibling directory** — this repo links `@dispatch/ui-contract` from - `../dispatch-backend` via a `file:` dependency: + `../backend` via a `file:` dependency: ``` dispatch/ - dispatch-backend/ # the backend (Dispatch server) - dispatch-web/ # this repo + backend/ # the backend (Dispatch server) + frontend/ # this repo ``` -- The **backend server running** for surfaces to appear (see `../dispatch-backend/README.md`). +- The **backend server running** for surfaces to appear (see `../backend/README.md`). ```sh -cd dispatch-web -bun install # links @dispatch/ui-contract from ../dispatch-backend +cd frontend +bun install # links @dispatch/ui-contract from ../backend ``` --- @@ -36,17 +36,17 @@ bun install # links @dispatch/ui-contract from ../dispatch-backend ```sh # 1) start the backend (sibling repo) — HTTP :24203 + surface WS :24205 -cd ../dispatch-backend && bun run dev +cd ../backend && bun run dev # 2) start this dev server — Vite on :24204 -cd ../dispatch-web && bun run dev +cd ../frontend && bun run dev ``` Open **http://localhost:24204**. You'll see the surface catalog (e.g. "Loaded Extensions"); the frontend connects to the backend's surface WebSocket at `ws://localhost:24205` (override with `VITE_WS_URL`). -> **Tip — run both at once with live reload:** the backend repo ships `../dispatch-backend/bin/up` +> **Tip — run both at once with live reload:** the backend repo ships `../backend/bin/up` > (also `bun run dev:all` there) which starts the backend (`bun --watch`) + this dev server > (Vite HMR) together; **Ctrl-C stops both**. @@ -64,7 +64,7 @@ When browsing from a **different device than the one running the backend**, set 1. **Reach the dev server:** open `http://<this-machine-tailscale-name>:24204`. (The backend's Bun servers already bind all interfaces, so `:24203`/`:24205` are reachable over Tailscale too.) 2. **Point the frontend at the backend's WebSocket.** The WS URL runs in *your browser*, so - `localhost` would mean *your* device — set it to the backend host. Create `dispatch-web/.env`: + `localhost` would mean *your* device — set it to the backend host. Create `frontend/.env`: ```sh VITE_WS_URL=ws://<backend-machine-tailscale-name>:24205 ``` @@ -99,5 +99,5 @@ bun run check # biome (.ts/.js; .svelte correctness is svelte-check's job ## Documentation -- **Design + plan:** `../dispatch-backend/notes/frontend-design.md` +- **Design + plan:** `../backend/notes/frontend-design.md` - **Build rules + workflow:** `AGENTS.md` · **Vocabulary:** `GLOSSARY.md` @@ -1,4 +1,4 @@ -# Roadmap — dispatch-web +# Roadmap — frontend > Living document of shipped + planned FE work. Updated at each milestone. > Source of truth for "what's done" + "what's next". Cross-repo handoffs land here diff --git a/backend-handoff.md b/backend-handoff.md index d536280..1321c3e 100644 --- a/backend-handoff.md +++ b/backend-handoff.md @@ -2,7 +2,7 @@ > **Purpose:** the single rolling document the FE orchestrator keeps current so the user can hand off > the whole FE↔backend seam at any time — on completion OR at a roadblock. Updated continuously. -> **From:** dispatch-web orchestrator · **To:** `../dispatch-backend` orchestrator · **Courier:** the user. +> **From:** dispatch-web orchestrator · **To:** `../backend` orchestrator · **Courier:** the user. > `lsp` does NOT span the repos (AGENTS.md § Backend seam) — every cross-repo ask flows through here. _Last updated: 2026-06-25 (§2d RESOLVED — backend merged `dev` into `feature/ssh-support`, merge `de022ce`; @@ -235,8 +235,8 @@ exactly. Contract types in `[email protected]`: `McpServerState` (`"connecting" | "connected" | "error" | "disconnected"`), `McpServerInfo` (`{ id, state, error?, toolCount, configSource? }`), `McpStatusResponse` (`{ conversationId, cwd: string|null, servers: McpServerInfo[] }`). Full backend handoff: -`../dispatch-backend/frontend-mcp-status-handoff.md`; shape/behavior details: -`../dispatch-backend/reports/transport-http-mcp.md`. +`../backend/frontend-mcp-status-handoff.md`; shape/behavior details: +`../backend/reports/transport-http-mcp.md`. **Backend (shipped CR-12):** endpoint behaves identically to `/lsp` — no persisted cwd → `{ cwd: null, servers: [] }` (HTTP 200, empty); MCP extension not loaded → @@ -391,8 +391,8 @@ The auto-merge was clean — `computerId` threading + retry-with-backoff coexist ### Worktree environment note (not a contract change) This worktree lays the repos out as `…/worktrees/ssh-support/{backend,frontend}`, but `package.json`'s canonical -`file:` paths point at `../dispatch-backend` (correct for the main `dispatch/{dispatch-backend,dispatch-web}` layout). -To keep `package.json` canonical (no worktree-specific hack committed), a symlink `../dispatch-backend → ../backend` +`file:` paths point at `../backend` (correct for the main `dispatch/{dispatch-backend,dispatch-web}` layout). +To keep `package.json` canonical (no worktree-specific hack committed), a symlink `../backend → ../backend` was created in the worktree parent (untracked, outside the repo), then `bun install` re-synced `node_modules/@dispatch/*`. The backend wire `dist/` was already built + current (has the new types); no backend edit was made. diff --git a/notes/assumptions-log.md b/notes/assumptions-log.md index ebf2ff8..026cde2 100644 --- a/notes/assumptions-log.md +++ b/notes/assumptions-log.md @@ -1,4 +1,4 @@ -# Assumptions log (dispatch-web) +# Assumptions log (frontend) > Recorded while working autonomously (user away). Raise these when the user returns. |
