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 .agents/session-log.md
Original file line number Diff line number Diff line change
Expand Up @@ -389,5 +389,7 @@
- 2026-04-10: Completed issue #342 primary workbench ownership. The renderer now marks workbench-heavy surfaces explicitly and collapses the outer support lane plus internal two-column workbench grids earlier, so `Runs`, `Compare`, `Candidates`, `Run Detail`, and `Paper Ops` stop holding two side rails at the same laptop-width breakpoint. Validation passed with `node --check desktop/renderer/app.js`, `npm run smoke:fallback`, and `npm run smoke:real-path`.
- 2026-04-10: Started issue #346 to harden `desktop-smoke` result persistence after CI repeatedly failed with raw `ENOENT` on missing `result.json` in a planning-only PR. The slice is limited to `desktop/main.js`, `desktop/scripts/smoke.js`, and `.agents` continuity so smoke emits structured failures instead of crashing when Electron exits too early.
- 2026-04-10: Added the desktop layout regression remediation block after reviewing the post-merge desktop state in real screenshots. Opened issues #342, #343, and #344 to target empty-pane collapse, stronger active-surface focus and context containment, and better runs-family density plus right-rail space budgeting without reopening core or `research_ui` scope.
<<<<<<< HEAD
- 2026-04-10: Added the Desktop architecture migration block after accepting the ADR direction for the new shell foundation. Opened issues #350, #354, #353, #355, #352, #359, #351, #357, #358, and #356 so the migration is tracked as real slices rather than dozens of micro-backlog items.
- 2026-04-10: Started the desktop shared contracts foundation slice on branch `codex/desktop-shared-workspace-contract`. The goal is to establish the first real shared Desktop contract layer before opening the larger `desktop-typescript-base` slice, limited to workspace, runtime/snapshot, and smoke boundaries.
- 2026-04-10: Completed the desktop shared contracts foundation slice. Added `desktop/shared` contracts for IPC channels, envelopes, workspace state, runtime state, snapshot status, and smoke results, and connected them back into `desktop/main.js`, `desktop/preload.js`, `desktop/renderer/app.js`, and `desktop/scripts/smoke.js` via narrow JSDoc typing only, without changing desktop behavior.
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Issue #350 — Desktop Target Architecture and Shared Contract Guardrails

## Goal
Lock the migration direction and guardrails for the Desktop architecture so later slices do not reopen stack, boundary, or target-state debates.

## Expected deliverable
- accepted ADR
- explicit transition rules
- shared-contract-first ordering

## Done when
- the architecture direction is fixed
- `research_ui` is explicitly transitional
- the next slice can move into TypeScript base real cleanly
11 changes: 11 additions & 0 deletions .agents/tasks/issue-351-migrate-run-detail-and-artifacts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Issue #351 — Migrate Run Detail and Artifacts

## Goal
Move run-level evidence review into the new renderer stack after core workstation surfaces.

## Expected deliverable
- migrated Run Detail
- migrated Artifacts

## Done when
- evidence review no longer depends on the legacy shell path
14 changes: 14 additions & 0 deletions .agents/tasks/issue-352-minimal-react-shell-frame.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Issue #352 — Minimal React Shell Frame

## Goal
Introduce the new shell frame without migrating all surfaces at once.

## Expected deliverable
- shell layout
- sidebar
- topbar
- support lane frame
- focused surface tabs

## Done when
- the React shell exists and hosts transitional surfaces without uncontrolled drift
12 changes: 12 additions & 0 deletions .agents/tasks/issue-353-modularize-desktop-main-process.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Issue #353 — Modularize Desktop Main Process

## Goal
Split the Electron main process by responsibility after the TypeScript base exists.

## Expected deliverable
- thin `main.js`
- typed modules for bootstrap, window, workspace, IPC, and smoke support

## Done when
- responsibilities are separated into coherent modules
- runtime behavior stays unchanged
15 changes: 15 additions & 0 deletions .agents/tasks/issue-354-typescript-base-across-desktop.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Issue #354 — TypeScript Base Across Desktop

## Goal
Establish the real TypeScript base for `desktop/` without changing runtime behavior.

## Expected deliverable
- `tsconfig.json`
- `types/global.d.ts`
- `typecheck`
- native use of `desktop/shared`

## Done when
- current Desktop JS entrypoints pass typecheck
- smoke remains green
- no functional change is introduced
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Issue #355 — Typed Preload Bridge and Stable IPC Surface

## Goal
Turn preload into the stable typed bridge between main and renderer.

## Expected deliverable
- typed preload API
- typed event subscriptions
- stable Desktop surface exposed to the renderer

## Done when
- preload is fully typed
- renderer depends on a clear bridge contract
11 changes: 11 additions & 0 deletions .agents/tasks/issue-356-retire-legacy-shell-renderer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Issue #356 — Retire Legacy Shell Renderer

## Goal
Remove the transitional shell path once the new architecture owns Desktop end to end.

## Expected deliverable
- legacy shell retirement
- removal of transitional duplication

## Done when
- the new Desktop architecture is the only maintained shell path
12 changes: 12 additions & 0 deletions .agents/tasks/issue-357-migrate-paper-ops-system-experiments.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Issue #357 — Migrate Paper Ops, System, and Experiments

## Goal
Move the remaining operational Desktop surfaces into the new renderer architecture.

## Expected deliverable
- migrated Paper Ops
- migrated System
- migrated Experiments

## Done when
- those surfaces are owned by the new shell architecture
11 changes: 11 additions & 0 deletions .agents/tasks/issue-358-decide-and-resolve-launch-target-state.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Issue #358 — Decide and Resolve Launch Target-State

## Goal
Make Launch explicit as product and architecture target-state instead of preserving embedded continuity by inertia.

## Expected deliverable
- explicit Launch target-state decision
- implementation aligned with the new shell architecture

## Done when
- Launch is no longer architecturally ambiguous
11 changes: 11 additions & 0 deletions .agents/tasks/issue-359-migrate-core-workstation-surfaces.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Issue #359 — Migrate Core Workstation Surfaces

## Goal
Move Runs, Compare, and Candidates into the new renderer stack.

## Expected deliverable
- migrated core decision surfaces
- preserved selection and compare continuity

## Done when
- these surfaces no longer depend on the legacy shell path
20 changes: 20 additions & 0 deletions .agents/tasks/issue-block-desktop-architecture-migration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Desktop Architecture Migration Block

This block groups the real migration slices for the QuantLab Desktop architecture transition.

Order:

1. `#350` Desktop target architecture and shared contract guardrails
2. `#354` TypeScript base real across main, preload, shared, and renderer
3. `#353` Modularize the desktop main process
4. `#355` Complete typed preload bridge and stable Desktop IPC surface
5. `#352` Establish the minimal React shell frame
6. `#359` Migrate core workstation surfaces: Runs, Compare, Candidates
7. `#351` Migrate Run Detail and Artifacts
8. `#357` Migrate Paper Ops, System, and Experiments
9. `#358` Decide and resolve Launch target-state
10. `#356` Retire the legacy shell renderer

Principle:
- one real slice = one issue = one branch = one PR
- micro-cuts stay inside the slice branch and do not become backlog units
Loading