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
docs/ADR-0004-ui-shell.md decided, on 2026-08-03, to reject the Preact migration (#578, moot) and instead invest in a small set of shared vanilla shell primitives, since the measured evidence showed the Preact treatment costing +330 lines (+26% over a fair vanilla control) and +7.7 KB gzip with no simplification win. That decision opened four refactor issues (#586, #587, #588, #589) plus a separate transport-layer proposal (#585) that this umbrella sequences alongside two more issues surfaced by the same 2026-08-03 review (#590, #591) and a lock-in issue (#592) into one ordered execution plan for the /ship skill: one PR per phase, one session per phase, with a human merge gate between every phase.
Phase 7 — ADR-0005: adopt @clickhouse/client-web behind the SQL Browser transport adapter #585 (ADR-0005): @clickhouse/client-web transport spike. Independent of the shell track — has its own validation gates (precision, streaming, auth/epoch, cancellation, bundle) and may conclude "Rejected"; that outcome still completes the phase, it just means the repository keeps the current separated custom transport from Phase 1 of that issue's own delivery plan.
A phase's own issue body (Goal/Context/Tests/Acceptance criteria) is the contract for that PR — this umbrella does not restate or override it.
Every phase must leave main green under the full gate set: npm testandtsc --noEmitandnpm run check:arch (check-boundaries.mjs). Note: this repo's npm test alone does not run pretest in every invocation context, so npm test passing by itself is not sufficient evidence — run the full gate explicitly.
No phase starts before the previous phase has merged.
docs/ADR-0004-ui-shell.mddecided, on 2026-08-03, to reject the Preact migration (#578, moot) and instead invest in a small set of shared vanilla shell primitives, since the measured evidence showed the Preact treatment costing +330 lines (+26% over a fair vanilla control) and +7.7 KB gzip with no simplification win. That decision opened four refactor issues (#586, #587, #588, #589) plus a separate transport-layer proposal (#585) that this umbrella sequences alongside two more issues surfaced by the same 2026-08-03 review (#590, #591) and a lock-in issue (#592) into one ordered execution plan for the/shipskill: one PR per phase, one session per phase, with a human merge gate between every phase.Phases
SurfaceLifecycleprimitive + docked right-inspector slot. Collapses six copy-pasted overlay lifecycles into one, and gives.main-rowa realinspectorHostslot — unblocks Unify cell detail, rows and documentation in a foldable desktop right inspector #488 (foldable right inspector), which is built explicitly on top of this issue's skeleton.nav-sections.tsregistry design fromfeat/nav-section-registry-487p2(PR feat(#487): navigation section registry (phase 2) #573) rather than re-deriving it.src/ui/app.ts,createAppspans ~3,000 lines) along four seams, plus a fifth extraction replacing theas Appcast with typed staged construction.renderDashboard's one 46-nested-function closure.dashboardTreeRevisionby making the committed workspace aggregate itself reactive. Sequenced after refactor(app): decompose the composition root along four seams #588 so this touches a smaller composition-root surface once the workspace-persistence extraction (workspace-session.ts) has already moved out ofapp.ts.@clickhouse/client-webtransport spike. Independent of the shell track — has its own validation gates (precision, streaming, auth/epoch, cancellation, bundle) and may conclude "Rejected"; that outcome still completes the phase, it just means the repository keeps the current separated custom transport from Phase 1 of that issue's own delivery plan.build/check-boundaries.mjsto mechanically forbid the six-copies-of-an-overlay problem from regrowing. Runs last because it locks in what phases 1–2 established.Ground rules
maingreen under the full gate set:npm testandtsc --noEmitandnpm run check:arch(check-boundaries.mjs). Note: this repo'snpm testalone does not runpretestin every invocation context, sonpm testpassing by itself is not sufficient evidence — run the full gate explicitly.Related
docs/ADR-0004-ui-shell.md)