# Paired suffix comparison: controls vs miss-depth-3

Finite-sample descriptive exploration only. No mechanism, proof, causality, or global Collatz claim is made.

## Populations

- Controls: 47
- Miss-depth-3 rows: 120

## Suffix Hypothesis Check

Hypothesis under stress test: controls are suffix-only analogues of miss-depth-3 chains; they contain the `16-31 > 8-15 -> 4-7` suffix but lack the `32-63` avoidance prefix.

Result:

- Shared suffix stage-class patterns between controls and miss-depth-3: 2 unique pattern(s).
- Control 32-63 classification: `avoid_then_caught:47`.
- Miss-depth-3 32-63 classification: `avoid_in_max_depth_run:120`.
- Control suffix classes: `avoid_in_max_depth_run>avoid_in_max_depth_run>caught:45; avoid_in_max_depth_run>avoid_in_max_depth_run>avoid_then_caught:2`.
- Miss-depth-3 suffix classes: `avoid_in_max_depth_run>avoid_in_max_depth_run>avoid_then_caught:115; avoid_in_max_depth_run>avoid_in_max_depth_run>caught:4; avoid_in_max_depth_run>avoid_in_max_depth_run>absent:1`.

## Main Read

- The suffix hypothesis is supported at the coarse chain-status level: controls and miss-depth-3 share the `16-31:avoid > 8-15:avoid` suffix and then reach the `4-7` capture layer.
- The 32-63 stage is the clean structural split: controls have `32-63:avoid_then_caught`, while miss-depth-3 has `32-63:avoid_in_max_depth_run`.
- Therefore controls are not missing the 32-63 band as an absent stage; they usually have a 32-63 event, but it is already `avoid_then_caught`, so it is not counted as part of the consecutive max-depth avoidance run.
- At finer local-shape level, suffix similarity is weaker than coarse suffix similarity. Pairing by 16-31/8-15/4-7 entry shapes rarely makes every suffix stage identical.

## 32-63 Stage Classification

| comparison_group | 32-63_stage_class | 32-63_chain_status | 32-63_classification | count |
| --- | --- | --- | --- | --- |
| M_miss_depth3 | avoid_in_max_depth_run | avoid | avoid_then_caught | 120 |
| S_minus_M_control_depth2 | avoid_then_caught | avoid_then_caught | avoid_then_caught | 47 |

## Suffix Stage Summary

| comparison_group | 16-31_stage_class | 8-15_stage_class | 4-7_stage_class | count |
| --- | --- | --- | --- | --- |
| M_miss_depth3 | avoid_in_max_depth_run | avoid_in_max_depth_run | avoid_then_caught | 115 |
| M_miss_depth3 | avoid_in_max_depth_run | avoid_in_max_depth_run | caught | 4 |
| M_miss_depth3 | avoid_in_max_depth_run | avoid_in_max_depth_run | absent | 1 |
| S_minus_M_control_depth2 | avoid_in_max_depth_run | avoid_in_max_depth_run | caught | 45 |
| S_minus_M_control_depth2 | avoid_in_max_depth_run | avoid_in_max_depth_run | avoid_then_caught | 2 |

## Control Clusters

| 32-63_stage_class | 16-31_stage_class | 8-15_stage_class | 4-7_stage_class | trajectory_behavior_class | selected_band | control_count |
| --- | --- | --- | --- | --- | --- | --- |
| avoid_then_caught | avoid_in_max_depth_run | avoid_in_max_depth_run | caught | drift_down | 64-127 | 26 |
| avoid_then_caught | avoid_in_max_depth_run | avoid_in_max_depth_run | caught | mid_band_wait_then_drop | 64-127 | 16 |
| avoid_then_caught | avoid_in_max_depth_run | avoid_in_max_depth_run | avoid_then_caught | drift_down | 64-127 | 2 |
| avoid_then_caught | avoid_in_max_depth_run | avoid_in_max_depth_run | caught | drift_down | 128-255 | 2 |
| avoid_then_caught | avoid_in_max_depth_run | avoid_in_max_depth_run | caught | mid_band_wait_then_drop | 128-255 | 1 |

## Pairing Quality

- Same selected shape in nearest-pair table: 1 / 47
- Same 16-31 entry shape: 2 / 47
- Same 8-15 entry shape: 47 / 47
- Same 4-7 entry shape: 47 / 47

## Failed Hypotheses

- `Controls lack a 32-63 stage entirely`: false. The stage is present, but classified differently.
- `The only difference is absence of 32-63`: false as phrased; the difference is 32-63 status, not absence.
- `Suffixes are exactly identical at all local descriptors`: not supported. The coarse chain suffix matches better than the local entry-shape descriptors.
- `Controls are depth-2 miss analogues`: still not supported; they are better described as suffix-level analogues with a different 32-63 prefix status.

## Invariants / Near-Invariants

### Controls

| feature | unique_values | top_value | top_count | exceptions | distribution |
| --- | --- | --- | --- | --- | --- |
| 16-31_chain_status | 1 | avoid | 47 | 0 | avoid:47 |
| 16-31_classification | 1 | avoid_then_caught | 47 | 0 | avoid_then_caught:47 |
| 16-31_stage_class | 1 | avoid_in_max_depth_run | 47 | 0 | avoid_in_max_depth_run:47 |
| 32-63_chain_status | 1 | avoid_then_caught | 47 | 0 | avoid_then_caught:47 |
| 32-63_classification | 1 | avoid_then_caught | 47 | 0 | avoid_then_caught:47 |
| 32-63_stage_class | 1 | avoid_then_caught | 47 | 0 | avoid_then_caught:47 |
| 8-15_chain_status | 1 | avoid | 47 | 0 | avoid:47 |
| 8-15_classification | 1 | avoid_then_caught | 47 | 0 | avoid_then_caught:47 |
| 8-15_stage_class | 1 | avoid_in_max_depth_run | 47 | 0 | avoid_in_max_depth_run:47 |
| lower5_capture_band | 1 | 4-7 | 47 | 0 | 4-7:47 |
| selected_near_behavior | 1 | drift | 47 | 0 | drift:47 |
| 4-7_chain_status | 2 | caught | 45 | 2 | caught:45; avoid_then_caught:2 |
| 4-7_classification | 2 | caught | 45 | 2 | caught:45; avoid_then_caught:2 |
| 4-7_stage_class | 2 | caught | 45 | 2 | caught:45; avoid_then_caught:2 |
| lower5_final_status | 2 | eventually_reentered_exit_layer:caught | 45 | 2 | eventually_reentered_exit_layer:caught:45; eventually_reentered_exit_layer:avoid_then_caught:2 |
| trajectory_behavior_class | 2 | drift_down | 30 | 17 | drift_down:30; mid_band_wait_then_drop:17 |

### Miss-depth-3

| feature | unique_values | top_value | top_count | exceptions | distribution |
| --- | --- | --- | --- | --- | --- |
| 16-31_chain_status | 1 | avoid | 120 | 0 | avoid:120 |
| 16-31_classification | 1 | avoid_then_caught | 120 | 0 | avoid_then_caught:120 |
| 16-31_stage_class | 1 | avoid_in_max_depth_run | 120 | 0 | avoid_in_max_depth_run:120 |
| 32-63_chain_status | 1 | avoid | 120 | 0 | avoid:120 |
| 32-63_classification | 1 | avoid_then_caught | 120 | 0 | avoid_then_caught:120 |
| 32-63_stage_class | 1 | avoid_in_max_depth_run | 120 | 0 | avoid_in_max_depth_run:120 |
| 8-15_chain_status | 1 | avoid | 120 | 0 | avoid:120 |
| 8-15_classification | 1 | avoid_then_caught | 120 | 0 | avoid_then_caught:120 |
| 8-15_stage_class | 1 | avoid_in_max_depth_run | 120 | 0 | avoid_in_max_depth_run:120 |
| selected_near_behavior | 1 | miss | 120 | 0 | miss:120 |
| trajectory_behavior_class | 1 | no_exit_layer_observed | 120 | 0 | no_exit_layer_observed:120 |
| lower5_capture_band | 2 | 4-7 | 119 | 1 | 4-7:119; NA:1 |
| 4-7_chain_status | 3 | avoid_then_caught | 115 | 5 | avoid_then_caught:115; caught:4; :1 |
| 4-7_classification | 3 | avoid_then_caught | 115 | 5 | avoid_then_caught:115; caught:4; :1 |
| 4-7_stage_class | 3 | avoid_then_caught | 115 | 5 | avoid_then_caught:115; caught:4; absent:1 |
| lower5_final_status | 3 | eventually_reentered_exit_layer:avoid_then_caught | 115 | 5 | eventually_reentered_exit_layer:avoid_then_caught:115; eventually_reentered_exit_layer:caught:4; ended_without_later_exit_layer_reentry_observed:1 |

## Suggested Next Exploration

- Drill into the `32-63:avoid_then_caught` vs `32-63:avoid` split using the 32-63 stage rows only.
- Compare the last 32-63 event before entering 16-31: is the capture/avoid distinction visible in `entry_R`, `exit_R`, or k-sequence?
- Keep control subclusters split by `drift_down` vs `mid_band_wait_then_drop`; they share the suffix class but may differ upstream.

## Output Files

- `chain_stage_comparison_table.csv`
- `stage_32_63_classification.csv`
- `suffix_stage_class_summary.csv`
- `per_control_paired_card_table.csv`
- `per_control_paired_cards.md`
- `control_clusters.csv`
- `control_invariants_and_near_invariants.csv`
- `miss_depth3_invariants_and_near_invariants.csv`
