Repository navigation
fix(progress-report): one nav group, one id=stamp, no build-plan.html note (#479 items 1–3) - #486
Merged
Merged
Conversation
… note (#479 items 1-3) - Top bar: drop the Stage P 0..6 chips and their outline observer; the bar is one group of section links (Stages, Build, Pages, Tips) with Stages jumping to the stage rail (id=stages). Sticky and phone rules kept, #stage-N card anchors kept, and the header line now states the current stage. - id=stamp: only the "Last updated" span keeps it. The session-log span, the build/score/plan notes and the footer note get unique ids plus a data-stamp marker. build-plan-status.sh --refresh now ignores lines matching id=stamp|data-stamp, so its no-rewrite rule is unchanged and pages written before this still compare. - Header: "replaces the former build-plan.html" removed. Fixtures: polish P7 (nav, anchors, current stage, unique ids, stamp count, volatile-line markers, --refresh byte-identical); field-fixes F11 flipped, F14 asserts the autoreload's live controls ride on the one id=stamp line. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VJgWP5vEoAsNsJYqCDMGNw
…tage, dead rule, sync note)
- #stages and #build-detail get the 56px scroll margin, so the nav targets
no longer land under the sticky bar; asserted in polish P7.
- An unreadable current stage renders plain "Current stage: unknown"
instead of a link to #stage-P; asserted in polish P7.
- Drop the dead .snav b{flex:0 0 auto} phone rule.
- CHANGELOG: a project with a locally edited bin/build-plan-status.sh keeps
the old id=stamp filter after sync and rewrites the page on every
refresh; it needs sync-project.sh --only-bin build-plan-status.sh
--upgrade-bin build-plan-status.sh alongside this.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VJgWP5vEoAsNsJYqCDMGNw
MendixMau
added a commit
that referenced
this pull request
Oct 20, 2026
Merges six independently reviewed bug fixes. Each was MERGE after one fix round. - #486 progress-report nav (#479 items 1-3) - #480 conformance-check (#470) - #482 page-fidelity popup (#471) - #481 monkey sign-out i18n (#469) - #484 bare $VAR before non-ASCII (#467) - #485 \t in sed/grep brackets (#468) Verified on the integrated tree: - check-scripts, check-portability, render-routing --check, pr-discipline and the leak guard are clean. - progress-report polish 53, field-fixes 105 and pages 54 pass. - conformance-absent-marker 24, monkey-left-app 22, page-fidelity-mocks 78, status-bare-var 3, sed-tab-bracket 9, context-pack 55 and bug03-gates 47 pass. Field runs on real projects are owed by the maintainer. Fixes #479 items 1-3, #470, #471, #469, #467, #468.
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.
Direct lane
What changed and why (one paragraph):
Fixes #479 (items 1–3). Item 4 (page names) is left open for the maintainer. Top bar: the sticky
.snavbar loses theStage P 0 … 6chips (they repeated the stage rail right below) and the IntersectionObserver that outlined them; it is now one group of section links,Stages · Build · Pages · Tips(Tips only when a session log was read), withStagesjumping to the stage rail heading (id=stages).#stagesand#build-detailget the same 56px scroll margin as the other targets, so they do not land under the bar. The bar stays sticky with the existing phone rule (nowrap; overflow-x:autounder 520px), every#stage-Ncard anchor stays, and the header line now starts withCurrent stage: Stage N: <name>, linked to its card (plainCurrent stage: unknownwhen PROJECT.md names no stage).id=stamp: five elements carried it (Last updated, session log last event, the build/score/plan notes, the footer note). Only "Last updated" keeps it. The others get unique ids (lastevent,lastbuild,modelscore,planread,rebuildnote) plus adata-stampmarker. The one reader that depended on the id,build-plan-status.sh --refresh's no-rewrite comparison, now filtersid=stamp|data-stamp. Pages written before this change still compare. The filter now depends on both scripts: a project whosebin/build-plan-status.shis locally edited keeps the oldid=stampfilter after sync (sync reports a modified copy and does not overwrite it). Such a project's page is then rewritten on every refresh until it runssync-project.sh --only-bin build-plan-status.sh --upgrade-bin build-plan-status.sh. The autoreload script never readstamp; it readslivetxt/livebtn, which sit on theid=stampline and stay unique. Header: "replaces the former build-plan.html" is removed (the note stays under "How this was measured" and in the release notes).Impact
project-bin/progress-report.py,project-bin/build-plan-status.sh(refresh filter only). The two must ship together: a project with a locally editedbin/build-plan-status.shkeeps the old filter after sync and rewrites the page on every refresh, so it needssync-project.sh --only-bin build-plan-status.sh --upgrade-bin build-plan-status.shalongside this. Builds on #472 and #475, both on master. No new tools, no new artifact readsField evidence: invented demo projects in the fixtures only. The rendered P7 page has
grep -c 'id=stamp'= 1 and no duplicate ids.--refreshleaves an unchanged page byte-identical. Not yet re-run on a live project.check-scripts,check-portability,check-pr-discipline origin/masterand the leak guard are cleanCHANGELOG.mdline appended, credited "— MendixMau (review 2026-10-20)"https://claude.ai/code/session_01VJgWP5vEoAsNsJYqCDMGNw
Generated by Claude Code