Skip to content

feat(update): doctor redirects to the update flow to fix update-class issues#449

Merged
githubrobbi merged 3 commits into
mainfrom
feat/doctor-update-redirect
Jun 17, 2026
Merged

feat(update): doctor redirects to the update flow to fix update-class issues#449
githubrobbi merged 3 commits into
mainfrom
feat/doctor-update-redirect

Conversation

@githubrobbi

@githubrobbi githubrobbi commented Jun 17, 2026

Copy link
Copy Markdown
Collaborator

Completes the self-update-robustness series (#446 #447 #448). uffs --update doctor already diagnoses; now when it finds an issue the update flow fixes
— out of date, version-skewed, or missing a core binary — it redirects
there instead of teaching the health-check helper the core set:

  • piped / non-TTY → prints a → run \uffs --update`` hint;
  • interactive TTY → asks "Run uffs --update now to fix this? [y/N]";
  • --repair / repair → runs the update flow automatically, after the
    helper's local self-heal (resume/rollback, sweep backups, restart services).

Keeps the architecture clean — the uffs-update helper stays a dumb snapshot
processor; the CLI (which owns KNOWN_BINARIES) decides what "incomplete" means
and how to fix it. --offline skips the redirect (assess needs the release
feed); the prompt never blocks a non-TTY caller (returns "no" → hint).

Host clippy (strict) clean; uffs-cli tests pass.

… issues

`uffs --update doctor` already diagnoses; now, when it finds an issue the
update flow fixes — out of date, version-skewed, or **missing a core binary**
— it redirects there instead of teaching the health-check helper the core set:

- piped / non-TTY: prints a `→ run \`uffs --update\`` hint;
- interactive TTY: asks "Run `uffs --update` now to fix this? [y/N]";
- `--repair` / `repair`: runs the update flow automatically (after the helper's
  local self-heal — resume/rollback, sweep backups, restart services).

Keeps the architecture clean: the helper stays a dumb snapshot processor; the
CLI (which owns the core set) decides what "incomplete" means and how to fix it.
`--offline` skips the redirect (assess needs the release feed). The prompt
never blocks a non-TTY caller — it returns "no" and falls back to the hint.

Host clippy (strict) clean; uffs-cli tests pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
githubrobbi and others added 2 commits June 17, 2026 09:17
… doc

Dev-facing docs to match the user manual:
- cli-grammar.md: add `repair` + `bins` to the `--update` action surface;
  note repair = doctor --repair alias, the doctor→update redirect, and that
  bare update reconciles the whole core set (adds a missing core binary).
- UFFS-Self-Update-Feasibility-and-Design.md: add a §4.1 as-built addendum
  (action-based grammar) covering completeness (#447/#448), the repair verb +
  doctor redirect (#446/#449), and the journal to_version fix (#446).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@githubrobbi githubrobbi merged commit a5ec746 into main Jun 17, 2026
28 checks passed
@githubrobbi githubrobbi deleted the feat/doctor-update-redirect branch June 17, 2026 16:54
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