Skip to content

docs: catch the documentation up with what the site does - #763

Merged
hokiepokedad2 merged 3 commits into
developfrom
docs/catch-up-with-2.16
Aug 20, 2026
Merged

docs: catch the documentation up with what the site does#763
hokiepokedad2 merged 3 commits into
developfrom
docs/catch-up-with-2.16

Conversation

@hokiepokedad2

Copy link
Copy Markdown
Contributor

Two swarms: ten agents auditing, thirteen writing and verifying. 101 findings, 30 files changed, 11 screenshots retaken.

What was wrong

35 of the findings were sentences that would mislead a reader today, not gaps:

  • The in-app help told people to open "Areas & Location". That's been Areas & Places since refactor(where): Areas and Places are one surface #738.
  • Alarm docs described the two-mode "Use Areas / Set Distance" delivery model that the per-alarm scope replaced.
  • The change_types list for fort alarms omitted description.
  • Quests had no filter documentation at all, so stardust and minimum amounts had nowhere to live.
  • internationalization.md sent readers to a renamed page for a setting that had moved to the user menu.

The in-app help, in eleven languages

That content is 37–42k characters of HTML per locale. The audit found things a naive pass would have broken: fr.json is condensed rather than faithful (three bodies structurally shorter, alt texts still English), so every edit matched sentences by content, never by position. nl, pl and pt carry all 37 section headers in raw English — pre-existing, and not "fixed" wholesale here. Angular's sanitizer already strips the inline styles on the Pokemon colour pills, so no more were added.

Screenshots

Eleven retaken at 1440×900 against the running dev deployment, matching the existing house style. Four are new: the scope picker, the delivery chip on a card, the Places section, the Versions card.

Demo data — a pin, three saved places, four areas, six varied alarms — was seeded directly into the dev database rather than through the API, so the bot sent no DMs. The account has been restored to its exact prior state: pin back to 0,0, areas empty, ten original alarms, no places. Verified after.

The audit's advice that 35 of the 42 existing screenshots are referenced by nothing was followed: they were left alone.

Verification

Every claim the writers made was checked against the code by a separate adversarial pass. Nineteen failed and were corrected, including one this session had repeated in a PR description of my own: the update check is not the only outbound call PoracleWeb makes — MasterDataService fetches the masterfile from raw.githubusercontent.com on any visit. #760's description is wrong about that; the docs now aren't.

Others worth naming: custom_title isn't the only publicly visible setting (PublicKeys has five), DATA_DIR's default differs between its three consumers, and disable_user_geofences doesn't gate delete — a code finding that fell out of documenting it.

Also reconciled two places where the docs contradicted each other: where weather data comes from, and which writes still bypass the proxy.

Caught by the verifier, not by me

Two files came back with their line endings flipped CRLF→LF, which showed as a 246-line diff on a 16-line change. Restored, so the diffs show content.

Backend 1995 tests, frontend 1105, mkdocs build --strict clean.

Note on publishing: docs.yml deploys the site on pushes to main, so GitHub Pages won't change until a release ships.

https://claude.ai/code/session_01Nah4N2sGFs1TU2t7DXfKzJ

Spotted while taking a documentation screenshot of the Delivery tab: "Message
Settings" was flush against the scope picker, measured 0px of gap.

The heading margin added in #750 exempts the first heading in a tab, which is
right when that heading starts the tab and wrong otherwise. :first-of-type
matches the first h4 among its siblings whatever precedes it, so a heading that
follows a control still lost its margin. :first-child is the predicate that
matches the intent.

Refs #730

Claude-Session: https://claude.ai/code/session_01Nah4N2sGFs1TU2t7DXfKzJ
Audited the README, the 31-page docs site, the in-app help and both screenshot
sets against the code. 101 findings: 35 sentences that would actively mislead a
reader today, 38 features never documented, 21 stale, 7 cosmetic.

The corrections that matter most are the ones that had gone wrong rather than
merely missing. The help told people to open "Areas & Location", which is now
Areas & Places. Alarm docs described the two-mode "Use Areas or Set Distance"
delivery model that the per-alarm scope replaced. The fort change_types list
omitted description. Quests had no filter documentation at all, so stardust and
minimum amounts had nowhere to be described. internationalization.md sent
readers to a page that had been renamed and a language setting that had moved.

The in-app guide is corrected in all eleven locales. That content is 37,000 to
42,000 characters of HTML per locale, and the audit found fr.json is condensed
rather than faithful, so edits matched sentences by content rather than
position.

Eleven screenshots were retaken at 1440x900 against the running dev deployment,
with demo data seeded directly into that database and removed afterwards -- the
account is back to the state it was in. Four are new: the scope picker, the
delivery chip on a card, the Places section, and the Versions card.

Every factual claim the writing pass made was checked against the code by a
separate reviewer. Nineteen failed and were corrected, including one this
session had repeated in a PR description: the update check is not the only
outbound call PoracleWeb makes -- MasterDataService fetches the masterfile from
raw.githubusercontent.com on any visit.

Also fixed while reading: docs disagreed with each other about where weather
data comes from and which writes bypass the proxy.

Refs #730

Claude-Session: https://claude.ai/code/session_01Nah4N2sGFs1TU2t7DXfKzJ
@github-actions github-actions Bot added the docs label Aug 19, 2026
@hokiepokedad2
hokiepokedad2 merged commit 4235178 into develop Aug 20, 2026
6 checks passed
@hokiepokedad2
hokiepokedad2 deleted the docs/catch-up-with-2.16 branch August 20, 2026 01:26
hokiepokedad2 added a commit that referenced this pull request Aug 20, 2026
I ran `mkdocs build --strict` to check the docs site still builds, which writes
site/ next to docs/, and the commit in #763 swept 125 generated files and 12MB
into the repository. Nothing reads them: docs.yml runs mkdocs gh-deploy itself
from docs/.

Removed and added to .gitignore so the next person checking a docs build does
not repeat it.

Claude-Session: https://claude.ai/code/session_01Nah4N2sGFs1TU2t7DXfKzJ
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant