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
1 change: 1 addition & 0 deletions .agents/session-log.md
Original file line number Diff line number Diff line change
Expand Up @@ -385,3 +385,4 @@
- 2026-04-08: Updated `.agents/workflow.md` so chat ownership is now a constant repo rule. The workflow file now defines stable Engine versus Desktop/UI ownership, cross-boundary stop rules, branch and dirty-tree preflight checks, and a requirement to record the validation actually run.
- 2026-04-08: Started issue #214 renderer tab binding registry hardening. This slice is limited to `desktop/renderer/app.js` plus `.agents` continuity, and replaces the long `bindTabContentEvents` conditional chain with a local handler registry without changing renderer behavior.
- 2026-04-08: Completed issue #214 renderer tab binding registry hardening. `bindTabContentEvents` now dispatches through a local `TAB_CONTENT_EVENT_BINDERS` registry in `desktop/renderer/app.js`, and `npm run smoke` still passes via local runs fallback.
- 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.
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Issue #342 — Collapse empty panes and restore primary workbench ownership

## Goal
Make the active work surface reclaim the desktop window instead of leaving large empty panes while useful content is compressed into a narrow column.

---

## Why this matters
The shell now has better semantics than before, but the composition still fails in real use. Empty or low-value panes keep too much width, so the workstation feels worse than the underlying UX improvements warrant.

---

## Scope

### In scope
- collapse or demote empty panes
- restore width to the active workbench
- ensure the primary surface dominates the central area
- tighten left/right lane ownership when the center needs the space

### Out of scope
- new runtime or backend behavior
- `research_ui` changes
- core contract changes
- new product surfaces

---

## Relevant files

- `desktop/renderer/index.html`
- `desktop/renderer/app.js`
- `desktop/renderer/styles.css`
- `desktop/renderer/modules/tab-renderers.js` only if required by pane ownership

---

## Expected deliverable

A desktop shell where empty space no longer outranks the active work surface, and the primary workbench owns the window by default.

---

## Done when

- empty panes collapse instead of reserving large blank columns
- active surfaces reclaim width automatically
- the central workbench remains visually dominant in `Runs`, `Candidates`, `Compare`, and `Paper Ops`
- low-data or single-surface states still look intentional instead of broken
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Issue #343 — Enforce stronger active-surface focus and context containment

## Goal
Stop the shell from reading like a stack of open context and make the current active surface unambiguous after a short navigation sequence.

---

## Why this matters
Containment improved in earlier slices, but `Focused work surfaces` can still accumulate enough context to weaken ownership and reduce clarity. The shell needs stronger replace-vs-append discipline in practice, not just in intent.

---

## Scope

### In scope
- active-surface emphasis
- context-tab accumulation discipline
- collapse or demotion of stale context
- clearer replace-vs-append outcomes in the shell

### Out of scope
- support-lane semantics already handled by Issue #287
- new navigation features not tied to focus
- legacy embedded views as target-state
- engine or CLI changes

---

## Relevant files

- `desktop/renderer/app.js`
- `desktop/renderer/index.html`
- `desktop/renderer/styles.css`

---

## Expected deliverable

A shell where sidebar navigation and contextual actions preserve continuity without leaving the operator unsure which surface currently owns the workspace.

---

## Done when

- one primary surface is always obvious
- context tabs remain useful without taking over the shell
- duplicate or stale surface context is collapsed or demoted
- the shell is easier to read after several navigation steps, not harder
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Issue #344 — Rebalance runs-family density and right-rail space budget

## Goal
Bring `Runs`, `Candidates`, and `Compare` closer to workstation density by reducing low-value chrome and restoring space to the information that actually matters.

---

## Why this matters
The shell now explains more, but the runs-family surfaces still waste space. Some rows and cards are too sparse, key data columns are too compressed, and the right rail can still claim more width than its value justifies.

---

## Scope

### In scope
- run-row and card density
- width allocation inside runs-family surfaces
- tighter right-rail space budget
- intentional empty-state composition for low-data views

### Out of scope
- changing research semantics
- artifact contract changes
- support-lane semantic cleanup beyond space budget
- core-side data shape changes

---

## Relevant files

- `desktop/renderer/modules/tab-renderers.js`
- `desktop/renderer/styles.css`
- `desktop/renderer/index.html` only if needed for grid balance

---

## Expected deliverable

Runs-family surfaces where primary content reads as dense and deliberate, and auxiliary chrome no longer steals space from the data.

---

## Done when

- `Runs`, `Candidates`, and `Compare` feel denser and better balanced
- key run information gets more usable width than decorative or low-value chrome
- the right rail respects a tighter budget without breaking low-data states
- sparse states still look designed instead of unfinished
24 changes: 24 additions & 0 deletions .agents/tasks/issue-block-desktop-layout-regression-remediation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Desktop Layout Regression Remediation — Proposed Issue Block

This issue block targets the remaining Desktop/UI regression after the workstation and support-lane slices already merged. The problem is no longer shell semantics alone. The current regression is spatial: too much empty pane ownership, weak active-surface dominance, and poor width allocation between the workbench and its auxiliary lanes.

## Proposed sequence

1. Issue #342 — Collapse empty panes and restore primary workbench ownership
2. Issue #343 — Enforce stronger active-surface focus and context containment
3. Issue #344 — Rebalance runs-family density and right-rail space budget

## Intent

The goal is to fix the remaining layout/workbench problems now visible in real desktop use:

- the active surface still loses too much width to empty or low-value panes
- context accumulation still weakens focus after a short navigation sequence
- runs-family surfaces remain compositionally sparse in some places and over-compressed in others

## Rules for this block

- Keep the focus on `desktop/` renderer composition and shell containment only.
- Do not mix this block with core Python, broker, CLI, or `research_ui` changes.
- Treat this as layout/workbench remediation, not a restart of the broader workstation direction.
- Prefer slices that improve space ownership, density, and surface focus over decorative polish.
Loading