summaryrefslogtreecommitdiff
path: root/docs
Commit message (Collapse)AuthorAgeFilesLines
* fix(pin): the work after a PIN and the change queue run in stepscirakg3 days5-5/+38
| | | | | | | | | | | | | | | | | | | | | | | | After a correct or new PIN, promoting pending entries and applying waiting "Require PIN" changes ran in the event of the last PBKDF2 step; 16 waiting changes tripped the watchdog on the Forerunner 70. ChangeQueue.LockJob now does it in steps while the PIN screen shows "Checking...", saves what it did to the results and refreshes the glance after Set PIN too. The list title decrypted every waiting change at each start. Queue items are now [action, box] (aad OTPW-Q-2 + action code), so they are counted without decrypting; 0.9.0 items are still read. A replacement is checked when it arrives and its material is sealed apart (qm.<n>). Large buffers are wiped and UTF-8-checked in pieces (Jobs.Wiper, Bytes.utf8Prefix, SealedBox.openKeep/sealKeep). "Phone changes" reads behind "Reading...", and Confirm all / Reject all act only on the changes shown. Storage full no longer stops the app at the PIN. Found by the review of b8addc8/096b5a4 and a new make watchdog test; the diff was reviewed again and its findings fixed. fr70: make lint, make test (176), make watchdog (19 cases at two steps per event), make screenshots pass; list_locked and list_reset goldens show "Results ready (menu)". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* build: test on the Forerunner 70 only by default; ALL=1 for every devicecirakg3 days2-4/+4
| | | | | | | | | Unit tests, perf, memory, lint builds, screenshots and the watchdog test run on the owner's Forerunner 70 alone unless ALL=1 is given, which keeps runs and screenshot reviews short (8 instead of 65 minutes for the screenshots). make build defaults to the Forerunner 70 too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* chore(release): 0.9.0, the fixes from the first real-watch roundv0.9.0cirakg4 days3-3/+45
| | | | Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* docs: 4-digit PIN, the offline-guessing limit, Manage needs Applycirakg4 days4-13/+21
| | | | Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* docs: record the settings spike and the Forerunner 70 benchmarkcirakg4 days2-14/+45
| | | | | | | | | | Spike (2026-10-21, Android): 8000 characters per field and 64,000 in total arrive; URIs with & save; the mixed special-character string is refused, so the test strings now split it into one group each plus a fake Aegis export. Benchmark: SHA-1 TOTP 18 ms, SHA-512 732 ms, PBKDF2 2,000 iterations per second. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* docs: the Forerunner 70 is AMOLED; barcodes go to full brightnesscirakg4 days1-4/+4
| | | | Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* docs: how a sideloaded build is removed from the watchcirakg4 days2-3/+6
| | | | | | | The watch removes the .prg after installing it; the app is removed from the watch's own menu and its fr70.* storage files deleted by hand. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* docs: your step-by-step guide to the on-watch tests before 1.0.0cirakg8 days2-1/+301
| | | | Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* docs: user guide, known limitations and M8 results; bump to 0.8.0v0.8.0cirakg9 days6-9/+313
| | | | | | | 0.8.0 is the release candidate: 1.0.0 is tagged after the on-watch checklist (docs/TESTING.md). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* docs: record M7 (settings forms) results; bump to 0.7.0v0.7.0cirakg9 days5-3/+71
| | | | Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* docs: record M6 (all 12 symbologies) results; bump to 0.6.0v0.6.0cirakg9 days2-1/+23
| | | | Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* docs: record M6c (Data Matrix, PDF417) resultscirakg9 days2-0/+21
| | | | Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* docs: record M6b (QR) resultscirakg10 days3-2/+34
| | | | Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* docs: record M6a (linear barcodes) resultscirakg10 days2-1/+17
| | | | Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* docs: record M5 results; bump to 0.5.0v0.5.0cirakg10 days4-1/+68
| | | | Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* docs: record M4 results and simulator findings; bump to 0.4.0v0.4.0cirakg10 days5-11/+87
| | | | Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* docs: document the storage format and record M3 results; bump to 0.3.0v0.3.0cirakg10 days5-0/+188
| | | | Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* docs: record M2 results and bump version to 0.2.0v0.2.0cirakg11 days4-2/+50
| | | | | | | | | CHANGELOG 0.2.0; PERFORMANCE (simulator benchmarks and what they mean for the watch); TESTING (vector sources, M2 results, watchdog caveat); FEASIBILITY (verified: no native HMAC-SHA1, AES-256 works, Long semantics); README status and targets; developer-guide Monkey C facts. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat(spike): add the M1 settings spike app and make targetscirakg11 days1-0/+92
| | | | | | | | | | A separate throwaway app (own app ID, no permissions) that shows what the Garmin Connect app delivers per settings field and writes values back, to measure the undocumented settings limits on the real phone and watch. Includes length-marked test strings, `make spike` / `make spike-sim`, `make vectors`, and step-by-step instructions in docs/SETTINGS_SPIKE.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* docs: add developer, testing and performance guides; record M0 resultsv0.1.0cirakg11 days4-0/+193
| | | | | | | | | | | | - DEVELOPER_GUIDE: workflow, how the tooling works (verified simulator behaviour), conventions and how to add devices. - TESTING and PERFORMANCE: test layers, M0 results and measured numbers. - FEASIBILITY: what M0 verified (watchdog 120k/240k, 10 MB storage in device profiles, unreliable monkeydo exit code, icon sizes). - README status, new make targets and layout; CHANGELOG 0.1.0. - Author/Summary headers on every document, including the original brief. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* docs: record final decisions, test watch and SDK login detailscirakg11 days1-8/+9
| | | | | | | | | | | - README: Forerunner 70 is the test watch, the phone is Android, Docker access is settled; how `make sdk` logs in and why the browser login can't be used; the new `make products` and `make lock` targets. - FEASIBILITY: final decisions D1-D5. - Space out table separator rows and turn bold-only lines into headings so markdownlint passes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Inital commit.cirakg11 days1-0/+288