Repository navigation
doctor + sync: say when the speed fixes never reached a project - #597
Merged
Merged
Conversation
An older, locally edited bin/exec.sh, _common.sh or lint-gate.sh (no speed-fix marker) gives a Machine health warning and leads the Recommended fix with the exact sync-project.sh --upgrade-bin command. sync-project.sh names the speed fixes on a hand-edited exec.sh/_common.sh. Field: an ExpenseTracker analysis after the toolkit update still showed a full mxbuild per change with 15 drifted scripts; reproduced with the real pre-#587 scripts. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013jQvaonym9V1wKKfAEPmRr
--upgrade-bin alone runs the full sync (#390); the printed command now installs only the named scripts. Field: the printed command on the stale copy wrote 3 scripts + 3 backups, nothing else; doctor then quiet. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013jQvaonym9V1wKKfAEPmRr
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.
A colleague analysed his ExpenseTracker build after the toolkit update. It still showed a full mxbuild on every change: 45.5 min in total, 57% of all exec time. His project's
bin/had 15 scripts that differ from the toolkit, among themexec.shandlint-gate.sh.sync-project.shnever overwrites a hand-edited copy, so the speed work (#587, #590) never reached his project, and nothing said so.What changes
bin/exec.sh,bin/_common.shandbin/lint-gate.sh. If one lacks its speed-fix marker, doctor warns "speed fixes not active in this project: older local copy of bin/…". The markers aregate_kind_decide,mxtk_mx_check_to_mxbuildandlint-receipt-ok. The warning usesadvise, so the exit code doesn't change.sync-project.sh <project> --upgrade-bin …. Whenexec.shis stale, the command always upgrades its_common.shwith it, and each copy is backed up. This comes before the Gate-mode, sync-folder and machine-speed advice, because until the scripts are current every bench number measures the old path.known_fix_note. It now names the speed fixes on a hand-editedexec.shthat has the exit-code fix (fail_rc) but nogate_kind_decide. It does the same for a_common.shthat has_mxtk_has_modelbut nomxtk_mx_check_to_mxbuild. Older copies keep their existing, older note.skills/speed-setup.md. Taking the current scripts is now the first fix. Claude shows each local edit in one line and asks before replacing anything.Evidence
exec.sh,_common.shandlint-gate.sh, taken froma4d701af^, with a local edit added toexec.sh.sync --dry-runnames the speed fixes onexec.shand auto-refreshes the two unedited copies.test-doctor-bench: 72/0. New case 8d covers:exec.shis named;lint-gate.shis not;test-bug12-sync: 64/0. New case T1c checks that the speed note fires and the exit-code note stays silent.Risk
exec.shnow gets one more WARN line and a different first Recommended fix. That is the intent; the exit code is unchanged.Generated by Claude Code