Roster: title into the tab bar, flip the split, rebuild the config view - #271
Merged
Conversation
…uild the config view
## Section title moves to the tab bar
The Roster's own header block (title + caption) is gone. The workspace tab strip
now shows the section name instead of workspace tabs when you're not on the
board.
That is also a correctness fix, not just tidying: agents are GLOBAL, so a
workspace selector in the Roster was chrome that changed nothing. Removing it
means the tab strip only offers a choice where the choice does something.
## Split flipped
The list was taking ~65% and the dossier a fixed 380px, which is backwards --
the list is for scanning, the dossier is where the reading happens.
before grid flex-1 | dossier 380px fixed
after rail 340px fixed | dossier flex-1
340px fits two tiles per row, which is enough to scan a roster, and hands the
rest to the pane that actually has content in it.
## Configuration view rebuilt
It was a flat key-value list with a hairline under every row. That shape treats
a system prompt, a model name and a filesystem path as if they were peers,
which they are not. Now grouped into cards -- the pattern GitHub, Vercel and
Stripe settings all use:
LLM Instructions (spans, prose) | Model | Tools | Skills | Retrieval(v2)
Script Command (spans) | Environment | Outputs(v2)
Specifics worth noting:
- Card headers carry a count where one is meaningful (tools, skills, args).
- Paths, commands and tool ids are click-to-copy, with a check-mark
confirmation. Those are values people paste somewhere else.
- The system prompt gets `max-w-prose`: the wider pane happily ran it to
~150 characters per line, well past readable.
- Delete demoted from a full-width button to an icon -- it sits beside two
non-destructive actions and shouldn't carry equal weight.
- Portrait moved beside the name instead of above it, so the wider pane
doesn't carry a stretched banner.
Cut two duplications found by looking at the rendered result: a separate
"Arguments" card listed the exact values the Command card already showed, and
inside Command a chip row and a full command line said the same thing twice.
What's left is the one line that actually gets run, copyable.
Also: env keys like RENDER_THREADS were truncating in a 112px label column.
Verified: tsc, eslint, IPC check 209, vitest 429, production build clean, and
walked all three runtimes plus the MCP/tools and missing-skill cases in Chrome.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Section title moves into the tab bar
The Roster's own header block (title + caption) is gone. The workspace tab strip now shows the section name instead of workspace tabs when you're not on the board.
That's a correctness fix as much as tidying: agents are global, so a workspace selector in the Roster was chrome that changed nothing. Now the tab strip only offers a choice where the choice does something.
Split flipped
The list was taking ~65% and the dossier a fixed 380px — backwards, since the list is for scanning and the dossier is where the reading happens.
flex-1(~65%)flex-1340px fits two tiles per row, which is enough to scan a roster, and hands the rest to the pane that actually has content in it.
Configuration view rebuilt
It was a flat key-value list with a hairline under every row — a shape that treats a system prompt, a model name and a filesystem path as if they were peers. They aren't. Now grouped into cards, the pattern GitHub / Vercel / Stripe settings all use:
max-w-prose; the wider pane happily ran it to ~150 characters per lineTwo duplications cut, both found by looking at the rendered result
What's left is the one line that actually gets run, copyable.
Also fixed: env keys like
RENDER_THREADSwere truncating in a 112px label column.Verification
tsc,eslint, IPC check (209),vitest run→ 429, production build clean