This commit is contained in:
Aiden
2026-05-13 20:17:48 +10:00
parent 0394dc03be
commit cdb8bf1cb9
9 changed files with 352 additions and 1 deletions

View File

@@ -5793,3 +5793,134 @@ Best current read:
- `AF -> E8 -> FA 50 26` is especially interesting because it suggests the
context frame can influence **which sibling family** the selector opens, not
just whether it opens anything at all.
### HE25: Do `90` And `AF` Change Downstream Behavior Too?
Goal:
- Check whether `90` and `AF` only change the *first* family opened by a
selector, or whether they also change what happens when we answer that family.
Method:
- Use a context opener (`90` or `AF`)
- Open a known selector branch (`E8`, `E9`, or `EC`)
- Immediately send the exact downstream family frame that branch produced
- Compare whether the follow-up behavior differs by opener
This keeps the selector and downstream family fixed while changing only the
context opener.
What would count as a hit:
- the same downstream exact echo behaving differently under `90` vs `AF`
- one opener causing a new second-stage family while the other falls flat
- the opener changing whether the branch drains to heartbeat or continues
#### HE25a: `90 -> E8 -> exact 7A 50 26`
```powershell
python scripts/serial_sequence_probe.py --port COM5 --prompt --frame "00 00 90 00 80 4A" --frame "00 00 E8 40 30 C2" --frame "07 80 7A 50 26 D1" --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-context-90-e8-exact-7a5026.txt
```
#### HE25b: `AF -> E8 -> exact FA 50 26`
This uses the family that `AF -> E8` actually opened.
```powershell
python scripts/serial_sequence_probe.py --port COM5 --prompt --frame "00 00 AF 00 80 75" --frame "00 00 E8 40 30 C2" --frame "07 80 FA 50 26 51" --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-context-af-e8-exact-fa5026.txt
```
#### HE25c: `90 -> E9 -> exact 7A 28 D3`
```powershell
python scripts/serial_sequence_probe.py --port COM5 --prompt --frame "00 00 90 00 80 4A" --frame "00 00 E9 40 30 C3" --frame "07 80 7A 28 D3 5C" --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-context-90-e9-exact-7a28d3.txt
```
#### HE25d: `AF -> E9 -> exact 7A 28 D3`
```powershell
python scripts/serial_sequence_probe.py --port COM5 --prompt --frame "00 00 AF 00 80 75" --frame "00 00 E9 40 30 C3" --frame "07 80 7A 28 D3 5C" --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-context-af-e9-exact-7a28d3.txt
```
#### HE25e: `90 -> EC -> exact 7B 50 26`
```powershell
python scripts/serial_sequence_probe.py --port COM5 --prompt --frame "00 00 90 00 80 4A" --frame "00 00 EC 40 30 C6" --frame "07 80 7B 50 26 D0" --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-context-90-ec-exact-7b5026.txt
```
#### HE25f: `AF -> EC -> exact 7B 50 26`
```powershell
python scripts/serial_sequence_probe.py --port COM5 --prompt --frame "00 00 AF 00 80 75" --frame "00 00 EC 40 30 C6" --frame "07 80 7B 50 26 D0" --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-context-af-ec-exact-7b5026.txt
```
Recommended order:
1. `HE25e` (`90 -> EC -> exact 7B`)
2. `HE25f` (`AF -> EC -> exact 7B`)
3. `HE25c` / `HE25d` (`90/AF -> E9 -> exact 7A 28 D3`)
4. `HE25a` / `HE25b` (`90 -> E8 -> exact 7A 50 26`, `AF -> E8 -> exact FA 50 26`)
That order keeps the most stateful selector first again, while still checking
whether opener choice changes the downstream echo behavior on the simpler `E8`
and `E9` branches.
### 2026-05-13 Opener-Dependent Downstream Behavior Result
Captures:
- `captures/rcp-context-90-e8-exact-7a5026.txt`
- `captures/rcp-context-af-e8-exact-fa5026.txt`
- `captures/rcp-context-90-e9-exact-7a28d3.txt`
- `captures/rcp-context-af-e9-exact-7a28d3.txt`
- `captures/rcp-context-90-ec-exact-7b5026.txt`
- `captures/rcp-context-af-ec-exact-7b5026.txt`
Observed group-1 outcomes:
| Setup | Selector result | Exact-echo follow-up result |
| --- | --- | --- |
| `90 -> E8 -> exact 7A 50 26` | `07 80 7A 58 26 D9` | heartbeat only after sending `07 80 7A 50 26 D1` |
| `AF -> E8 -> exact FA 50 26` | `07 80 7A 50 26 D1` | heartbeat only after sending `07 80 FA 50 26 51` |
| `90 -> E9 -> exact 7A 28 D3` | `07 80 7A 28 D3 5C` | heartbeat only |
| `AF -> E9 -> exact 7A 28 D3` | `07 80 7A 28 D3 5C` | heartbeat only |
| `90 -> EC -> exact 7B 50 26` | `07 80 FB 50 26 50` | heartbeat only after sending `07 80 7B 50 26 D0` |
| `AF -> EC -> exact 7B 50 26` | `07 80 7B 50 26 D0` | heartbeat only |
Interpretation:
- No opener produced a stable second-stage reply to the downstream exact echo.
- So, for now, opener choice seems to affect the **branch entry** much more than
the **reply-to-the-branch** behavior.
- But opener choice definitely matters at the selector result level:
- `90 -> E8` shifted the response from the familiar `7A 50 26` family to the
sibling `7A 58 26 D9`
- `90 -> EC` shifted the response from `7B 50 26 D0` to the sibling
`FB 50 26 50`
- `AF -> EC` preserved the `7B 50 26 D0` branch
- `E9` looks more stable across openers than `E8` and `EC`:
both `90` and `AF` still opened `07 80 7A 28 D3 5C`
Most important takeaway:
- opener bytes are not just yes/no "permissions" for the selector surface
- they can change **which sibling family** a selector lands in
- but once that family appears, echoing the expected downstream frame still did
not create a reproducible next turn
Best current model:
- context opener selects or biases a family page
- selector byte chooses within that opened space
- downstream family frames still look more like readable responses than clear
host prompts
Best next move:
- when a selector result shifts under a different opener, answer the
**actually observed** downstream frame instead of the previously known sibling
frame
- the strongest immediate candidates are:
- `90 -> E8 -> exact 07 80 7A 58 26 D9`
- `90 -> EC -> exact 07 80 FB 50 26 50`