Repository navigation
feat(update-all): add Touch ID support and v0.1.0 release workflows - #135
Conversation
Code review results and scorecardCompleted: merged and v0.1.0 released. On 2026-10-19, the owner confirmed local physical Mac testing, reported Touch ID succeeding without a password prompt, and explicitly authorized release. The prior hardware hold is closed on that owner-provided acceptance. Reviewed the PR against base Standards
No additional substantive Fowler baseline smells were found; tooling-enforced issues were excluded. SpecOne P2 finding, FIXED: “add test runners to ensure the feature works and checks for any regressions” was undermined by the same Cargo sandbox gap. Both reviewers confirmed the correction and its two regression tests. No additional missing implementation, unjustified scope expansion, or confirmed implementation defect was found. The owner has now accepted physical Mac testing and confirmed the Touch ID success path. Native cancellation/password fallback was not independently observed by the agent. Setup still uses the installed helper, while the README and PR title lead with this repository's command rather than highlighting an upstream project. ScorecardScores describe readiness for the stated review scope, not a guarantee against regressions. 5 = applicable review criteria satisfied, using owner-reported hardware acceptance where noted.
Evidence
Owner acceptance record — 2026-10-19
This records the owner's confirmation without inventing individual unreported test outcomes or machine details. Findings by axis: Standards: 2 total, both closed (P2 fixed; P1 accepted by owner). Spec: 1 total, fixed; no open confirmed code defect. Merge respected branch protection; publication completed through the validated release workflow. |
v0.1.0 published
|
Summary
mohelper, checks active legacy/sudo_local rules, and never reads passwords or writes PAM itself.--no-authopts out; CI, redirected runs, Linux, and other manager-only modes skip upfront sudo. Failed authentication stops updates before they start.f3a540f2e7537272afb13debd1632c5f7a37efe6through the successful Release workflow.learnings/dump.md, agent instructions to consult/update it, and a PR checklist. Documents setup, fallback limitations, hardware verification, rollback, tests, and semantic versioning.Regression (ubuntu-latest),Regression (macos-latest), andShell and workflow lint, up-to-date branches, and administrator enforcement. Approval requirements were not added.Assignee: @iamgerwin
Evidence
b1bd459: all 3 required checks passed — macOS regression, Linux regression, and shell/workflow lint.origin/mainhelp lacks--setup-touchid/--no-auth; the safe baseline help assertion fails:Baseline regression: --setup-touchid is not implemented. Updates had no foreground authentication preflight or PR/release workflows.After:
bash scripts/check.sh --lintpasses locally on macOS/system/bin/bash: 28 new tests, all existing statusline/parser tests, all 3 skill validations, syntax checks for 44 Bash scripts plus Zsh, maintained-doc links, and VERSION/changelog/README alignment. ShellCheck error-level checks and actionlint v1.7.7 pass.python3 scripts/release.py --tag v0.1.0passes. Branch-protection API confirms all three required contexts,strict: true, and administrator enforcement.cargoas well ascargo-install-update, isolate inherited Cargo/Rustup homes, and exercise a deliberately broken source guard using a harmless PATH decoy. Both new regressions failed safely before the fix and pass afterward. See the review results and scorecard.f3a540f. Published stable tagv0.1.0was independently verified to point to that merge commit.Merge Danger
Door: Two-way for code; opt-in system settings and GitHub protection require separate rollback.
Blast Radius: Interactive macOS runs including Homebrew now authenticate upfront and stop if it fails; use
--no-authfor the prior behavior. Sourcing update-all no longer starts updates. Explicit Touch ID setup changes system-wide sudo policy; reverting this PR does not undo that setting (mo touchid→ Disable). No sudo keepalive is installed, so long runs may prompt again. macOS/PAM controls fallback; app-owned dialogs, SSH, tmux, closed-lid operation, and unavailable hardware are not guaranteed biometric paths. Main branch protection is a repository setting and survives reverting code. Releases require merge, passing checks, matching stable SemVer metadata, and a main commit; existing releases are never overwritten.