Repository navigation
docs: publish the installation-route upgrade contract - #2630
codeforester merged 5 commits into
Conversation
| environment and optional project artifacts. Project `--dry-run` previews run | ||
| through Base's interpreter and work before the project virtualenv exists, | ||
| without creating or recreating that environment. | ||
| - `basectl update [project]` - update Base by default, or the named consumer |
There was a problem hiding this comment.
Duplicate command entry. This PR adds a brand-new basectl update [project] bullet here (describing the upgrade behavior), but an existing bullet for the exact same command signature already exists further down in this same "Current Public Commands" list (line 232: - \basectl update [project]` - update Base or a named project; Homebrew always...). The two entries now use different, non-identical wording for the same command, which creates drift risk (a future edit to one won't update the other) and is confusing for anyone — human or AI agent via basectl export-context— reading the command list top to bottom. Consider removing one of the two entries, or merging them into the single pre-existing slot nearupdate-profile/version`.
| use the newly linked executable rather than an old Cellar path: | ||
|
|
||
| ```bash | ||
| brew upgrade basefoundry/base/base |
There was a problem hiding this comment.
Dropped --no-ask guidance for direct Homebrew upgrades. This section's brew upgrade basefoundry/base/base command omits the --no-ask flag. The paragraph this PR deletes from docs/shell-startup.md specifically recommended brew upgrade --no-ask basefoundry/base/base "so Homebrew skips the preview prompt path on already-current installs," and that detail still survives, unchanged, in docs/release-process.md and docs/homebrew-upgrade-rehearsal.md for the identical action. Since this new file is now the canonical "Upgrade Contract" that README.md, docs/bootstrap.md, skills.md, and docs/shell-startup.md all point readers to, it should carry the --no-ask flag too (or explain why it's no longer needed) — otherwise this consolidation makes the canonical doc less complete than the docs it supersedes, and the sibling docs it did not touch now disagree with it.
|
Review finding (not inline — file isn't in this diff):
This file wasn't touched by this PR (confirmed via
Since this PR's whole purpose is to eliminate exactly this kind of scattered/contradictory |
|
Re-checked at
Not blocking on CI/mergeability, but these should land before merge to avoid shipping the upgrade docs with an internal inconsistency. |
84d0ec9 to
58df2bf
Compare
Summary
Users lack one reliable upgrade procedure across Homebrew, mutable source checkouts, and stable source tags. Add a canonical upgrade matrix and recovery guide, then link installation, shell, FAQ, command, and agent guidance to it.
The guide distinguishes current-main behavior from v1.10.5:
update --releaseand reconciliation after an unchanged Homebrew version were added later. It covers older-version fallback, direct package-manager/Git operations, active-install selection, setup failures after a ref change, runtime verification, and trust re-review.Issue
Fixes #2597
Related audit corrections are in #2629 / #2628. This PR can be reviewed independently; both are documentation-only and target main.
Validation
bats cli/bash/commands/basectl/tests/update.bats: all 28 cases passed, covering stable-tag upgrade/refusal/recovery, Homebrew reconciliation including unchanged versions, and mutable/project update behavior.update.sh;git diff --checkpassed.Design Impact
Documents the implemented update routes and their boundaries. No runtime changes, automatic trust approval, downgrade capability, or new release-verification guarantee is introduced. Remote tag matching is explicitly distinguished from immutable release/BOM evidence.
Docs Impact
docs/upgrading.mdis the canonical upgrade procedure. README, FAQ, documentation index, bootstrap recipes, shell-startup guidance, Homebrew rehearsal, command reference, andskills.mdnow point to it. Duplicate upgrade procedures were consolidated to reduce synchronization risk. The contract registry links the guide to existing update behavior tests while preserving the need for prose review.AI Context Impact
Add the route-specific update summary and canonical guide reference to
.ai-context/COMMANDS.md.Release Notes
Add the missing Unreleased notes for stable-source
--releasesupport and unconditional Homebrew runtime reconciliation. Published release sections remain unchanged.Demo Impact
None. Existing command and demo behavior is unchanged; upgrade verification and the distinction between Base and consumer-project tests are documented.
Review follow-up
--release <tag>behavior.--release <tag>and the guide link to thebasectl updaterow in the technical overview.For this follow-up revision,
git diff --checkpassed. The broader local test results above were collected before these final edits; hosted checks for the current head are running.