dev
feat/638-top-toast
fix/589-late-reply-log-only
fix/663-triage-internal-actors
fix/652-release-prerelease-flag
feat/610-contact-card-receive
feat/619-contact-identity-uri
fix/581-ack-adoption
epic/568-export-import
fix/580-caplog-partial
release/1.5.0-beta.1
task/501-deviceui-logging
chore/542-assets2
chore/542-assets
docs/519-claudemd-web
main
release/1.4.0
feat/483-button-buzzer-ui
fix/497-mention-verbatim
fix/279-send-width
docs/478-docs-home-research
release/1.3.0
fix/443-battery-optimization-warning
fix/447-close-labeler
fix/445-windows-sqlite3-native-assets
feat/429-companion-sync
fix/395-dm-channel-send-wedge
feat/427-localize-log-share
feat/393-app-log-share
fix/share-icon-android
fix/389-back-nav
feat/385-storage-health
release/1.2.2
feat/367-store-consolidation
chore/365-cut-1.2.1
fix/363-pin-db-path
feat/351-contact-settings-menu
feat/349-window-geometry
feat/355-migration-merge
integration/290-306-335
release/1.1.2-rc.3-allplatforms
fix/309-path-len-decode
chore/298-path-logging
fix/285-ingest-timelog
fix/252-block-outgoing-dm
feat/64-observer-config
feat/batch1-ux
chore/offband-rebrand
v1.5.0-beta.1
v1.4.0
v1.3.0
v1.2.2
v1.2.1
v1.2.0
v1.1.2-rc.3-allplatforms
v1.1.2-rc.3
v1.1.2-rc.2
v1.0.0
observer-g2-rc3
observer-g2-rc4
observer-g2-rc5
observer-g2-rc6
observer-g2-rc7
observer-g2-rc8
observer-g2-rc9
v1.1.0-rc.1
v1.1.0-rc.2
v1.1.0-rc.3
v1.1.2-beta.1
v1.1.2-beta.2
v1.1.2-beta.3
v1.1.2-ble-test
v1.1.2-queuediag
v1.1.2-rc.1
v1.1.2-rc.1-b45-nearbyrep
v1.1.2-rc.1-b46-pathhash
v1.1.2-rc.1-b47-tracewidth
v1.1.2-rc.1-b48-repeatertrace
v1.1.2-rc.1-b49-maptrace
v1.1.2-rc.1-b50-tracefix
v1.1.2-rc.1-b51-originstrip
v1.1.2-rc.1-b52-channelqr
v1.1.2-rc.1-b53-viarepeater
v1.1.2-rc.1-b54-rxfed
v1.1.2-rc.1-b55-topology
v1.1.2-rc.1-b57-routeux
v1.1.2-rc.1-b58-toporeadout
v1.1.2-rc.3-b59-pathlen
${ noResults }
5 Commits (3ac18ffb20ac62bd345f1e531062e9ccd004a588)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
3ac18ffb20 |
docs(#478): re-run the review on Gemini 2.5 per owner decree; new credentials gap
Owner decree of 2026-08-01 (AM msg 348, point 7) binds all Gemini use to 2.5, never 3.x. That message was unread in my inbox when I ran the gate on gemini-3.1-pro-preview. Re-run on gemini-2.5-pro; section 10.1 is now the binding review and the 3.x run is marked superseded. The 2.5 run found a real gap the 3.x run missed entirely: cross-repo clone credentials were never addressed. A CI job in offband-site cloning docs/ out of two other repos needs either a deploy key rotated in three places or a machine-user PAT with repo scope. SAFELANE section 5 prohibits reaching for a new PAT before auditing existing inventory, after the 2026-04-25 proliferation incident, so this is governed rather than free. Added to #491 as a blocking design item. It also pushed harder on two owner-level decisions, surfaced rather than silently re-prioritised: whether deferring offline in-app help is right for a product built for no-connectivity, and whether localization should be planned now given 18 shipped locales. Agent: DustyRiver (session f6f6e512) |
2 months ago |
|
|
a0c2e3566b |
docs(#478): record Gemini review findings and the build constraints they impose
Adversarial review run per standards#145 before opening the PR. The reviewer endorsed the wiki disqualification and did not overturn the recommendation, but found real defects, all landing on the build phase (#491) rather than on this decision. Accepted: - A central nav: block would force a second PR per page. MkDocs docs confirm nav is optional and auto-generates from directory structure, so the build must not use a central nav. Most valuable finding. - Tag-versus-branch was self-contradictory: a post-merge dispatch that rebuilds a pinned tag is a no-op. - No pre-merge docs build, so broken links surface only after merge. - Cross-repo relative links between app and firmware sections. - Language URL segment must be decided before launch, or adding locales later breaks every inbound link. This contradicted my own argument about URL permanence. - Clone-versus-plugin was pre-committed on thin reasoning; now decided on evidence at build time. - Read the Docs was genuinely unassessed. Assessed now, still not recommended: another vendor where Cloudflare Pages already works. Rejected, with reasons recorded: - "RTD natively handles multirepo" is unverified; their MkDocs page does not say it. Not propagated. - "Flutter asset bundling unassessed" is inaccurate; it is option E and epic #492. - "A plain clone breaks the firmware config" overstates it. Agent: DustyRiver (session f6f6e512) |
2 months ago |
|
|
935a2041e9 |
docs(#478): one docs site, build owned by offband-site, not a code repo
Owner asked what happens to meshcore-firmware if the docs build runs in meshcore-client. The original recommendation had the client repo owning docs.offband.org, which was wrong: the hostname is org-level, and the firmware has the stronger claim today since it has ~30 doc files and a configured mkdocs.yml while the client has none. Revised (new section 4.1): sources stay beside their code in each repo, so docs still change in the same PR as the behavior they describe. One MkDocs build aggregates both, owned by offband-site, which is neutral and already has Cloudflare Pages working. Published as /app and /firmware sections under one nav and one search index. Consequence worth noting: the unified site launches with real content on day one from the firmware docs, instead of sitting empty until client docs are written. Agent: DustyRiver (session f6f6e512) |
2 months ago |
|
|
560e29ee70 |
docs(#478): correct the docs.offband.org claim and close out option G
Two corrections to the assessment. 1. docs.offband.org does not exist. nslookup returns NXDOMAIN and curl cannot connect. I had recorded it as "already attached to the offband-site Pages project" by trusting that repo's own CLAUDE.md, CLAUDE.local.md and KNOWLEDGE-TRANSFER.md rather than testing it. Those three files are wrong and should be fixed in offband-site. Consequence: there is no migration conflict. The hostname is unused, so it gets created, not moved. The plan gets simpler. 2. Option G resolved by the owner: the BookStack is OKIMesh's. A second Offband-owned instance is rejected on cost, since BookStack supports only MySQL 8.0+ or MariaDB 10.6+ with no SQLite or Postgres path, plus PHP 8.2+, a webserver and Composer. Cited to BookStack's docs. Agent: DustyRiver (session f6f6e512) |
2 months ago |
|
|
564d24dd39 |
docs(#478): assess where end-user documentation should live
Research deliverable for the docs-home epic. Inventories every existing Offband documentation surface, scores seven candidate homes against the eleven criteria, and recommends in-repo markdown published as a MkDocs Material site. Key findings: - GitHub Wikis are not indexed by search engines below 500 stars; this repo has 3. Cited to GitHub's own docs. Effectively disqualifying for end-user documentation. - meshcore-firmware already contains a complete, never-deployed MkDocs Material config whose exclude_docs block already solves the client's internal-artifact problem. - A BookStack instance already holds Offband-adjacent content; ownership is unverified and is an open question for the owner. No infrastructure was built or changed. Decision requested on five points before plan/build/test children are scoped. Agent: DustyRiver (session f6f6e512) |
2 months ago |