test(ui): cover app.runs.tsx mapping helpers and SavedViews flow - #8773
test(ui): cover app.runs.tsx mapping helpers and SavedViews flow#8773hurryup52 wants to merge 1 commit into
Conversation
mapSignalFidelity, mapAgentRunKind, mapAgentRunBundle, and SavedViews had zero direct test coverage. Export all four (no behavior change) and add branch-level tests: every mapSignalFidelity/mapAgentRunKind branch, mapAgentRunBundle's repo-fallback chain and surface/scoring-snapshot mappings and snapshot-replay construction, and a SavedViews render test covering save/apply/remove. Closes JSONbored#8701
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
|
Tip ✅ LoopOver review result - approve/merge recommendedReview updated: 2026-07-26 04:03:28 UTC
Review summary Nits — 5 non-blocking
Decision drivers
Context & advisory signals — never blocks the verdict
Linked issue satisfactionAddressed Review context
Contributor next steps
Signal definitions
🧪 Chat with LoopOverAsk LoopOver a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://loopover.ai/docs/loopover-commands 🧪 Experimental — new and may change. Visual previewClick any thumbnail to open the full-size screenshot. Before = production · After = this PR's preview deploy. Scroll preview
A short scroll-through clip (desktop) — click either thumbnail to open the full animation. Evidence for scroll-linked behavior a single screenshot can't show. 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.
|
|
This pull request changes UI/visual code but its screenshot evidence is incomplete. Every required viewport × theme combination needs its own before/after image pair in a labeled table row (e.g. "Desktop · Light | before | after"). Still missing: Desktop · Dark, Tablet · Dark, Mobile · Dark. Please resubmit with the remaining rows filled in. See https://github.com/JSONbored/loopover/blob/main/.claude/skills/contributing-to-loopover/SKILL.md for the exact format and examples. This is an automated maintenance action. |








Summary
app.runs.tsx's previously-untested pure mapping helpers (mapSignalFidelity,mapAgentRunKind,mapAgentRunBundle) and theSavedViewssave/apply/remove flow. No production behavior changes — the only non-test edit is adding theexportkeyword to four already-existing functions/types so the test file can import them directly.## UI Evidencebelow, which republishes that same platform-captured evidence in the requested row format rather than manually re-shooting screenshots of a page that doesn't render differently.Scope
type(scope): short summaryConventional Commit format, for examplefix(api): restore profile access checks.CONTRIBUTING.mdand does not reintroduce GitHub Pages, VitePress,site/, orCNAME.Closes #123) — a linked open issue is required for every contributor PR.Validation
git diff --checknpm run actionlint— skipped, no.github/workflows/composite-action changes in this diff.npm run typecheck(vianpm run ui:typecheck, which builds@loopover/ui-kitthen typechecks@loopover/ui+@loopover/ui-miner— clean)npm run test:coveragelocally — this repo's owncodecov/patchgate only measuressrc/**;apps/**(this change) is explicitly excluded (confirmed directly againstvitest.config.ts/codecov.yml, and issue test(ui): app.runs.tsx's pure mapping helpers and SavedViews flow have zero direct test coverage #8701's own body states the same). Ran the applicable local equivalent instead:npx vitest run src/routes/app.runs.test.tsx(35/35 passed) and the fullnpm run ui:test(683/683 passed across@loopover/ui+@loopover/ui-miner).npm run test:workers— skipped, no Workers/backend code touched.npm run build:mcp— ran for local diagnostics only (unrelated package, not part of this diff).npm run test:mcp-pack— skipped, no MCP package changes in this diff.npm run ui:openapi:check— skipped, no API/OpenAPI schema changes.npm run ui:lint— 0 errors (89 pre-existingreact-refresh/only-export-componentswarnings across the codebase, same pre-existing pattern already present on ~20 other route files in this repo).npm run ui:typechecknpm run ui:buildnpm audit --audit-level=moderate— 5 pre-existing high-severity advisories in theeslint/minimatch/brace-expansiondev-dependency chain, unrelated to this change (zero new dependencies added).If any required check was skipped, explain why:
test:workers/test:mcp-pack/ui:openapi:check/actionlintall skipped as not applicable — this diff touches exactly two files underapps/loopover-ui/src/routes/, nothing else.npm run test:ciwas attempted; it fails at the unshardedtest:coveragestep, but every failing test file is inpackages/loopover-mcp/packages/loopover-miner's CLI test suites (stale/missingdist/build artifacts for those two unrelated packages in a fresh clone — confirmed zero diff between this branch andupstream/mainfor every failing file, and confirmed zero failures anywhere underapps/loopover-ui). Ranui:lint/ui:typecheck/ui:test/ui:builddirectly instead, all green, per the boxes above.Safety
UI Evidencesection below with screenshots. — see below.UI Evidence
This PR has no visual or behavioral UI change — the only production edit is adding the
exportkeyword to four already-existing functions/types (mapAgentRunBundle,mapAgentRunKind,mapSignalFidelity,SavedViews); everything else is test code. Also note:apps/loopover-uiis a dark-mode-only build (the theme toggle was removed — seeapps/loopover-ui/src/components/site/theme-toggle.tsx), so there is no Light theme to capture.The table below republishes this platform's own automated before/after capture from the identical commit on the prior submission (#8748, auto-closed by a conflicting check moments after its own review comment reported this same evidence and recommended merge). Every row shows an empty Diff column, confirming no rendering difference:
/app/runs/app/runs/app/runs/test/app/runs/testNo Tablet capture is included above (none was produced by the platform's own automated capture on #8748 either); a Tablet viewport is unaffected by this diff for the same reason the other four rows show no diff — no rendering-relevant code changed.
Notes
mapSignalFidelity(all 4 branches),mapAgentRunKind(all 4 branches, including both inputs that feed the sharedexplain-blockersbranch),mapAgentRunBundle(the full repo-fallback chain, surface→source/boundary mapping, scoring-snapshot fallback, and counterfactual-pooling/snapshot-replay construction), andSavedViews(save/apply/remove render test, plus the disabled-while-default-filters case and localStorage persistence across remounts).main; no code changed between the two, only this PR body's UI Evidence section.