Repository navigation
Release 1.2.0: "Changed by the Buds", serial numbers, the worn line, two tab moves (ai-sessions/0082) - #21
Merged
Merged
Conversation
…ne, two tab moves Why: the maintainer asked for release 1.2.0 (ai-sessions/0082, chat 2026-10-09). - ANC (i): "Changed by the Buds at HH:MM:SS (a press-and-hold on a bud, or the Buds' own change)." when a Notify the app did not provoke changes the shown mode (AncModeCause: READ / SET_BY_APP / CHANGED_BY_BUDS; reset at Connect). Fixtures: CAP-045 609/612/1583/1755/1818/1849. - Info tab: the component serial numbers from one GetHardwareInfo per Connect, sent last of the Connect-time requests, never retried, not gated by Safe Mode (DECISIONS.md ADR-058). Field 7 read by position: Case, Right bud, Left bud. Fixtures: CAP-036 1415/1423, CAP-024 801/832 (serials redacted, CRC re-sealed). The serials are never logged; the log line carries a count. - Battery card: a "Worn" line derived from the Settable byte, the in-ear detection setting and the charging flags (ADR-059) — no new wire traffic; "probably worn", never a bud named. Fixtures: CAP-065 5465/6334, CAP-064 10394, CAP-062 3760/4845. - Case sounds moved from Controls to gear → Settings; Conversation detection moved from Sound to Controls. The write paths are unchanged (the ai-sessions/0076 fixtures still verify the bytes). One commit for the five items: they share BudsRepository(Impl), the UI state and MainActivity's wiring, and SettingsMenu.kt carries both the serial lines and the Case sounds card — splitting the hunks would leave intermediate commits that do not compile. Tests: :data +17, :domain +7, :ui +14; mutation checks M1–M10 killed (ai-sessions/0082 RESULT §H). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…-position attribution Why: ai-sessions/0082 item 4 was a design study, not a build — the findings belong in REVERSE_ENGINEERING.md with file:line (HearingWellnessNotificationWorker, gau/hwy/gag/fsm, the 67 % / 7-day constants, no Buds-side push in 85 logs), and ADR-058 rests on how the official app labels GetHardwareInfo field 7 (gaa.java:45–96, fwg.java:182–215). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… after 1.2.0 Why: the documents follow the code (PROJECT_RULES.md). ADR-058 (one GetHardwareInfo per Connect) and ADR-059 (the "probably worn" indicator) were accepted by the maintainer in chat 2026-10-09; the serial-position attribution in PROTOCOL.md §6 is promoted with that approval. ADR-060 (volume-level notifications) stands as a labelled Proposed draft — not accepted, nothing built — because scripts/lint_docs.py requires a heading for every cited ADR. ARCHITECTURE §2.4/§3.1/§5a, PROJECT scope, README status, the CHANGELOG [1.2.0] - not yet released block with its known issues, TODO (the CAP-069 §12 item 8 line done; the 1.3.0 candidate and WELL-002 added), the registry rows. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…002, APP_TESTPLAN §V Why: 1.2.0 is released only after a hardware run (RELEASING.md). The skeleton in CAP-071's layout takes the three new things to see, the two moved switches byte for byte, ADR-059's six readings against the ears on film (INEAR-006, incl. CAP-064's ≈ 28 s case), lead L-1 (INEAR-005), and the open film items of TODO.md §2 (C12, S12, T11 with three dumps, H5, S6). Registered planned. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Why: RELEASING.md §4 steps 1–2, chosen at the ai-sessions/0082 checkpoint. No tag, no release.sh, no publication — the verdict waits for CAP-072. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Why: AI_SESSION_LOG_PROCEDURE.md — the prompt and the result of the 1.2.0 session (evidence per item with frames and commands, the checkpoint answers verbatim, the item-4 study with the draft ADR-060, the gate, mutation and compliance tables, the CAP-072 skeleton as a table, deferred items, commits). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
8 of 10 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Prepared release 1.2.0 (versionCode 10200) —
ai-sessions/0082, maintainer decisions in chat 2026-10-09. Not tagged, not built withrelease.sh, not published: the verdict waits for the hardware runCAP-072.What the app user sees differently
Notifythe app did not provoke changes the mode. Nothing sent.GetHardwareInfoper connection, sent last of the Connect-time requests, never retried, not gated by Safe Mode (DECISIONS.mdADR-058, accepted). Never logged.Dosimeterdaily doses, 67 %, once per 7 days; the Buds push nothing). Draft ADR-060 stands as a labelled Proposed entry (not accepted, nothing built) — a 1.3.0 candidate behindWELL-002.Evidence and tests
CAP-045609/612/1583/1755/1818/1849;CAP-0361415/1423 andCAP-024801/832 (serials redacted to first 4 + last 2, CRC re-sealed);CAP-0655465/6334,CAP-06410394,CAP-0623760/4845.:data1644,:domain44,:hardware64,:ui84 tests; the same two pre-existing lint items; 0 compiler warnings. Mutations M1–M10 all killed (RESULT §H).transport.send(the ADR-058 read); AGPL headers on all new files; no serial or MAC in any log line.Hardware run:
captures/CAP-072-…-Group_BH/CAP-072-EVENT-NOTES.md(planned; registered;INEAR-006,WELL-002new;APP_TESTPLAN.md§V).One deviation, flagged: the prompt kept an unaccepted ADR out of
DECISIONS.md;lint_docsrequires a heading for every citedADR-NNN, so ADR-060 is there with status Proposed — not accepted, nothing built (the maintainer chose to keep it so in chat).Test plan
./gradlew --offline --max-workers=2 clean assembleDebug testDebugUnitTest test lint→ exit 0python3 scripts/ensure_footers.py;PYTHONDONTWRITEBYTECODE=1 python3 scripts/lint_docs.py→ exit 0CAP-072on the phone (release verdict by the analysing session)🤖 Generated with Claude Code