design(dashboard): drop editor, add edit-review, expand semantic config#26
Merged
Conversation
Mockup prep ahead of the dashboard code refactor — current dashboard/app.js is a 4768-line single-file Preact SPA with no clear state boundaries, and the refactor needs an updated target. - Remove §7 Editor entirely. Reasonix's value is the agent loop, not a VSCode-in-a-tab. Sidebar mockups (11 pages + collapsed variant) and the glyph palette drop the corresponding entries. - Add §7 Edit review (reclaiming the slot). GitHub-style multi-file diff: aggregator header with stat + mode toggle + bulk apply, per-file collapsible cards with approve/reject, expand-context chevrons, intra-line word diff, unified ↔ split modes, plus empty / applied / test-failed states. §3 inline diff picks up syntax highlighting and a word-rem demo. - §12 Semantic gains a real config card. The backend exposes 6 fields (excludeDirs / excludeFiles / excludeExts / excludePatterns / respectGitignore / maxFileBytes); the mockup previously showed one as a read-only list. New card has editable chip lists, toggle, number input, and a Preview action, plus a Config preview subsec demonstrating the dry-run output of /api/index-config/preview.
This was referenced May 1, 2026
esengine
added a commit
that referenced
this pull request
May 1, 2026
The design mockup deleted §7 Editor in #26 — Reasonix's value is the agent loop, not a VSCode-in-a-tab. The code follows. Net −1535 LoC across nine files; the dashboard bundle shrinks from 137 KB to 121 KB. Removed: - dashboard/app.js — EditorPanel + the lazy CodeMirror loader (~540 lines), the editor drawer overlay in App, the `editor` entry in TABS, the `openFileInEditor` helper, the `open-file` event-bus path, and the four tool-card path-link click handlers (now plain code spans). - dashboard/app.css — 590 lines of editor-drawer / file-tree / CodeMirror skin. The `.tool-card-path-link` hover treatment goes with the click handler. - dashboard/codemirror.js — 36-line CDN loader stub, gone. - scripts/bundle-codemirror.mjs — the build-time CodeMirror bundler, no longer needed. - src/server/api/file.ts — the `/api/files` + `/api/file/<path>` endpoints had no consumer outside the editor panel. - src/server/router.ts — drops the `files` / `file` route cases. - src/server/assets.ts — drops the `codemirror.js` serving branch. - package.json — drops `dashboard/codemirror.js` from the npm files list and removes the `build:cm` script. Out of scope: the new §7 Edit review surface (Stage 4 PR 4.15) will live in `dashboard/src/panels/edit-review.tsx` and replaces this slot in the IA conceptually, but that's later in the rollout.
ChasLui
pushed a commit
to ChasLui/DeepSeek-Reasonix
that referenced
this pull request
May 23, 2026
The design mockup deleted §7 Editor in esengine#26 — Reasonix's value is the agent loop, not a VSCode-in-a-tab. The code follows. Net −1535 LoC across nine files; the dashboard bundle shrinks from 137 KB to 121 KB. Removed: - dashboard/app.js — EditorPanel + the lazy CodeMirror loader (~540 lines), the editor drawer overlay in App, the `editor` entry in TABS, the `openFileInEditor` helper, the `open-file` event-bus path, and the four tool-card path-link click handlers (now plain code spans). - dashboard/app.css — 590 lines of editor-drawer / file-tree / CodeMirror skin. The `.tool-card-path-link` hover treatment goes with the click handler. - dashboard/codemirror.js — 36-line CDN loader stub, gone. - scripts/bundle-codemirror.mjs — the build-time CodeMirror bundler, no longer needed. - src/server/api/file.ts — the `/api/files` + `/api/file/<path>` endpoints had no consumer outside the editor panel. - src/server/router.ts — drops the `files` / `file` route cases. - src/server/assets.ts — drops the `codemirror.js` serving branch. - package.json — drops `dashboard/codemirror.js` from the npm files list and removes the `build:cm` script. Out of scope: the new §7 Edit review surface (Stage 4 PR 4.15) will live in `dashboard/src/panels/edit-review.tsx` and replaces this slot in the IA conceptually, but that's later in the rollout.
Closed
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.
Context
The dashboard (
dashboard/app.js) is a 4768-line single-file Preact SPA with no clear state boundaries — 16 panel components inlined, polling-based API sync via ausePollhelper, cross-component coordination via DOMappBus/toastBusevents, no centralised store. A code-level refactor is coming. This PR is the design-mockup prep that the refactor will target. Nodashboard/app.jschanges here.Changes to
design/agent-dashboard.html1. Drop §7 Editor entirely
Reasonix's value is the agent loop, not a VSCode-in-a-tab. Removed:
editorlabel (✎ glyph repurposed for the new §7 below)2. Add §7 Edit review (reclaiming the slot)
GitHub-style multi-file diff review surface. Sub-mockups:
+24 −18, 3 files), unified ↔ split toggle, bulk reject/applyedit_filerequires a paired test event #25 stage 2 (auto-revertedafter a redtest_run)/api/eventsstream, pairedtool.dispatched+tool.result+ post-RFC: Kernel-level red-green — everyedit_filerequires a paired test event #25test_run)The §3 inline diff component also picks up syntax highlighting (reuses
.kw / .com / .strtokens from the code block) and a word-rem demo, so the diff blends visually with surrounding code.New CSS:
.word-add / .word-rem,.diff-row.expand,.diff.splitvariant,.review-summary / .review-mode / .review-file / .review-file-h.3. §12 Semantic — expose the full config surface
The backend (
src/server/api/index-config.ts) has 6 configurable fields; the mockup previously surfaced just one as a read-only list. Replaced theexcluded by patternscard with a realindex configcard:excludeDirs,excludeFiles,excludeExts,excludePatternsrespect .gitignorecheckbox rowmax file bytesnumber inputAdded a new "Config preview" subsec demonstrating the dry-run output of
POST /api/index-config/preview— projected file-count delta, per-reason breakdown, and a sample of files that would change category.Out of scope for this PR
dashboard/app.js/app.css/index.html— no code changes. The refactor is a separate, larger effort.edit_filerequires a paired test event #25 covers the kernel-level invariant; the mockup shows the UI side of that future work.Test plan
design/agent-dashboard.htmlin a browser; confirm visually:git diff main..HEAD --statshows onlydesign/agent-dashboard.html(+254 / −157)