Skip to content

new(progress-report): replace build-plan.html with a progress report - #434

Merged
MendixMau merged 13 commits into
release/v1.0from
feat/progress-report
Oct 16, 2026
Merged

MendixMau merged 13 commits into
release/v1.0from
feat/progress-report

Conversation

@MendixMau

@MendixMau MendixMau commented Oct 16, 2026 •

Copy link
Copy Markdown
Owner

What

Replaces architecture/build-plan.html with a generated progress report (architecture/progress-report.html, self-contained, stdlib Python behind build-plan-status.sh). It keeps everything the old page showed (phases, built and proven views) and adds stages P to 6 with artifact links, a progress bar, a sticky stage nav, and, when a Claude Code session log is available, time per stage, sub-agent use, context size, an estimated token and cost figure, a run health strip, a speed panel and a right-hand column of actionable tips.

  • Session logs are optional. Without one the project sections render and time and token data are marked unavailable. Only numbers, stage names, script names, artifact paths and short sub-agent descriptions are read; no prompt or message text is copied.
  • Tips are grouped by theme, collapsed by default, with calm severity. Costs inherent to the toolkit or mxcli (builds, required gates, waiting) are counted but never shown.
  • Context window is read per model from a small table and raised if the log shows more; never a percentage over 100.
  • Setting Progress report: off | ask | auto in PROJECT.md (default ask). Regenerated on every exec.sh slice; the 30 s self-reload applies only while a build is active.
  • An existing build-plan.html is still accepted by gate-check and status.sh and never deleted. --json and build-plan.json are unchanged.

Impact

Row Answer
Process Surface artifact for stage 4 is now progress-report.html; build-plan.html still accepted. New optional PROJECT.md setting.
Dependencies None new. python3 stdlib only; page skipped when python3 is absent.
Context cost render-routing.sh --check: base 75204 words, head 75204 words (budget 80000). Skill words total about 308277 vs 308384 on master.
Behaviour RUN on a real in-progress project (Stage 5, 153 plan rows) with its real session log: stage switch from the first metrics-ledger row, Stage 4 and Stage 5 windows match the chart band and the sub-agent tables, last build step matches the newest ledger row. Fixture tests cover the rest (F10 to F14).
Runtime Generation is a single Python pass over the session log; no network.

Tests

  • tests/wave2/test-progress-report.sh (new): 39 checks on a synthetic project and synthetic JSONL log.
  • tests/wave2/test-build-plan-json.sh: 66 pass. tests/wave2/test-surface-column.sh: 13 pass.
  • bin/check-portability.sh on changed files and render-routing.sh --check: clean.

Not verified

Visual layout (sticky side column, phone order, severity dots) was not viewed in a browser. Full test suite and CI not run locally.

Round 5 measured (head 0a908a3)

  • Generation time on the real project above with an explicit session log: 1 s. With discovery against a 300-file ~/.claude/projects: about 1 s cold, under 1 s warm (discovery cached in .claude/progress-report-sessions.txt; F13 asserts a cached run does not reopen session files).
  • Autoreload keeps the reader's place: scroll position and open sections are saved in sessionStorage and restored, history.scrollRestoration='manual', no reload within 20 s of interaction, and a Live / Pause control (F14).
  • Tests: test-progress-report-field-fixes 90, test-progress-report 101, test-build-plan-json 70, test-build-plan-status-args 6, all passing.

🤖 Generated with Claude Code

MendixMau and others added 3 commits October 16, 2026 19:19
Generated architecture/progress-report.html covers phases, built and proven views, stages P to 6, progress bar, and optional time, token and tip data from session logs (numbers only, no message text). Setting 'Progress report: off | ask | auto'. An existing build-plan.html is still accepted and never deleted.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… builtin-free repeat tips, exact --open URL

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MendixMau and others added 5 commits October 16, 2026 20:37
… window from log or inferred, inherent never hangs, red at 3+ runs

Context window is 1M only when the log records it, else 200k; a context above 200k with auto compactions caps at the compaction point and is labelled inferred. Inherent scripts never make hang tips or health. Red for a key script needs 3+ runs. Tips under a minute and non-script tokens dropped. CHANGELOG matches the code.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Wrap code and values, stack stage label/value rows, let the gates label
drop below the header, scroll the stage nav inside its own container.
Add a static narrow-width CSS test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…wider log discovery, ledger fallback, Build progress)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MendixMau
MendixMau changed the base branch from master to release/v1.0 October 16, 2026 16:21
MendixMau and others added 4 commits October 17, 2026 02:32
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ecision and config-folder scoping

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… cold or warm cache

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e it to project path and rules, cap cold skips, ledger decides the switch

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MendixMau added a commit that referenced this pull request Oct 16, 2026
Remove conflict markers in CHANGELOG, correct the exec timing source, the merged claim and the #434 claims, add the decompose, rehost and mxpatch bullets, and apply the cheap wording fixes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MendixMau
MendixMau merged commit 59cb777 into release/v1.0 Oct 16, 2026
2 checks passed
MendixMau added a commit that referenced this pull request Oct 16, 2026
Drop the stale #434 clause, align the paste-in test rule with the agreed
moments, add the interview-gate hook re-install step, and use the real
skill name learned-multilingual-app.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.

1 participant