Skip to content

Say there are two routes now, and correct which hardware the app claims - #154

Open
parawanderer wants to merge 3 commits into
mainfrom
docs/two-routes-and-hardware-profile
Open

Say there are two routes now, and correct which hardware the app claims#154
parawanderer wants to merge 3 commits into
mainfrom
docs/two-routes-and-hardware-profile

Conversation

@parawanderer

Copy link
Copy Markdown
Owner

Two corrections, both about things that were true once and stopped being true.

README: there are two routes, and the account rule differs between them

The requirements list read as though there were one way to do this — an Apple account, and a computer. There are two, and the distinction is the first thing a reader needs:

  • Reading tags out of an account happens once and must be done as the owner — by the app on the iCloud route, or by the exporter on the zip route.
  • Locating them afterwards only needs some signed-in account.

That is why a zip somebody else exported for you works on an account of your own, and why self-made OpenHaystack tags work at all despite having no owning account. The old wording — "must be the account that owns the tags" — is true of exactly one of the four cases.

AGENTS.md rule 11: the app does not present as an iPhone

Rule 11 said an older install presents a Mac "while a fresh one presents the iPhone". The code declines to do that:

public static final Hardware DEFAULT = LEGACY_MAC;

and generate()'s own comment says IPHONE is built and deliberately not chosen. Worth correcting rather than leaving as a near-miss, because rule 11 exists specifically to stop a second device identity being registered by accident, and it was describing an intention that was never taken.

It now also names what the entries actually look like — MacBookPro on macOS 13.1, serial 0PENTAGVIEWR; the exporter separately on macOS 13.4.1 as 0PENTAGXPORT — which is what somebody reading their Apple device list sees, and is the thing rule 11 asks to be documented.

Timing

The README's two-route section becomes true when app 1.1.0 publishes, not on merge. versionName is 1.1.0 on main and no android-app-v1.1.0 release exists yet, so merging this first leaves the front page briefly describing a route nobody can download. Deliberate, and short.

Left alone on purpose, to be done in one pass at publish: the support table's "the app cannot read them yet (#45)" row, and the wishlist's two 🔴 BLOCKED lines. Both flip when 1.1.0 ships, and flipping them early makes the page wrong in the other direction.


PR description summarised by Claude Code.

**README.** The requirements list said an Apple account and a computer, in that
order, as though there were one way to do this. There are two, and the difference
is the first thing a reader needs: reading tags out of an account happens once and
must be done as the owner - by the app on the iCloud route, or by the exporter on
the zip route - while *locating* them afterwards only needs some signed-in account.

That distinction is why a zip somebody else exported for you works on an account of
your own, and why self-made OpenHaystack tags work at all despite having no owning
account. The old wording said the account "must be the one that owns the tags",
which is true of exactly one of the four cases.

**AGENTS.md rule 11.** It said an install from before the profile choice existed
presents a Mac "while a fresh one presents the iPhone". That is not what the code
does: `Hardware.DEFAULT` is `LEGACY_MAC`, a fresh install gets it, and `IPHONE` is
built and deliberately not chosen - the comment on `generate()` says so.

Worth correcting rather than leaving as a near-miss, because rule 11 is the one
that exists to stop a second device identity being registered by accident, and it
was describing an intention the code declined to take. It now also names what the
entries actually look like - `MacBookPro` on macOS 13.1 with serial
`0PENTAGVIEWR`, the exporter separately on 13.4.1 as `0PENTAGXPORT` - since that
is what somebody reading their Apple device list sees, and it is the thing rule 11
asks to be documented.

**The README's two-route section is true on the day app 1.1.0 publishes**, not
today: `versionName` is 1.1.0 on main and no `android-app-v1.1.0` release exists
yet. Merging this before that publish leaves the front page briefly ahead of what
anybody can download. Deliberate, and worth knowing.

Left alone for the same reason, to be done in one pass at publish: the support
table's "the app cannot read them yet (#45)" row, and the wishlist's two
`🔴 BLOCKED` lines, both of which flip when 1.1.0 ships.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@parawanderer parawanderer added this to the App version 1.1.0 milestone Aug 23, 2026
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