You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 78b1e94
Browse filesBrowse the repository at this point in the historyBrowse files
| W6 | Naming pass and `web/README.md` | `web/README.md` exists (W7a); the naming pass is open |
112
112
| W7a | Product and generic tiers for shared web code (`product/`) | done |
@@ -220,6 +220,13 @@ The backend (B) and web (W) tracks can run in parallel.
220
220
transport and its tests use and `source_control::git` only `is_git_repo`; the rest is
221
221
`pub(crate)`, with no call site changed.
222
222
223
+
- W4 (per-feature API doors): started. Every feature now has `api.ts`: it re-exports the
224
+
client pieces that feature uses, and 119 files import it instead of `api/`. Value imports
225
+
from `api/client`, `shell`, `pulls`, `sse`, `token` and `origin` in feature code went from
226
+
158 to 0; type-only imports of `api/types` stay, since they carry no call. Named
227
+
operations and hooks are next: the maintenance page, `BrowserPanel`, the terminal drawer
228
+
and the settings pages still call `request(...)` with endpoint paths through that door.
229
+
223
230
- W7a (product and generic tiers): done for the shared folders; front-door helpers are open (see
224
231
the audit below). `state/` became `product/state/`, and `lib/timeline` became `product/timeline`.
225
232
The shared files that carry product vocabulary and have two or more feature users moved to
@@ -301,7 +308,7 @@ have no baseline.
301
308
| Unit | Work | Size and notes |
302
309
| --- | --- | --- |
303
310
| W2 | CSS ownership: `styles/thread.css` (about 4,500 lines, mostly panels and onboarding rules), `pages.css`, `shell.css`, `base.css` move next to the components they style; shared pieces (`btn`, `dialog`, `pill`, `empty` and the like, defined in up to 10 files) are defined once in `ui/` | **Needs the owner's go-ahead.** The tests cannot see a changed cascade. Compare screenshots before and after in Light, Dark and Dim for every moved rule, and keep the CSS load order identical (compare the first-import order from `main.tsx`, as the W7a review did). |
304
-
| W4 | Per-feature `api.ts` and hooks: components stop calling the API client directly (about 150 direct imports, for example Maintenance, BrowserPanel, the terminal drawer, the settings pages) | Web. Not started. |
311
+
| W4 | Per-feature `api.ts` and hooks: named operations replace the raw `request(...)` calls the feature front doors still re-export | Web. Front doors are in (119 files). Next: Maintenance, `BrowserPanel`, the terminal drawer and the settings pages. |
305
312
| W6 | Naming pass: Page is a route, Panel is a side-panel tab, Dialog is a modal, no "Pane" (`SurfacePane`, `SideChatPane`, `PullsPage` against `PullPage`); keep `web/README.md` in step | Do after W2 so files are renamed once. |
306
313
| Front-door TODO rows | Hoist the helper exports in the audit table (one other feature uses each) to `product/` or `lib/` when a second feature needs them; hoist `copyText` to `lib/` | Opportunistic. |
307
314
| Closeout | Turn any remaining baselined rule into a hard error, run a packaged-app build and walk-through (`cd desktop && npm run build -- --bundles app`), run the worktree cleanup report | The packaged-app check has not been run since the logo, tools, picker and tab strip merged into main. |
0 commit comments