Repository navigation
fix(progress-report): show the build plan once, in the phase cards (#474) - #475
Merged
Merged
Conversation
…pen the now phase (#474) Phase cards now carry the full row detail (Produces/Proves, Depends on, Scripts, Claims) from build-plan-status.sh via --phase-detail; the duplicate 'Full plan tables' block is removed and views A and B stay as their own section. The now phase renders open + selected; phase cards behave as an accordion; #phase-N links and saved reload state still work. Field proof: no real project available in this session; ran against a fixture architecture/build-plan.md (2 phases, 4 rows, claims). grep -c '<td>12</td>' = 1, '<td>3</td>' = 1. Chromium at 375px: now phase open on load, click opens/closes previous, #phase-2 hash opens it, no horizontal scroll. Fixtures run: test-progress-report{,-polish,-pages,-field-fixes,-gitignore}, test-build-plan-json, test-build-plan-status-args, test-windows-msys-paths (all pass). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XruEA24qrAkK7Zqxc5Z59E
…ash link wins on load, real JS assertions Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XruEA24qrAkK7Zqxc5Z59E
… accordion tests (#474) - build-plan-status.sh passes --phase-detail only when progress-report.py knows it, so a generator left behind by a partial sync still writes the page (cards fall back to the short row tables) instead of exiting on "unrecognized arguments". - polish P6b: an old-generator copy without the flag still renders; the copy is checked to reject the flag directly. - polish P6c: the page's own two scripts run in node against a DOM shim with coalesced toggle events: now phase open on load, opening phase 1 closes phase 2, #phase-3 on load wins over the default, restored state wins over the default. Both new cases fail against a mutant. - Remove dead CSS: .ph .scroll and .frag section.phase (.frag .scroll is still used by views A and B). - CHANGELOG: credit MendixMau on the #474 line. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VJgWP5vEoAsNsJYqCDMGNw
Merged
5 of 7 tasks
MendixMau
pushed a commit
that referenced
this pull request
Oct 20, 2026
Keeps both ## Unreleased CHANGELOG entries. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VJgWP5vEoAsNsJYqCDMGNw
6 tasks done
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.
Fixes #474.
What changed and why
The phase cards now are the build plan, so it is shown once. Phase cards (
details.ph) hold the full row detail: #, Kind, Step, Produces/Proves, Depends on, State, Scripts, plus Claims.build-plan-status.shwrites it to a--phase-detailfile andprogress-report.pysplices it into each card. The duplicate "Full plan tables"details#plan-tablesis gone; the plan tally, view A (script folders) and view B (module proof) remain as their own section (#plan-tables). Thenowphase rendersopenwith a selected style; opening a phase closes the previous one (accordion); a#phase-Nlink opens its card and wins over the default on load; a viewer's saved open/closed state survives the 30 s reload and wins over the default.build-plan-status.shpasses--phase-detailonly when the generator supports it (grep -q -- '--phase-detail' "$GEN"), so an olderprogress-report.pyleft bysync-project.sh --only-bin build-plan-status.shor a hand-edited copy still writes the page, with the old short row tables. Dead CSS (.ph .scroll,.frag section.phase) removed. No libraries.Impact
build-plan-status.shandprogress-report.pyship together; the--phase-detailguard covers version skew between them. No shared files (_common.sh,exec.sh,skill-routing.tsv) touched.Field evidence: fixture-only; maintainer field run owed. Reported by a requirements-driven field project at Stage 5.
Test tier: T1 (scoped fixtures, no full suite) on fixture
architecture/build-plan.mdinputs.<td>3</td>once), inside its card with the full columns; the now phase isopen; views A and B stay.--phase-detail(checked to reject the flag directly) still renders the page viabuild-plan-status.sh, with the short row tables.<script>blocks run in node against a small DOM shim with coalescedtoggleevents, asserting: the now phase is open on load; opening phase 1 closes phase 2;#phase-3on load wins over the default; restored state wins over the default. P6b and P6c each fail against a mutant (guard removed / toggle handler removed). No browser run is part of the fixture.bin/check-scripts.sh,bin/check-portability.sh,bin/check-pr-discipline.sh origin/master,bin/check-no-client-data.sh: clean.Word budget: no baseline skill files touched.
Generated by Claude Code
Generated by Claude Code