feat(tui): detail view for management drawer rows - #33
Merged
Conversation
Enter on a memory/skills/tools/config row now expands it into a readable block: skill description + provenance, full fact and episode text, MCP command/args/limits, and raw JSON for nested config values. The promote/delete gates assumed the human could see what they gate — before this, Enter merely refreshed the list and skills' Description fetched but never rendered. - esc/q folds back with selection intact; p promotes in place - detail captures keys except drawer navigation (]/[/digits) - config list flattens one level (sandbox.enabled); deeper nests keep the · marker with raw JSON in the detail - skills list renders a dim description line; windowing accounts for it - switchDrawerTab and closePanel reset the detail submode - all wire content rendered through sanitize() Replaces Enter-refresh with the detail contract in TestDrawerTabCycling and adds mgmt_detail_test.go covering expand/fold, in-place promote, scroll clamps, tab-switch reset, config flatten, and row math.
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.
What
Enter on a management drawer row (memory / skills / tools / config) now expands it into a readable detail view instead of just refreshing the list.
⏎showsWhy
The promote/delete gates were review-gated but review-blind:
/api/skillsfetches aDescriptionthat bodek never rendered, and Enter on any management tab was a no-op refresh. You can't promote what you can't see.Behaviour
↑↓scroll (clamped),esc/qfolds back with selection intactppromotes from the detail view (skills + memory episodes)][digits) — tab switches reset it (switchDrawerTab,closePanel,open*)sandbox.enabled); deeper nests/slices keep the·marker with raw JSON in detailsanitize()Tests
mgmt_detail_test.go: expand/fold round-trip, promote-from-detail (folds after refetch), scroll clamps, tab-switch/digit reset, config flatten + raw JSON,skillSelRowrow mathTestDrawerTabCyclingupdated to the new Enter contract (detail, not refresh)make fmt·make vet·make lint0 issues ·make testfull race suite greenOut of scope (needs odek serve)
GET /api/skills/{name}returning the SKILL.md body — the actual skill text is omitted server-side today. Once it lands, the detail view can render the full body below the description.