Repository navigation
Phase 8: Frontend -- submission scope complete - #19
Merged
withrvr merged 1 commit intoAug 31, 2026
Merged
Conversation
A reviewer who has never seen a terminal can now upload a workbook and
read every output: five routes (upload, runs, run-detail, exceptions,
summary), no auth (matching the API), the template's own shadcn/ui
components throughout, no new UI library.
- run-detail's timeline groups run_events by stage, colors each group
green/amber/red by the worst level inside it -- MASTER_PLAN.md
section 7's exact design ("Green through calculate, amber at control
when the gate blocks, red on failure") -- expandable per stage to
the raw events, never a JSON dump.
- exceptions joins each row's Phase 7 explanation inline
(cause/impact/suggested-fix/owner), filterable by severity.
- summary renders the full "blocked payload" plus a badge naming
which of the three LLM rungs produced the narrative.
- runId is a TanStack Router search param (zod-validated), not a path
param -- route files stay flat, matching the Phase 0 scaffold's own
names exactly.
- Client regenerated (scripts/generate-client.sh) against the current
OpenAPI schema: CollectionsService now exists.
Verified end to end in a real, unmocked headless Chromium against the
actual Docker-served app -- upload dataset_a_original.xlsx, land on
its BLOCKED run-detail page, expand the timeline, click through to
exceptions and summary, zero console errors -- not just tsc/vite build
passing. Also verified a PASSED run (dataset B) renders correctly on
the runs list.
This closes out MASTER_PLAN.md's submission scope, Phases 0-8. Phases
9-13 are presentation-scope extras for the later live demo.
Refs: docs/ARCHITECTURE.md's frontend section, docs/DEVELOPMENT.md
withrvr
merged commit Aug 31, 2026
1ffbb58
into
claude/erp-collection-reporting-workflow-iycqto
2 of 6 checks passed
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.
Phase 8: Frontend
What this adds
Five routes (
upload,runs,run-detail,exceptions,summary), no auth, built on the template's own shadcn/ui components.run-detail's timeline colors green/amber/red exactly per MASTER_PLAN.md section 7's design.exceptionsjoins Phase 7's explanations inline.summaryrenders the full blocked payload plus the LLM-rung source badge.Assessment requirement served
MASTER_PLAN.md Phase 8 done-when: "someone who has never seen the terminal can upload a file and read every output." Verified in a real, unmocked headless Chromium against the actual Docker-served app -- not just a build passing. This is also the submission cut line -- MASTER_PLAN.md Phases 0-8 are now complete.
Docs updated
Verification
Manual: real headless Chromium against
docker compose-served app -- uploaddataset_a_original.xlsx->BLOCKEDrun-detail with colored timeline -> exceptions table (cause/impact/fix/owner render) -> summary (block banner, narrative, region table). Zero console errors. Runs list confirmed showing both aBLOCKEDand aPASSEDrun correctly.Known gaps carried to next phase
docs/DEVELOPMENT.mdfor the reproduction steps.