Skip to content

Fold the scan report into the server page - #73

Merged
jbspeakr merged 2 commits into
mainfrom
claude/project-thread-gqcbml
Oct 23, 2026
Merged

jbspeakr merged 2 commits into
mainfrom
claude/project-thread-gqcbml

Conversation

@jbspeakr

Copy link
Copy Markdown
Collaborator

Requested by Jan · project thread

What this changes

The scan report (/mcp/servers/<id>/scan/) repeated the server page's scanner rows with the same status, date and evidence. Only the request transcript and the per-level counts were its own. This PR moves those parts to where they belong and removes the report page:

  • Server page: the status panel shows the passive scan's counts per level (MUST / SHOULD / MAY) and its date, with a link to "Requests". After the feature tables, a new section, "What the scanner asked", shows the transcript (with the M12 print-in motion, unchanged), any either-or notes, and how to reproduce the scan, plus links to scan.json, the data file and the scanner page. Servers with no OAuth or no scan get a short note in the same place.
  • Scanner page: keeps "How the summary is counted" and now lists every requirement the scanner does not check, not just three examples. "Where the results show" now points to the server page.
  • /mcp/servers/<id>/scan/ redirects to the server page (so does the older /scanner/<id>/). scan.json stays.
  • Matrix: the quiet link next to each server name now reads "scan" and opens /mcp/servers/<id>/#scan.
  • ScanTranscript.astro replaces ScanReport.astro. Spec 017 is amended (FR-007 to FR-009, tasks T11–T16). README, docs/architecture.md and docs/scanner.md are updated.

One edge case to know about: if a manual observation is newer than the scanner's, the row on the server page shows the manual status, while the per-level counts still come from the scanner's own observations (as they did on the report).

Before/after screenshots are in the project files under review/scan-fold/.

Code checklist

  • pnpm check passes.
  • Pages still read fully without JavaScript; no new island (the transcript script was moved, not added to).
  • Both themes checked; screenshots updated only for intended changes. The baselines for the matrix ("report" became "scan"), the scanner page and the server page's status panel need a refresh from CI's Chromium. The report-* baselines are deleted. Locally, all e2e tests in scanner, server-page and matrix pass except the screenshot comparisons, which fail on any page here because the local Chromium differs from CI's.

Generated by Claude Code

The scan report repeated the server page's scanner rows with the same status, date and
evidence; only the request transcript and the per-level counts were its own. The server page
now prints the counts per level in its status panel and "What the scanner asked" after its
feature tables. The scanner page carries how the summary is counted and lists every
requirement the scanner does not check. /mcp/servers/<id>/scan/ forwards to the server page;
scan.json stays.

- ScanTranscript.astro replaces ScanReport.astro; scan.astro removed
- matrix "scan" link opens the server page's #scan section
- spec 017 amended (FR-007 to FR-009); README, architecture, scanner docs

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TGqDwTwUQwBNWtbGzgXsYr
@jbspeakr jbspeakr added the refresh-screenshots Regenerate Playwright screenshot baselines with CI's Chromium and commit them to the PR branch label Oct 23, 2026 — with Claude
@jbspeakr jbspeakr self-assigned this Oct 23, 2026
On the server page the ladder sits below the fold, so the check could run before the
ladder started and catch a line mid-fade.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TGqDwTwUQwBNWtbGzgXsYr
@github-actions github-actions Bot removed the refresh-screenshots Regenerate Playwright screenshot baselines with CI's Chromium and commit them to the PR branch label Oct 23, 2026
@jbspeakr
jbspeakr merged commit 437302f into main Oct 23, 2026
1 check passed
@jbspeakr
jbspeakr deleted the claude/project-thread-gqcbml branch October 23, 2026 11:28
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.

2 participants