Repository navigation
feat: t27_dashboard -- session dashboard for the agent and the operator, graded by dashboard.t27 - #19
Merged
Merged
Conversation
…or, graded by dashboard.t27 The logic lives in gHashTag/t27 specs/t27mcp/dashboard.t27 (gHashTag/t27#10249), compiled to wasm/dashboard.wasm with its tables in wasm/dashboard_table.mjs. It grades corpus health, this session's calls and the largest reply, and picks the next step. dashboard.mjs only counts calls per tool and fills the spec's templates. - tools/call records each call's reply bytes, and whether it threw, in the ledger. - t27_dashboard returns one line for the agent and writes the HTML page to tmpdir for the operator. - The same page is served as the MCP Apps resource ui://t27/dashboard: the tool carries _meta.ui.resourceUri, and the server answers resources/list and resources/read and declares the resources capability. Stdio smoke: 19 tools. A failed t27_spec call is counted, and the session is graded bad with the "a tool call failed" next step. JS added: dashboard.mjs 40 lines, server.mjs +28. Refs gHashTag/t27#10066 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Summary by t27-beesThis PR adds Worth a look
Read: 7 files, +156 -5, the whole diff. Head |
…unt before the catch Review points on #19: - A manifest that cannot be fetched is shown with its error in the commit field ("unknown, manifest: fetch failed ..."). It is no longer a silent unknown. The tool and the resource now share one dash() helper. - The page file name carries the process id, so two servers that share tmpdir do not overwrite each other's page. - A successful call is counted inside the try block, so a reply that cannot be measured is counted as a failed call instead of throwing past the ledger. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Owner
Author
|
Addressed in cec86e7:
Not changed:
|
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
t27_dashboardis a session dashboard for both the agent and the human operator. It shows:The grades are ok/unknown/warn/bad, and unknown never adds up to ok.
The logic lives in the spec gHashTag/t27#10249 (
specs/t27mcp/dashboard.t27), compiled towasm/dashboard.wasm, with its tables and templates inwasm/dashboard_table.mjs.dashboard.mjsonly counts calls and fills the templates.Where it shows
_meta.ui.resourceUri = ui://t27/dashboard. The server declaresresources, and answersresources/listandresources/readwithtext/html;profile=mcp-appand a fresh page.Evidence
_metapresent on t27_dashboard, and the failed call counted.t27 MCP bad | corpus at 1d9c5960d: 2402 specs, 2032 ok, 257 warn, 113 fail (warn) | session: 2 calls, 1 errors, largest reply 769 bytes (ok) | next: A tool call failed ...wasm/BUILDrecord, which carries the sha256 of the source, the wasm and the table.dashboard.mjs40 lines,server.mjs+28.Found on the way, not fixed here:
t27_specwith no arguments throws a TypeError ("reading 'toLowerCase'") instead of a typed error.Refs gHashTag/t27#10066
🤖 Generated with Claude Code