This commit is contained in:
Aiden
2026-05-13 20:04:49 +10:00
parent e78bb2ed9b
commit c1b03df27f
7 changed files with 212 additions and 5 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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