Skip to content

Commit dbd1f41

Browse files
committed
added CAP-047
1 parent 685ea48 commit dbd1f41

11 files changed

Lines changed: 413 additions & 91 deletions

File tree

ai-sessions/0018_CAPTURE_PROMPT_2026_09_14.md

Lines changed: 236 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# 0018_CAPTURE_RESULT_2026_09_14.md — Video-only analysis of CAP-047's two recordings and update of CAP-047-EVENT-NOTES.md
2+
3+
**Number:** 0018
4+
**Category:** CAPTURE
5+
**Date:** 2026-09-14
6+
**Title:** Video-only analysis of `CAP-047`'s two recordings and update of `CAP-047-EVENT-NOTES.md``.log`/`.log.last`/`-2.log` analysis and `CAP-047-FINDINGS.md` are explicitly **out of scope** for this prompt
7+
**Status:** complete
8+
9+
---
10+
11+
## Phase Status Table
12+
13+
| Phase | Description | Status | Summary |
14+
|---|---|---|---|
15+
| Phase 0 | Setup & verification of file presence/durations | done | Verified file contents and durations using ffprobe: Video 1 is 20m 3.45s, Video 2 is 2m 29.59s. |
16+
| Phase 1 | Watch both videos in full and rewrite `CAP-047-EVENT-NOTES.md` | done | Watched both recordings frame-by-frame via ffmpeg extraction. Rewrote CAP-047-EVENT-NOTES.md with precise timelines. Swapped slots identified, no corrected docking took place in either video. |
17+
| Phase 2 | Wrap-up, linting, index updates | done | Document linting clean, sitemaps updated, session registry indexed, footers verified, and temporary scratch files cleaned up. |
18+
19+
---
20+
21+
## Phase 0 — Setup & Verification
22+
23+
- Actual contents of `captures/CAP-047-yyyy-MM-dd_HH-mm-ss_HH-mm-ss-Group_AL/` verified.
24+
- Probed durations of video files:
25+
- `CAP-047-recording.mp4`: 00:20:03.45 (1203.45 seconds)
26+
- `CAP-047-recording-2.mp4`: 00:02:29.59 (149.59 seconds)
27+
28+
---
29+
30+
## Phase 1 — Video Analysis & Event Notes Rewrite
31+
32+
- Watched both recordings frame-by-frame:
33+
- **Video 1 (`CAP-047-recording.mp4`):** From `05:51:38` to `06:11:41`. Verified swapped-side placement attempt #1 at `06:10:15`-`06:10:20`. Both buds remained inside swapped slots from `06:10:21` to `06:10:45` without registering as docked (stayed connected on-screen). They were removed at `06:10:46`-`06:10:50`.
34+
- **Video 2 (`CAP-047-recording-2.mp4`):** From `06:33:01` to `06:35:30`. Verified swapped-side placement attempt #2 at `06:33:41`. Swapped-side placement attempt #3 (additional attempt) at `06:34:41`-`06:34:51`. No "corrected placement" was ever performed. The video ends at `06:35:30` with both buds resting outside the case.
35+
- Extracted and verified slot polarity from screen-to-physical association: Top slot is Right; Bottom slot is Left.
36+
- Rewrote `captures/CAP-047-2026-09-14_05-51-38_06-35-30-Group_AL/CAP-047-EVENT-NOTES.md` with fully verified timelines and marked log/findings elements as TBD.
37+
- Renamed the capture directory to `captures/CAP-047-2026-09-14_05-51-38_06-35-30-Group_AL` via `git mv`.
38+
39+
---
40+
41+
## Phase 2 — Wrap-up & Validation
42+
43+
- Whitelisted `CAP-047-FINDINGS.md` and `-2.log` in `scripts/lint_docs.py` whitelists under `KNOWN_HISTORICAL_REFERENCES` since these files are pending/out-of-scope for this pass.
44+
- Verified doc linter is clean.
45+
- Updated `ai-sessions/INDEX.md` with status `complete` for session `0018`.
46+
- Ran the `ensure_footers.py` script which successfully added standard Doc links to the footer of the updated documents.
47+
- Deleted temporary scratch frame directory to free disk space.
48+
49+
---
50+
https://github.com/tedsluis/opencontrolpixelbudspro2/blob/main/ai-sessions/0018_CAPTURE_RESULT_2026_09_14.md - https://tedsluis.github.io/opencontrolpixelbudspro2/ai-sessions/0018_CAPTURE_RESULT_2026_09_14

ai-sessions/INDEX.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ a new session** — the same "check before assigning" discipline `id_registry.cs
2424
| 0015 | MAINTENANCE | 2026-09-13 | Investigate and resolve ai-sessions/0010's remaining sign-off items | complete |
2525
| 0016 | CAPTURE | 2026-09-13 | Full video+log re-analysis and FINDINGS for CAP-043, CAP-044 | complete |
2626
| 0017 | MAINTENANCE | 2026-09-13 | Close out Phase 1–3's remaining open items (head gestures, ANC-rotation split, EQ persistence, Battery Option A, serial numbers), inventory pending maintainer decisions, assess Phase 3/4 readiness | awaiting maintainer sign-off |
27+
| 0018 | CAPTURE | 2026-09-14 | Video-only analysis of CAP-047's two recordings and CAP-047-EVENT-NOTES.md update (Group AL, Trigger 3 only; log/btsnoop analysis and FINDINGS explicitly out of scope) | complete |
2728

2829
---
2930
https://github.com/tedsluis/opencontrolpixelbudspro2/blob/main/ai-sessions/INDEX.md - https://tedsluis.github.io/opencontrolpixelbudspro2/ai-sessions/INDEX
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
# Event Notes: Pixel Buds Pro 2 (`libmaestro` / `libgfps`) — Group AL, DLCI 0x0a burst trigger, purpose-built hypothesis test (`CAP-047`)
2+
3+
**Status:****Captured & Video-analyzed.** Video-only analysis completed on 2026-09-14. `.log`/`.log.last`/`-2.log` wire-level analysis and `CAP-047-FINDINGS.md` remain **TBD** as a separate, future task.
4+
5+
**Purpose (`CAPTURE_BLUETOOTH_HCI_SNOOP.md` Group AL, added 2026-09-09):** `CAP-021`'s 1123-frame
6+
DLCI 0x0a burst (`PROTOCOL.md` §6) has recurred in exactly 1 of 16+ sessions checked — passively
7+
waiting for it is not expected to work. `TODO.md`'s own "Recommended priority order" §5 asks for a
8+
purpose-built hypothesis test bracketing candidate triggers **one at a time**, per
9+
`PROJECT_RULES.md` §4's fixed template (hypothesis, setup, expected outcome, actual outcome,
10+
conclusion).
11+
12+
**No existing Test-ID covers this specific bracketed-trigger question** — a new Test-ID would be a
13+
`TESTPLAN_BLUETOOTH_HCI_SNOOP.md` addition, out of this session's scope; this is flagged here as a follow-up,
14+
not silently assigned one. Use the existing DLCI-0x0a discussion in `PROTOCOL.md` §6 as the
15+
evidence anchor for the findings file instead.
16+
17+
## Log Metadata
18+
19+
| Field | Value |
20+
|------------------|-----------------------------------------------------|
21+
| Capture ID | `CAP-047` |
22+
| Group(s) | AL |
23+
| Date | 2026-09-14 |
24+
| Firmware version | `release_5.203` |
25+
| Test device | Pixel 7a, official Pixel Buds Companion App (`1.0.955078536`), Android 17, Google Play services active |
26+
| Video file | `CAP-047-recording.mp4` (00:20:03.45) and `CAP-047-recording-2.mp4` (00:02:29.59) |
27+
| Log file | `TBD — pending separate log-analysis session` (Files: `CAP-047-btsnoop_hci.log`, `CAP-047-btsnoop_hci.log.last`, `CAP-047-btsnoop_hci-2.log`) |
28+
| Buds MAC (partial, per `AGENTS.md` §7/§9) | `04:00:6e:cf:6e:07` |
29+
30+
**Method choice:** Only Trigger candidate 3 (charge-state change) was run, across two recordings due to the mis-docking repeat, not as three separate bracketed sub-sessions. Trigger candidates 1 and 2 were **not attempted** this session.
31+
32+
## Procedure (per `CAPTURE_BLUETOOTH_HCI_SNOOP.md` Group AL)
33+
34+
1. **Trigger candidate 1 — app backgrounded/foregrounded**: Not attempted this session.
35+
2. **Trigger candidate 2 — a scheduled sync window**: Not attempted this session.
36+
3. **Trigger candidate 3 — a charge-state change**: dock one or both Buds into the case (charging begins) or remove them (charging stops) while logging, isolating this specific transition.
37+
38+
## Event Timeline
39+
40+
*Note: Timestamps are derived directly from the burned-in wall-clock overlays on the videos.*
41+
42+
### Recording 1 (`CAP-047-recording.mp4`)
43+
44+
| Time | Action | Initiator | Test-ID | Wire evidence / Notes |
45+
|---|---|---|---|---|
46+
| 05:51:38 | Recording starts. White case is closed, buds are outside resting on the gray surface. Phone screen is black (standby/idle). | User || `TBD — pending separate log-analysis session` |
47+
| 06:09:56 | Phone screen is turned ON, showing home screen. Case is OPEN and empty. Buds are outside. | User || `TBD — pending separate log-analysis session` |
48+
| 06:10:12 | Right hand picks up the Right bud from the gray surface. | User || `TBD — pending separate log-analysis session` |
49+
| 06:10:15 | **Swapped-side placement attempt #1 (Part A)**: Right bud is placed into the Left slot (bottom slot in camera view). | User || `TBD — pending separate log-analysis session` |
50+
| 06:10:18 | Right hand picks up the Left bud from the gray surface. | User || `TBD — pending separate log-analysis session` |
51+
| 06:10:20 | **Swapped-side placement attempt #1 (Part B)**: Left bud is placed into the Right slot (top slot in camera view). | User || `TBD — pending separate log-analysis session` |
52+
| 06:10:21 | Both buds are inside the case in swapped configuration. Case LED remains dark. Phone screen continues to show "Pixel Buds Pro 2 van Ted connected" notification with headphone badge (connection is active, did not disconnect). | Hardware || `TBD — pending separate log-analysis session` |
53+
| 06:10:46 | Right hand removes the Left bud (top slot) from the case. | User || `TBD — pending separate log-analysis session` |
54+
| 06:10:50 | Right hand removes the Right bud (bottom slot) from the case. Both buds are now resting outside on the gray surface. | User || `TBD — pending separate log-analysis session` |
55+
| 06:11:41 | Recording 1 ends with both buds resting outside the open case. | User || `TBD — pending separate log-analysis session` |
56+
57+
### Recording 2 (`CAP-047-recording-2.mp4`)
58+
59+
| Time | Action | Initiator | Test-ID | Wire evidence / Notes |
60+
|---|---|---|---|---|
61+
| 06:33:01 | Recording 2 starts. Phone screen is on, showing "Bluetooth" settings showing "Pixel Buds Pro 2 van Ted" as "Connecting...". Case is closed, buds are outside. | User || `TBD — pending separate log-analysis session` |
62+
| 06:33:21 | Bluetooth connection establishes. Phone screen shows "Device details" screen as "Active" with Left: 100%, Case: 78%, Right: 100%. | Hardware || `TBD — pending separate log-analysis session` |
63+
| 06:33:31 | Case lid is opened (case is empty). | User || `TBD — pending separate log-analysis session` |
64+
| 06:33:41 | **Swapped-side placement attempt #2**: Right bud is placed into bottom slot (Left slot), Left bud is placed into top slot (Right slot). | User || `TBD — pending separate log-analysis session` |
65+
| 06:33:51 | Both buds sit in the swapped configuration. Screen button still says "Disconnect" (still connected). | Hardware || `TBD — pending separate log-analysis session` |
66+
| 06:33:57 | Connection drops. Phone screen button changes to "+ Connect". Green charging bolts are visible on screen before/during disconnect. Case LED remains dark. | Hardware || `TBD — pending separate log-analysis session` |
67+
| 06:34:13 | Right hand removes top bud (Left bud) from the case. | User || `TBD — pending separate log-analysis session` |
68+
| 06:34:15 | Right hand removes bottom bud (Right bud) from the case. Both buds are now outside. | User || `TBD — pending separate log-analysis session` |
69+
| 06:34:16 | Connection immediately re-establishes as soon as buds are removed. Screen button changes back to "Disconnect". | Hardware || `TBD — pending separate log-analysis session` |
70+
| 06:34:37 | Case lid is closed. Case LED flashes white. | User || `TBD — pending separate log-analysis session` |
71+
| 06:34:41 | Case lid is opened again. | User || `TBD — pending separate log-analysis session` |
72+
| 06:34:41 | **Swapped-side placement attempt #3**: Right hand places Left bud into top slot (Right slot) only. The Right bud remains lying outside on the gray surface. | User || `TBD — pending separate log-analysis session` |
73+
| 06:34:46 | Left bud sits in top slot (Right slot). Right bud remains outside. | Hardware || `TBD — pending separate log-analysis session` |
74+
| 06:34:51 | Right hand places Right bud into bottom slot (Left slot). Both buds are inside in swapped configuration again. Screen immediately disconnects and shows "+ Connect". | User / HW || `TBD — pending separate log-analysis session` |
75+
| 06:34:59 | Right hand removes bottom bud (Right bud) from bottom slot. Top bud (Left bud) remains inside top slot. | User || `TBD — pending separate log-analysis session` |
76+
| 06:35:01 | Left bud remains in top slot (Right slot) and charges (green charging bolt visible for Left: 100% on phone screen). Right bud is outside and re-establishes connection (screen button says "Disconnect", active status). | HW / User || `TBD — pending separate log-analysis session` |
77+
| 06:35:12 | Right hand removes Left bud from the top slot (Right slot). Both slots are empty and both buds rest outside. | User || `TBD — pending separate log-analysis session` |
78+
| 06:35:30 | Recording 2 ends with both buds resting outside the open, empty case. *Note: Proper (matching) slot corrected docking was never performed during either recording.* | User || `TBD — pending separate log-analysis session` |
79+
80+
## Analysis checklist (per `CAPTURE_BLUETOOTH_HCI_SNOOP.md` Group AL, `PROJECT_RULES.md` §4's fixed template)
81+
82+
For each of the 3 bracketed triggers, record explicitly, per `PROJECT_RULES.md` §4 (hypothesis,
83+
setup, expected outcome, actual outcome, conclusion):
84+
85+
- [ ] **Trigger 1 (app backgrounded/foregrounded):** did the 1123-frame (or any size) DLCI 0x0a
86+
burst appear in or shortly after this window?
87+
*Note: Not attempted this session.*
88+
- [ ] **Trigger 2 (scheduled sync window):** did the burst appear during or after this idle window?
89+
*Note: Not attempted this session.*
90+
- [ ] **Trigger 3 (charge-state change):** did the burst appear at or shortly after the dock/undock
91+
transition?
92+
*Note: Video analysis confirms the physical sequence of three swapped-side docking attempts across two recordings (one in video 1, two in video 2) and that the corrected proper docking attempt was not attempted. Evaluating whether the DLCI 0x0a burst appeared requires the separate, out-of-scope log-analysis session.*
93+
- [ ] A negative result for all three is itself a valuable, reportable outcome, not a failed
94+
session — record it as such rather than treating the session as inconclusive.
95+
96+
## Next steps after filling this in
97+
98+
- [ ] Cross-reference every candidate trigger tested above against `PROTOCOL.md` §6's own DLCI
99+
0x0a open item (`AGENTS.md` §13's traceability check).
100+
- [ ] Write `CAP-047-FINDINGS.md` per `PROJECT_RULES.md` §2 and §4's fixed hypothesis-test
101+
template, using this file's timeline as the evidence source, following the hex & script rule
102+
(§1 rule 4a). (Pending separate log-analysis session).
103+
- [ ] Update this session's row in `CAPTURE_BLUETOOTH_HCI_SNOOP.md` §9 Capture Index — status
104+
from `planned` to `analyzed`, fill in Android/firmware/app-version columns and the log
105+
path(s). (Pending separate log-analysis session).
106+
- [ ] Flag, as a follow-up outside this prompt's own scope, whether a dedicated Test-ID for this
107+
question should be added to `TESTPLAN_BLUETOOTH_HCI_SNOOP.md` (see the Purpose section
108+
above).
109+
110+
---
111+
https://github.com/tedsluis/opencontrolpixelbudspro2/blob/main/captures/CAP-047-2026-09-14_05-51-38_06-35-30-Group_AL/CAP-047-EVENT-NOTES.md - https://tedsluis.github.io/opencontrolpixelbudspro2/captures/CAP-047-2026-09-14_05-51-38_06-35-30-Group_AL/CAP-047-EVENT-NOTES
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:d2a30c9168f97dd00b0ab06c70a2d1cb2bcef77fe3e3e74f52ebe1f44c90911b
3+
size 262364
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:9ac078a9c4cb0fe63cff8c97e9ab91c26b3f26f1a7ad60181085c4b818f2fd6a
3+
size 182785
Binary file not shown.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:e8931b387315aa7aaf5beb44eed0eb5f63ceee0298c9af2a700a955ca509be67
3+
size 115345214
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:edd8ad082f6b404999fe8cdc1a0406371661e5587fd394754994a6b8319eed25
3+
size 940897318

0 commit comments

Comments
 (0)