Skip to content

docs: close the development-guide gaps the 2.0.2 release exposed - #33

Open
mattmacrocket wants to merge 1 commit into
mainfrom
docs/development-guide-gaps
Open

docs: close the development-guide gaps the 2.0.2 release exposed#33
mattmacrocket wants to merge 1 commit into
mainfrom
docs/development-guide-gaps

Conversation

@mattmacrocket

Copy link
Copy Markdown
Collaborator

Summary

Three gaps in docs/DEVELOPMENT.md, each of which cost time during the 2.0.2 release, plus one dangling reference.

Not urgent. 2.0.2 is published and unaffected.

1. No documented way to build an installable package

The Local builds table listed only bash scripts/build-pkg.sh. That produces a package you cannot install unless you hold the Developer ID identities, because the postinstall requires the helper to satisfy the release designated requirement. SQUIRRELOPS_LOCAL_TEST_BUILD=1 is the mode that produces something a developer can install, and it was documented only in the release notes.

Added it, along with the one-time opt-in and the fact that the opt-in authorizes one attempt rather than one success.

2. The sensor release instruction does not match reality

The guide said to dispatch Release Sensor before Release Home Distribution. Release Sensor has never been dispatched and currently fails closed: it runs scripts/check-linux-release-boundary.py, and linux_release.mode is blocked.

A macOS Home release only needs sensor-vX.Y.Z to exist as a tag, not a published sensor release. The guide now says that, and points at the review decision required to unblock the sensor path rather than leaving someone to edit the policy to make a release pass.

3. The component-tag precondition was implied, not stated

Dispatching without app-vX.Y.Z and sensor-vX.Y.Z fails in the verify job with:

The embedded app must have an existing independent component tag.

which does not name the missing tag. That is how the first 2.0.2 dispatch failed. Recorded the error text so it is searchable, plus the -s requirement (tag.gpgsign is unset here) and the fact that the tag ruleset restricts deletion, so a tag pointed at the wrong commit cannot be moved.

4. Dangling reference

qa/FUNCTIONAL-TEST-PLAN.md pointed at qa/FINDINGS.md, which PR #31 untracked and gitignored. It now says the file is local-only and why. Dropped the stale branch line while there, since that branch is merged.

Verification

Every claim checked against the tree rather than written from memory:

  • SQUIRRELOPS_LOCAL_TEST_BUILD present in scripts/build-pkg.sh
  • linux_release.mode is blocked in .github/release-policy.json
  • check-linux-release-boundary.py raises on blocked, and is invoked at release-sensor.yml:83
  • tag.gpgsign unset
  • release-sensor.yml has zero runs in history

Docs only, no code changes. Package and supply-chain tests still pass (57).

Three things the guide did not say, each of which cost time during the
2.0.2 release.

The Local builds table listed only `bash scripts/build-pkg.sh`, which
produces a package you cannot install without the Developer ID
identities, because the postinstall requires the helper to satisfy the
release designated requirement. The mode that produces something a
developer can actually install, and the one-time opt-in it needs, were
documented only in the release notes. Added both, including that the
opt-in authorizes one attempt rather than one success.

The release section said to dispatch Release Sensor before Release Home
Distribution. Release Sensor has never been dispatched and currently
fails closed: it runs check-linux-release-boundary.py and
linux_release.mode is blocked. A macOS Home release only needs the
sensor tag to exist, not a published sensor release, so the guide now
says that and points at the review decision required to unblock the
sensor path rather than leaving someone to edit the policy to make a
release pass.

The component-tag requirement was implied by the numbered list but not
stated as a precondition. Dispatching without app-vX.Y.Z and
sensor-vX.Y.Z fails in the verify job with a message that does not name
the missing tag, which is exactly how the first 2.0.2 dispatch failed.
Recorded the error text so the next person can search for it, plus the
-s requirement and the fact that the tag ruleset blocks deletion, so a
tag pointed at the wrong commit cannot be repaired.

Also fixed a dangling reference: the functional test plan pointed at
qa/FINDINGS.md, which PR 31 untracked and gitignored. It now says the
file is local-only and why. Dropped the stale branch line while there,
since that branch is merged.
@cursor

cursor Bot commented Aug 13, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

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