From c1b03df27f6d8d8fc31ed06aa4aa68506a1e98cf Mon Sep 17 00:00:00 2001 From: Aiden <68633820+awils27@users.noreply.github.com> Date: Wed, 13 May 2026 20:04:49 +1000 Subject: [PATCH] run 26 --- captures/rcp-heartbeat-e8-no-a0.txt | 24 ++++++ captures/rcp-heartbeat-e8-with-a0-control.txt | 29 +++++++ captures/rcp-heartbeat-e9-no-a0.txt | 23 +++++ captures/rcp-heartbeat-e9-with-a0-control.txt | 27 ++++++ docs/discovery-notes.md | 85 +++++++++++++++++++ docs/pt2-protocol-summary.md | 9 +- docs/pt2-state-map.md | 20 ++++- 7 files changed, 212 insertions(+), 5 deletions(-) create mode 100644 captures/rcp-heartbeat-e8-no-a0.txt create mode 100644 captures/rcp-heartbeat-e8-with-a0-control.txt create mode 100644 captures/rcp-heartbeat-e9-no-a0.txt create mode 100644 captures/rcp-heartbeat-e9-with-a0-control.txt diff --git a/captures/rcp-heartbeat-e8-no-a0.txt b/captures/rcp-heartbeat-e8-no-a0.txt new file mode 100644 index 0000000..fe23ab7 --- /dev/null +++ b/captures/rcp-heartbeat-e8-no-a0.txt @@ -0,0 +1,24 @@ +Sequence probe: 3 frames x 2 group(s) on COM5 at 38400 8N1 +FRAME 1: 00 00 E8 40 30 C2 +FRAME 2: 00 00 00 00 80 DA +FRAME 3: 00 00 00 00 80 DA +BASELINE heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes +BEGIN group 1/2 +20:01:44.651 TX group=1 frame=1 len=006 00 00 E8 40 30 C2 +20:01:44.651 RX group=1 frame=1 heartbeat-compatible RX: 6 bytes, offset 0, 1 frames + 0 bytes +20:01:45.158 TX group=1 frame=2 len=006 00 00 00 00 80 DA +20:01:45.158 RX group=1 frame=2 ANOMALY 18 RX bytes; first mismatch at byte 6: got 07, heartbeat offset 0 expected 00 +20:01:45.158 RX group=1 frame=2 raw 00 00 00 00 80 DA 07 80 40 40 30 ED 07 80 40 40 30 ED +20:01:45.695 TX group=1 frame=3 len=006 00 00 00 00 80 DA +20:01:45.695 RX group=1 frame=3 ANOMALY 18 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00 +20:01:45.695 RX group=1 frame=3 raw 07 80 40 40 30 ED 00 00 00 00 80 DA 00 00 00 00 80 DA +GROUP 1 TAIL heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +BEGIN group 2/2 +20:01:46.824 TX group=2 frame=1 len=006 00 00 E8 40 30 C2 +20:01:46.824 RX group=2 frame=1 heartbeat-compatible RX: 12 bytes, offset 0, 2 frames + 0 bytes +20:01:47.330 TX group=2 frame=2 len=006 00 00 00 00 80 DA +20:01:47.330 RX group=2 frame=2 heartbeat-compatible RX: 12 bytes, offset 0, 2 frames + 0 bytes +20:01:47.865 TX group=2 frame=3 len=006 00 00 00 00 80 DA +20:01:47.865 RX group=2 frame=3 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +GROUP 2 TAIL heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +Anomalies: 2 diff --git a/captures/rcp-heartbeat-e8-with-a0-control.txt b/captures/rcp-heartbeat-e8-with-a0-control.txt new file mode 100644 index 0000000..99619ee --- /dev/null +++ b/captures/rcp-heartbeat-e8-with-a0-control.txt @@ -0,0 +1,29 @@ +Sequence probe: 4 frames x 2 group(s) on COM5 at 38400 8N1 +FRAME 1: 00 00 A0 00 80 7A +FRAME 2: 00 00 E8 40 30 C2 +FRAME 3: 00 00 00 00 80 DA +FRAME 4: 00 00 00 00 80 DA +BASELINE heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes +BEGIN group 1/2 +20:02:23.334 TX group=1 frame=1 len=006 00 00 A0 00 80 7A +20:02:23.334 RX group=1 frame=1 no RX bytes +20:02:23.871 TX group=1 frame=2 len=006 00 00 E8 40 30 C2 +20:02:23.871 RX group=1 frame=2 ANOMALY 18 RX bytes; first mismatch at byte 6: got 07, heartbeat offset 0 expected 00 +20:02:23.871 RX group=1 frame=2 raw 00 00 00 00 80 DA 07 80 7A 50 26 D1 07 80 7A 50 26 D1 +20:02:24.379 TX group=1 frame=3 len=006 00 00 00 00 80 DA +20:02:24.379 RX group=1 frame=3 ANOMALY 18 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 0 expected 00 +20:02:24.379 RX group=1 frame=3 raw 07 80 7A 50 26 D1 00 00 00 00 80 DA 00 00 00 00 80 DA +20:02:24.915 TX group=1 frame=4 len=006 00 00 00 00 80 DA +20:02:24.915 RX group=1 frame=4 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +GROUP 1 TAIL heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +BEGIN group 2/2 +20:02:26.071 TX group=2 frame=1 len=006 00 00 A0 00 80 7A +20:02:26.071 RX group=2 frame=1 heartbeat-compatible RX: 12 bytes, offset 0, 2 frames + 0 bytes +20:02:26.607 TX group=2 frame=2 len=006 00 00 E8 40 30 C2 +20:02:26.607 RX group=2 frame=2 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +20:02:27.113 TX group=2 frame=3 len=006 00 00 00 00 80 DA +20:02:27.113 RX group=2 frame=3 heartbeat-compatible RX: 12 bytes, offset 0, 2 frames + 0 bytes +20:02:27.649 TX group=2 frame=4 len=006 00 00 00 00 80 DA +20:02:27.649 RX group=2 frame=4 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +GROUP 2 TAIL heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +Anomalies: 2 diff --git a/captures/rcp-heartbeat-e9-no-a0.txt b/captures/rcp-heartbeat-e9-no-a0.txt new file mode 100644 index 0000000..c3a5f5c --- /dev/null +++ b/captures/rcp-heartbeat-e9-no-a0.txt @@ -0,0 +1,23 @@ +Sequence probe: 3 frames x 2 group(s) on COM5 at 38400 8N1 +FRAME 1: 00 00 E9 40 30 C3 +FRAME 2: 00 00 00 00 80 DA +FRAME 3: 00 00 00 00 80 DA +BASELINE heartbeat-compatible RX: 30 bytes, offset 0, 5 frames + 0 bytes +BEGIN group 1/2 +20:01:59.355 TX group=1 frame=1 len=006 00 00 E9 40 30 C3 +20:01:59.355 RX group=1 frame=1 no RX bytes +20:01:59.860 TX group=1 frame=2 len=006 00 00 00 00 80 DA +20:01:59.860 RX group=1 frame=2 ANOMALY 6 RX bytes; first mismatch at byte 0: got 07, heartbeat offset 3 expected 00 +20:01:59.860 RX group=1 frame=2 raw 07 80 40 40 30 ED +20:02:00.366 TX group=1 frame=3 len=006 00 00 00 00 80 DA +20:02:00.366 RX group=1 frame=3 heartbeat-compatible RX: 6 bytes, offset 0, 1 frames + 0 bytes +GROUP 1 TAIL heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes +BEGIN group 2/2 +20:02:01.523 TX group=2 frame=1 len=006 00 00 E9 40 30 C3 +20:02:01.523 RX group=2 frame=1 heartbeat-compatible RX: 12 bytes, offset 0, 2 frames + 0 bytes +20:02:02.060 TX group=2 frame=2 len=006 00 00 00 00 80 DA +20:02:02.060 RX group=2 frame=2 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +20:02:02.565 TX group=2 frame=3 len=006 00 00 00 00 80 DA +20:02:02.565 RX group=2 frame=3 heartbeat-compatible RX: 12 bytes, offset 0, 2 frames + 0 bytes +GROUP 2 TAIL heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +Anomalies: 1 diff --git a/captures/rcp-heartbeat-e9-with-a0-control.txt b/captures/rcp-heartbeat-e9-with-a0-control.txt new file mode 100644 index 0000000..ebe8ad1 --- /dev/null +++ b/captures/rcp-heartbeat-e9-with-a0-control.txt @@ -0,0 +1,27 @@ +Sequence probe: 4 frames x 2 group(s) on COM5 at 38400 8N1 +FRAME 1: 00 00 A0 00 80 7A +FRAME 2: 00 00 E9 40 30 C3 +FRAME 3: 00 00 00 00 80 DA +FRAME 4: 00 00 00 00 80 DA +BASELINE heartbeat-compatible RX: 24 bytes, offset 0, 4 frames + 0 bytes +BEGIN group 1/2 +20:02:38.418 TX group=1 frame=1 len=006 00 00 A0 00 80 7A +20:02:38.418 RX group=1 frame=1 heartbeat-compatible RX: 6 bytes, offset 0, 1 frames + 0 bytes +20:02:38.922 TX group=1 frame=2 len=006 00 00 E9 40 30 C3 +20:02:38.922 RX group=1 frame=2 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +20:02:39.431 TX group=1 frame=3 len=006 00 00 00 00 80 DA +20:02:39.431 RX group=1 frame=3 heartbeat-compatible RX: 12 bytes, offset 0, 2 frames + 0 bytes +20:02:39.966 TX group=1 frame=4 len=006 00 00 00 00 80 DA +20:02:39.966 RX group=1 frame=4 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +GROUP 1 TAIL heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +BEGIN group 2/2 +20:02:41.096 TX group=2 frame=1 len=006 00 00 A0 00 80 7A +20:02:41.096 RX group=2 frame=1 heartbeat-compatible RX: 12 bytes, offset 0, 2 frames + 0 bytes +20:02:41.632 TX group=2 frame=2 len=006 00 00 E9 40 30 C3 +20:02:41.632 RX group=2 frame=2 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +20:02:42.169 TX group=2 frame=3 len=006 00 00 00 00 80 DA +20:02:42.169 RX group=2 frame=3 heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +20:02:42.674 TX group=2 frame=4 len=006 00 00 00 00 80 DA +20:02:42.674 RX group=2 frame=4 heartbeat-compatible RX: 12 bytes, offset 0, 2 frames + 0 bytes +GROUP 2 TAIL heartbeat-compatible RX: 18 bytes, offset 0, 3 frames + 0 bytes +Anomalies: 0 diff --git a/docs/discovery-notes.md b/docs/discovery-notes.md index 9df360d..d99a4d3 100644 --- a/docs/discovery-notes.md +++ b/docs/discovery-notes.md @@ -5554,3 +5554,88 @@ Best current `EC` model: - without `A0`, `EC` falls back toward heartbeat-family behavior - This is closer to a controlled state map than where we started, but it is still not a stable multi-turn "conversation" ladder. + +### HE23: Does `A0` Also Context `E8` And `E9`? + +The `EC` branch now strongly suggests that leading `A0` is part of branch +selection context rather than just a neutral primer. These tests ask whether the +same is true for `E8` and `E9`. + +#### HE23a: `E8` Without Leading `A0` + +```powershell +python scripts/serial_sequence_probe.py --port COM5 --prompt --frame "00 00 E8 40 30 C2" --frame "00 00 00 00 80 DA" --frame "00 00 00 00 80 DA" --repeat 2 --frame-interval 0.20 --read-after-frame 0.30 --read-after-group 0.8 --log captures/rcp-heartbeat-e8-no-a0.txt +``` + +#### HE23b: `E9` Without Leading `A0` + +```powershell +python scripts/serial_sequence_probe.py --port COM5 --prompt --frame "00 00 E9 40 30 C3" --frame "00 00 00 00 80 DA" --frame "00 00 00 00 80 DA" --repeat 2 --frame-interval 0.20 --read-after-frame 0.30 --read-after-group 0.8 --log captures/rcp-heartbeat-e9-no-a0.txt +``` + +#### HE23c: `A0` Then `E8` Control Repeat + +This is just the known-good comparison run so the no-`A0` tests can be read +against a fresh control captured in the same phase of work. + +```powershell +python scripts/serial_sequence_probe.py --port COM5 --prompt --frame "00 00 A0 00 80 7A" --frame "00 00 E8 40 30 C2" --frame "00 00 00 00 80 DA" --frame "00 00 00 00 80 DA" --repeat 2 --frame-interval 0.20 --read-after-frame 0.30 --read-after-group 0.8 --log captures/rcp-heartbeat-e8-with-a0-control.txt +``` + +#### HE23d: `A0` Then `E9` Control Repeat + +```powershell +python scripts/serial_sequence_probe.py --port COM5 --prompt --frame "00 00 A0 00 80 7A" --frame "00 00 E9 40 30 C3" --frame "00 00 00 00 80 DA" --frame "00 00 00 00 80 DA" --repeat 2 --frame-interval 0.20 --read-after-frame 0.30 --read-after-group 0.8 --log captures/rcp-heartbeat-e9-with-a0-control.txt +``` + +What would count as a hit: + +- `E8` or `E9` without `A0` still producing their known branches: + - `07 80 7A 50 26 D1` + - `07 80 7A 28 D3 5C` +- `E8` or `E9` without `A0` collapsing into heartbeat-family transients like + `07 80 40 40 30 ED` or `07 80 C0 40 30 6D` +- a clear difference between no-`A0` and with-`A0` controls that would promote + `A0` from "possible primer" to "general selector context" + +### 2026-05-13 `A0` Context Test For `E8` / `E9` + +Captures: + +- `captures/rcp-heartbeat-e8-no-a0.txt` +- `captures/rcp-heartbeat-e9-no-a0.txt` +- `captures/rcp-heartbeat-e8-with-a0-control.txt` +- `captures/rcp-heartbeat-e9-with-a0-control.txt` + +Observed outcomes: + +| Setup | Group-1 result | +| --- | --- | +| `E8` without `A0` | later heartbeat provoked `07 80 40 40 30 ED` | +| `E9` without `A0` | later heartbeat provoked `07 80 40 40 30 ED` | +| `A0 -> E8` control | `07 80 7A 50 26 D1` | +| `A0 -> E9` control | heartbeat only in this repeat | + +Interpretation: + +- `E8` now clearly matches the `EC` pattern in one important way: + without leading `A0`, it falls back into heartbeat-family behavior instead of + opening its `7A` branch. +- `E9` without `A0` also fell back to the same heartbeat-family transient + `07 80 40 40 30 ED`. +- So `A0` is now more plausibly a broader selector-context opener, not just an + `EC`-specific quirk. +- However, `A0` is **not** sufficient to make every selector deterministic: + the `A0 -> E9` control repeat produced only heartbeat in this run, even though + earlier `A0 -> E9` work did produce `07 80 7A 28 D3 5C`. + +Best current read: + +- `A0` looks necessary or at least strongly supportive for entering the `E8` + and `EC` family spaces. +- `E9` remains more timing- or state-sensitive than `E8`; `A0` helps define the + context, but does not guarantee the `7A 28 D3` branch on every clean repeat. +- This strengthens the state-map model: + - no `A0` -> selector values tend to collapse into heartbeat-family + transients + - with `A0` -> some selector values can open structured family spaces diff --git a/docs/pt2-protocol-summary.md b/docs/pt2-protocol-summary.md index 05a7352..712eec3 100644 --- a/docs/pt2-protocol-summary.md +++ b/docs/pt2-protocol-summary.md @@ -285,6 +285,11 @@ Current caution: `A0`, `EC` fell back to `07 80 C0 40 30 6D`. - Exact and host-shaped handling of `07 80 FB 50 26 50` did not yield a stable next-stage response. +- Follow-up context tests suggest `A0` matters beyond `EC`: + without `A0`, both `E8` and `E9` fell back to `07 80 40 40 30 ED` instead of + opening their known `7A` branches. +- At the same time, `A0` is not sufficient to make every branch deterministic: + a later `A0 -> E9` control repeat returned heartbeat only. ## What We Know @@ -322,8 +327,8 @@ Current caution: - Overall, the evidence is getting stronger for selector-like host entries that open related response families, but weaker for a fully reproducible multi-turn "conversation" state. -- At least on the `EC` branch, `A0` now looks more like part of the selection - context than a purely generic primer. +- `A0` now looks more like part of the selection context than a purely generic + primer, but its effect is branch-dependent and not fully deterministic. ## What We Do Not Know diff --git a/docs/pt2-state-map.md b/docs/pt2-state-map.md index 0012e68..f90903c 100644 --- a/docs/pt2-state-map.md +++ b/docs/pt2-state-map.md @@ -126,15 +126,25 @@ different downstream response families. ### S4: `A0`-Contexted Selector Space Current best evidence says `A0` is not always just a neutral primer. On at -least the `EC` branch, it appears to be part of the context that opens the -family space. +least the `EC` and `E8` branches, it appears to be part of the context that +opens the family space. Observed: +- `A0 + E8` can produce `7A 50 26` family output - `A0 + EC` tends to produce `7B`-family output +- `E8` without `A0` fell back to `07 80 40 40 30 ED` +- `E9` without `A0` also fell back to `07 80 40 40 30 ED` - `EC` without leading `A0` falls back to `07 80 C0 40 30 6D` -Confidence: medium-high +Nuance: + +- `A0` is not sufficient to make every selector deterministic. +- A later control repeat of `A0 + E9` produced heartbeat only, even though + earlier `A0 + E9` runs produced `07 80 7A 28 D3 5C`. + +Confidence: high that `A0` is contextual; medium on the exact scope of that +context. ## `Ex` Selector Neighborhood @@ -198,12 +208,16 @@ What we know: - reproducible in group 1 - exact and host-shaped replies to `7A 28 D3 5C` did not advance state +- without `A0`, `E9` fell back to `07 80 40 40 30 ED` +- with `A0`, a later control repeat returned only heartbeat, so this branch is + less deterministic than `E8` Read: - `E9` looks like a sibling selector to `E8` - payload differences may represent page/class selection rather than random drift +- `E9` appears more timing- or state-sensitive than `E8` Confidence: medium