You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: close out session 0010's remaining sign-off items (session 0015)
Resolves the two items left open in ai-sessions/0010 after its Volume
Balance proposal was approved separately (DECISIONS.md ADR-026, session
0013):
- PROTOCOL.md §6: the CAP-037/CAP-048 dock-timing anomaly is confirmed
resolved (a genuine real-time docking action, consistent with the
existing DECISIONS.md ADR-016) — the "awaiting maintainer sign-off" hedge
is removed.
- DECISIONS.md ADR-024: added a dated Update recording CAP-048's two
counter-example Settable-toggles readings as a documented, unreconciled
HYPOTHESIS exception, not a reversal of the ADR's own FACT.
Both approved by the maintainer directly in chat. ai-sessions/0010 and
ai-sessions/0015 both close as complete; nothing remains pending from
session 0010.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V2WfHWj4DFbq79FSae5KdV
two counter-examples found in a single session, not yet reconciled.**`CAP-048`
1232
+
(`CAP-048-FINDINGS.md` §5, a purpose-built repeat with continuous dock-state video) found two
1233
+
fresh classic reconnects (`17:44:45`, `17:47:42`) reporting `Settable-toggles=0x00` (docked) while
1234
+
the video, checked at essentially the same wire timestamp, shows the case visibly **empty**. Four
1235
+
other readings in the same session (including two same-chandle DLCI reopens, not fresh
1236
+
reconnects) are correct — this is not a reversal of this ADR's own dock-state-indicator finding,
1237
+
which the same session's other readings continue to confirm. 🟡 **HYPOTHESIS, not confirmed:** a
1238
+
fresh reconnect's own Get/Notify may occasionally return a value queried before the Buds' own
1239
+
firmware has settled on an already-changed physical state — offered as a testable direction only;
1240
+
does not by itself explain why the other four fresh reconnects in the same session read
1241
+
correctly. Implementations reading this field on a fresh reconnect specifically (as opposed to a
1242
+
same-chandle DLCI reopen) should treat it as usually, not unconditionally, reliable immediately
1243
+
after connection.
1230
1244
1231
1245
## ADR-025 — Google Play Services (GMS) reverse-engineering is out of scope; DLCI 0x04/0x08 implementation proceeds clean-room, from wire evidence only
(`ai-sessions/0015_MAINTENANCE_RESULT_2026_09_13.md`):** on one of 26 same-session
2501
+
`DECISIONS.md` ADR-022 replications, a chandle shows a **second** "Notify ANC state" frame 18
2502
+
seconds after the first, with no new `08 11` Get frame in between, and its `Settable-toggles`
2503
+
value flips from `0xe8` to `0x00`. `CAP-048` (a repeat with continuous physical dock-state
2504
+
video) reproduced this exact shape (chandle `0x0010`, `17:52:25.14`) and resolved it directly:
2505
+
the video, extracted at the exact wire timestamp, shows a hand actively placing a bud into the
2506
+
case at that moment — a genuine real-time dock-state change while the ACL connection stayed
2507
+
open, **consistent with** (not in tension with) `DECISIONS.md` ADR-016 — the second bud's own
2508
+
docking, 5.4s later, is what then triggers the disconnect, matching ADR-016 exactly.
2509
2509
-[ ]**Added 2026-09-12, `CAP-048-FINDINGS.md` §5:** a genuine, video-confirmed counter-example to
2510
2510
a simple reading of `DECISIONS.md` ADR-024: two fresh classic reconnects (`17:44:45`,
2511
2511
`17:47:42`) report `Settable-toggles=0x00` (docked) while the video, checked at essentially the
@@ -2612,6 +2612,7 @@ leaving them buried in prose elsewhere.
2612
2612
| 2026-09-08 | **`ai-sessions/0003_MAINTENANCE_PROMPT_2026_09_08.md` Phase 3/4 — APK reverse-engineering and capture cross-checks.** **§4.5.5 In-ear detection (`qhr` field 2)** promoted to 🟢 FACT for field-number/category-level identity, maintainer-approved (`DECISIONS.md` ADR-019 Update): the field's existing write site is also reached from the system Settings app's `MaestroDeviceSettingsProviderService` (case `2102`), logged there under the internal category name `"CATEGORY_OHD"` — the specific "In-ear detection" UI-label equivalence stays 🟡 HYPOTHESIS. **§4.2 EQ** — `fyd.d`/`fyd.e`'s call sites traced: field 16 confirmed fed from the slider-drag/preset path; field 18 found reachable *only* via a dedicated "Save EQ" button click handler, directly contradicting (not confirming) `CAP-015`'s own "fires on slider-release" wire-timing hypothesis — recorded as an open tension per the maintainer's own review, not resolved either way. **§6** — `MaestroDeviceSettingsProviderService`'s remaining 5 case IDs traced (field 27, field 11/Multipoint with a new internal-name confirmation and an unreconciled `fpm.ENABLED_HEAD_GESTURES` naming tension, field 5, a non-`qhr` "Feature A" toggle, and a new field 32); `MaestroEndpointService.onCreate()` read via `apktool` smali fallback (a Dagger-multibinding-based, per-call UID-authorization-gated service registry, service names not recovered); `gjv.p()`'s caller re-attempted and still not found (static analysis judged exhausted). **`CAP-041-FINDINGS.md` §8** — full byte-for-byte content diff of the DLCI 0x02 connect-time burst across 4 settings states: content-level clean negative for a settings-state read-back, closing `OBS-007` beyond the prior length-only result. **§6** — a plausible (unconfirmed) structural match found between `CAP-036`'s existing connect-time burst and `qjb`'s `qie`-shaped nested structure; `TrueWirelessHeadset.modelId` confirmed to need the maintainer's own device access, no existing data found | Claude (AI), APK-reverse-engineering + capture-analysis task; one item (`qhr` field 2) maintainer-directed sign-off, prompt `0003` |
2613
2613
| 2026-09-09 |**`ai-sessions/0004_MAINTENANCE_PROMPT_2026_09_09.md` — connection-lifecycle analysis on existing captures.****New §5.2**: DLCI 0x02 (`libmaestro`) reliably opens *last* of the five data-carrying RFCOMM channels on a fresh reconnect — 6 independent instances across `CAP-036`/`CAP-037`/`CAP-041`, zero counter-examples in that condition, one honestly-scoped exception during a mid-session RFCOMM channel-bounce (where the order differs). Maintainer reviewed this directly in the chat session that authored this prompt and explicitly chose to keep it at 🟡 HYPOTHESIS (strong) rather than promote, pending more evidence or an explanation for the one exception | Claude (AI), capture-re-analysis task; maintainer-reviewed, kept at HYPOTHESIS (not promoted), prompt `0004`|
2614
2614
| 2026-09-13 | **`ai-sessions/0013_FEATURE_PROMPT_2026_09_13.md` — pending `0012` decisions resolved.** **§4.5.7 Volume Balance** — the ±100 range and `+100`=Left/`-100`=Right polarity promoted to 🟢 FACT (`DECISIONS.md` ADR-026), maintainer-approved in the same chat session that authored this prompt; matching §6 open item closed. **§4.4/§6 Behavior** — Find My Buds Case/"both simultaneously" scope decision resolved (`DECISIONS.md` ADR-027): v1 ships with Left/Right ring only, Case/"both" out of scope absent a future local mechanism; see `PROJECT.md`'s non-goals and `TODO.md`'s Phase 1 item for the corresponding updates. Also this session: mechanical count corrections to `CAP-036-FINDINGS.md`/`CAP-037-FINDINGS.md` (not a `PROTOCOL.md` change), a bounded APK research pass (`REVERSE_ENGINEERING.md`'s `frb`/`fuh`/`glk`/`gjv` entry and a new "GSND" naming-lead entry), and the first real, buildable/tested Android Studio project (`android/`, five Gradle modules, ANC `FrameEncoder`/`FrameDecoder` implemented and unit-tested against real capture fixtures) — none of which touch this document's own body | Claude (AI), maintainer-directed sign-off session, prompt `0013` |
2615
+
| 2026-09-13 |**`ai-sessions/0015_MAINTENANCE_PROMPT_2026_09_13.md` — resolved `ai-sessions/0010`'s two remaining sign-off items.****§6** — the `CAP-037`/`CAP-048` dock-timing anomaly's "(PROPOSAL, awaiting maintainer sign-off)" hedge removed; the explanation itself (a genuine real-time docking action, consistent with `DECISIONS.md` ADR-016) was maintainer-approved, citing `ai-sessions/0015`. No new FACT beyond ADR-016 was introduced — this only closes a previously-open citation. `DECISIONS.md` ADR-024 gained a dated Update recording `CAP-048`'s two counter-example `Settable-toggles` readings as a documented, unreconciled 🟡 HYPOTHESIS exception, maintainer-approved | Claude (AI), maintainer-directed sign-off session, prompt `0015`|
0 commit comments