Skip to content

Dashboard Cockpit layout, RESEARCH/REVIEW tool-access fix, Quick Create mode picker#17

Merged
Codename-11 merged 4 commits into
mainfrom
worktree-dashboard-cockpit-and-modes
Jul 7, 2026
Merged

Dashboard Cockpit layout, RESEARCH/REVIEW tool-access fix, Quick Create mode picker#17
Codename-11 merged 4 commits into
mainfrom
worktree-dashboard-cockpit-and-modes

Conversation

@Codename-11

Copy link
Copy Markdown
Owner

Summary

Three independent pieces from one session:

  • Dashboard: Cockpit layout. Replaces the single stacked column with a
    two-column cockpit — a wide primary work column (Focus today, Pick up where
    you left off, a new Pipeline bars card, Suggestions) beside an
    always-visible rail (the existing customizable widget stack, now forced to
    one column). Chosen after mocking up 3 layout directions (Cockpit / Bento /
    Priority-bands) to address reported "too much scrolling / empty gaps /
    doesn't flow" complaints. DashboardStack gains a columns?: 1 | 2 prop
    (default 2, back-compat — it's only used on this one page).
  • Fix: RESEARCH/REVIEW tool access. runtimeModeToolCapabilities() was
    returning zero host tools for any non-EXECUTE mode with no explicit
    modeToolProfiles override — contradicting
    docs/agents/engagement-modes.md's own promise ("Research: read, search,
    run read-only tools"). Now defaults RESEARCH/REVIEW to the read-oriented
    subset (filesystem, git — never terminal) of whatever the runtime
    declared. (Separately: web-search availability is not a Forge concept at
    all by design — that's a Hermes-gateway-config question, out of scope here.)
  • Quick Create: engagement mode picker on /assign. The new-issue overlay
    could assign an agent but had no way to set the run's engagement mode — the
    server hardcoded explicit: null. Added an optional mode to the assign
    slash command (UI-only) and a compact 4-button picker next to the assign
    badge, reusing the same glyph/order as the issue-detail AgentPickerModal.
    No schema change needed.

Verification

  • pnpm typecheck && pnpm lint && pnpm build — all clean.
  • New tests/unit/runtime-tools.test.ts (7 cases) + existing
    slash-commands.test.ts / chat-slash-command-gating.test.ts — 36/36 pass.
  • Both UI-facing changes verified end-to-end against dev:local with real
    seeded data via scripted Playwright (login → dashboard render with 3-col
    Focus grid + populated rail; quick-create /assign victor → mode picker
    appears unselected → click Research → aria-checked flips correctly).
  • Pre-existing, unrelated: this worktree's node_modules is missing the
    server-only package, failing 21 tests/unit/*.test.ts files that don't
    touch any file in this diff (confirmed via ls node_modules/server-only
    vs. the main checkout, and pnpm install didn't resolve it) — an
    environmental gap, not a regression from this change.

Test plan

  • Open the workspace dashboard — confirm the two-column cockpit layout,
    Pipeline card, and rail render correctly with real data.
  • Assign an agent to a Research-mode dispatch on a Hermes runtime with no
    modeToolProfiles override — confirm it now gets filesystem/git tools.
  • Open Quick Create (C), type /assign @<agent>, confirm the mode
    picker appears and persists the chosen mode onto the created issue's run.

🤖 Generated with Claude Code

Codename-11 and others added 4 commits July 7, 2026 18:44
Replaces the single stacked column with a wide primary column (Focus,
Pick-up, a new Pipeline bars card) beside an always-visible rail (the
existing customizable widget stack, forced to one column) — chosen
after mocking up 3 layout directions to fix reported scroll/gap/flow
complaints. DashboardStack gains a columns={1|2} prop for the rail.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…promised

runtimeModeToolCapabilities() returned zero host tools for any
non-EXECUTE mode when the operator hadn't set an explicit
modeToolProfiles override — contradicting engagement-modes.md's own
"Research: read, search, run read-only tools" contract. Now defaults
RESEARCH/REVIEW to the read-oriented subset (filesystem, git — never
terminal) of whatever the runtime actually declared; EXECUTE and any
explicit override are unchanged, DISCUSS still gets nothing.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The new-issue overlay could assign an agent via /assign @handle but
had no way to set the dispatch's engagement mode — the server
hardcoded explicit: null, always falling back to the workspace
default. SlashCommand's assign variant gains an optional
mode?: EngagementMode (UI-only, never parsed from typed text); a
compact 4-button picker next to the assign badge reuses the same
EngagementModeGlyph/MODE_ORDER as the issue-detail AgentPickerModal.
No schema change — mode lives on AgentRun, not Issue.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…cker

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@Codename-11 Codename-11 merged commit 1c8717c into main Jul 7, 2026
2 of 3 checks passed
@Codename-11 Codename-11 deleted the worktree-dashboard-cockpit-and-modes branch July 7, 2026 23:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant