Extend scripts/pyauto_status.sh so the dashboard turns from a passive readout into an actionable cleanup checklist:
-
b flag for non-main / non-tracked branches. The BRANCH column shows the name, but main and fix/some-feature look identical at a glance — a forgotten feature branch on a canonical checkout (e.g. euclid_strong_lens_modeling_pipeline has been on fix/extra-galaxies-gui-vis-index for weeks) should pop out. Heuristic: flag with b when current branch != upstream branch component (or upstream=NONE and branch != main).
-
Follow-up commands section at the bottom, grouped by category:
- Pull (clean, behind, not ahead) — copy-pasteable
git -C <abs-path> pull --ff-only per repo.
- Set missing upstream (branch=main, upstream=NONE) —
git -C <abs-path> branch --set-upstream-to=origin/main main.
- Investigate manually — one-line note (no command) for diverged / behind+dirty / unexpected-branch cases.
Section is suppressed entirely when there's nothing to suggest, so the clean case stays quiet.
Replaces the need for a separate pyauto-pull shell function — the printed commands ARE the action. Boring case automated, judgment cases surfaced.
Refs: autoprompt 05 (re-scoped — full /sync skill spec deemed over-engineered now that prompt 03 forbids the catastrophic reset pattern).
Extend
scripts/pyauto_status.shso the dashboard turns from a passive readout into an actionable cleanup checklist:bflag for non-main / non-tracked branches. The BRANCH column shows the name, butmainandfix/some-featurelook identical at a glance — a forgotten feature branch on a canonical checkout (e.g.euclid_strong_lens_modeling_pipelinehas been onfix/extra-galaxies-gui-vis-indexfor weeks) should pop out. Heuristic: flag withbwhen current branch != upstream branch component (or upstream=NONE and branch != main).Follow-up commands section at the bottom, grouped by category:
git -C <abs-path> pull --ff-onlyper repo.git -C <abs-path> branch --set-upstream-to=origin/main main.Section is suppressed entirely when there's nothing to suggest, so the clean case stays quiet.
Replaces the need for a separate
pyauto-pullshell function — the printed commands ARE the action. Boring case automated, judgment cases surfaced.Refs: autoprompt 05 (re-scoped — full
/syncskill spec deemed over-engineered now that prompt 03 forbids the catastrophic reset pattern).