Expose compact event control-lane probe summary

This commit is contained in:
Jan Petykiewicz 2026-04-19 01:01:30 -07:00
commit 519d5e2f2b
3 changed files with 456 additions and 0 deletions

View file

@ -6288,6 +6288,12 @@ mod tests {
live_entry_ids: vec![1, 3, 5], live_entry_ids: vec![1, 3, 5],
decoded_record_count: 0, decoded_record_count: 0,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![ records: vec![
crate::SmpLoadedPackedEventRecordSummary { crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
@ -7111,6 +7117,12 @@ mod tests {
live_entry_ids: vec![7], live_entry_ids: vec![7],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 1, imported_runtime_record_count: 1,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 7, live_entry_id: 7,
@ -7237,6 +7249,12 @@ mod tests {
live_entry_ids: vec![7], live_entry_ids: vec![7],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 7, live_entry_id: 7,
@ -7341,6 +7359,12 @@ mod tests {
live_entry_ids: vec![10, 11, 12], live_entry_ids: vec![10, 11, 12],
decoded_record_count: 3, decoded_record_count: 3,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![ records: vec![
synthetic_packed_record( synthetic_packed_record(
0, 0,
@ -7471,6 +7495,12 @@ mod tests {
live_entry_ids: vec![21, 22], live_entry_ids: vec![21, 22],
decoded_record_count: 2, decoded_record_count: 2,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![ records: vec![
synthetic_packed_record( synthetic_packed_record(
0, 0,
@ -7562,6 +7592,12 @@ mod tests {
live_entry_ids: vec![7], live_entry_ids: vec![7],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 7, live_entry_id: 7,
@ -7721,6 +7757,12 @@ mod tests {
live_entry_ids: vec![7, 8, 9, 10, 11], live_entry_ids: vec![7, 8, 9, 10, 11],
decoded_record_count: 5, decoded_record_count: 5,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![ records: vec![
crate::SmpLoadedPackedEventRecordSummary { crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
@ -7970,6 +8012,12 @@ mod tests {
live_entry_ids: vec![7], live_entry_ids: vec![7],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 7, live_entry_id: 7,
@ -8054,6 +8102,12 @@ mod tests {
live_entry_ids: vec![7], live_entry_ids: vec![7],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 7, live_entry_id: 7,
@ -8162,6 +8216,12 @@ mod tests {
live_entry_ids: vec![7], live_entry_ids: vec![7],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 7, live_entry_id: 7,
@ -8243,6 +8303,12 @@ mod tests {
live_entry_ids: vec![8], live_entry_ids: vec![8],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 8, live_entry_id: 8,
@ -8327,6 +8393,12 @@ mod tests {
live_entry_ids: vec![9], live_entry_ids: vec![9],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 9, live_entry_id: 9,
@ -8424,6 +8496,12 @@ mod tests {
live_entry_ids: vec![31], live_entry_ids: vec![31],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 31, live_entry_id: 31,
@ -8537,6 +8615,12 @@ mod tests {
live_entry_ids: vec![32], live_entry_ids: vec![32],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 32, live_entry_id: 32,
@ -8621,6 +8705,12 @@ mod tests {
live_entry_ids: vec![33], live_entry_ids: vec![33],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 33, live_entry_id: 33,
@ -8782,6 +8872,12 @@ mod tests {
live_entry_ids: vec![33], live_entry_ids: vec![33],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 33, live_entry_id: 33,
@ -8888,6 +8984,12 @@ mod tests {
live_entry_ids: vec![34], live_entry_ids: vec![34],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 34, live_entry_id: 34,
@ -8971,6 +9073,12 @@ mod tests {
live_entry_ids: vec![35], live_entry_ids: vec![35],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 35, live_entry_id: 35,
@ -9054,6 +9162,12 @@ mod tests {
live_entry_ids: vec![41], live_entry_ids: vec![41],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 41, live_entry_id: 41,
@ -9211,6 +9325,12 @@ mod tests {
live_entry_ids: vec![36], live_entry_ids: vec![36],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 36, live_entry_id: 36,
@ -9313,6 +9433,12 @@ mod tests {
live_entry_ids: vec![37], live_entry_ids: vec![37],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 37, live_entry_id: 37,
@ -9394,6 +9520,12 @@ mod tests {
live_entry_ids: vec![35], live_entry_ids: vec![35],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 35, live_entry_id: 35,
@ -9485,6 +9617,12 @@ mod tests {
live_entry_ids: vec![38], live_entry_ids: vec![38],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 38, live_entry_id: 38,
@ -9585,6 +9723,12 @@ mod tests {
live_entry_ids: vec![39], live_entry_ids: vec![39],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 1, imported_runtime_record_count: 1,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 39, live_entry_id: 39,
@ -9693,6 +9837,12 @@ mod tests {
live_entry_ids: vec![40], live_entry_ids: vec![40],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 1, imported_runtime_record_count: 1,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 40, live_entry_id: 40,
@ -9790,6 +9940,12 @@ mod tests {
live_entry_ids: vec![41], live_entry_ids: vec![41],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 41, live_entry_id: 41,
@ -9873,6 +10029,12 @@ mod tests {
live_entry_ids: vec![36], live_entry_ids: vec![36],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 36, live_entry_id: 36,
@ -10026,6 +10188,12 @@ mod tests {
live_entry_ids: vec![9], live_entry_ids: vec![9],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 9, live_entry_id: 9,
@ -10189,6 +10357,12 @@ mod tests {
live_entry_ids: vec![11], live_entry_ids: vec![11],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 11, live_entry_id: 11,
@ -10300,6 +10474,12 @@ mod tests {
live_entry_ids: vec![12], live_entry_ids: vec![12],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 12, live_entry_id: 12,
@ -10392,6 +10572,12 @@ mod tests {
live_entry_ids: vec![13], live_entry_ids: vec![13],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 13, live_entry_id: 13,
@ -10511,6 +10697,12 @@ mod tests {
live_entry_ids: vec![13], live_entry_ids: vec![13],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 13, live_entry_id: 13,
@ -10624,6 +10816,12 @@ mod tests {
live_entry_ids: vec![18], live_entry_ids: vec![18],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 18, live_entry_id: 18,
@ -10727,6 +10925,12 @@ mod tests {
live_entry_ids: vec![19], live_entry_ids: vec![19],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 19, live_entry_id: 19,
@ -10826,6 +11030,12 @@ mod tests {
live_entry_ids: vec![14], live_entry_ids: vec![14],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 14, live_entry_id: 14,
@ -10939,6 +11149,12 @@ mod tests {
live_entry_ids: vec![16], live_entry_ids: vec![16],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 16, live_entry_id: 16,
@ -11037,6 +11253,12 @@ mod tests {
live_entry_ids: vec![18], live_entry_ids: vec![18],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 18, live_entry_id: 18,
@ -11117,6 +11339,12 @@ mod tests {
live_entry_ids: vec![52], live_entry_ids: vec![52],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 52, live_entry_id: 52,
@ -11202,6 +11430,12 @@ mod tests {
live_entry_ids: vec![21], live_entry_ids: vec![21],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 21, live_entry_id: 21,
@ -11292,6 +11526,12 @@ mod tests {
live_entry_ids: vec![22], live_entry_ids: vec![22],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 22, live_entry_id: 22,
@ -11382,6 +11622,12 @@ mod tests {
live_entry_ids: vec![23], live_entry_ids: vec![23],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 1, imported_runtime_record_count: 1,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 23, live_entry_id: 23,
@ -11488,6 +11734,12 @@ mod tests {
live_entry_ids: vec![24], live_entry_ids: vec![24],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 1, imported_runtime_record_count: 1,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 24, live_entry_id: 24,
@ -11585,6 +11837,12 @@ mod tests {
live_entry_ids: vec![29], live_entry_ids: vec![29],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 1, imported_runtime_record_count: 1,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 29, live_entry_id: 29,
@ -11729,6 +11987,12 @@ mod tests {
live_entry_ids: vec![27], live_entry_ids: vec![27],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 1, imported_runtime_record_count: 1,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 27, live_entry_id: 27,
@ -11872,6 +12136,12 @@ mod tests {
live_entry_ids: vec![41, 45], live_entry_ids: vec![41, 45],
decoded_record_count: 2, decoded_record_count: 2,
imported_runtime_record_count: 2, imported_runtime_record_count: 2,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![ records: vec![
crate::SmpLoadedPackedEventRecordSummary { crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
@ -12406,6 +12676,12 @@ mod tests {
live_entry_ids: vec![71], live_entry_ids: vec![71],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 71, live_entry_id: 71,
@ -12594,6 +12870,12 @@ mod tests {
live_entry_ids: vec![72], live_entry_ids: vec![72],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 72, live_entry_id: 72,
@ -12727,6 +13009,12 @@ mod tests {
live_entry_ids: vec![73], live_entry_ids: vec![73],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 73, live_entry_id: 73,
@ -12859,6 +13147,12 @@ mod tests {
live_entry_ids: vec![74], live_entry_ids: vec![74],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 74, live_entry_id: 74,
@ -12992,6 +13286,12 @@ mod tests {
live_entry_ids: vec![25], live_entry_ids: vec![25],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 1, imported_runtime_record_count: 1,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 25, live_entry_id: 25,
@ -13109,6 +13409,12 @@ mod tests {
live_entry_ids: vec![26], live_entry_ids: vec![26],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 1, imported_runtime_record_count: 1,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 26, live_entry_id: 26,
@ -13301,6 +13607,12 @@ mod tests {
live_entry_ids: vec![19], live_entry_ids: vec![19],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 19, live_entry_id: 19,
@ -13401,6 +13713,12 @@ mod tests {
live_entry_ids: vec![20], live_entry_ids: vec![20],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 20, live_entry_id: 20,
@ -13503,6 +13821,12 @@ mod tests {
live_entry_ids: vec![24], live_entry_ids: vec![24],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 24, live_entry_id: 24,
@ -13676,6 +14000,12 @@ mod tests {
live_entry_ids: vec![21], live_entry_ids: vec![21],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 21, live_entry_id: 21,
@ -13832,6 +14162,12 @@ mod tests {
live_entry_ids: vec![22], live_entry_ids: vec![22],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 22, live_entry_id: 22,
@ -13929,6 +14265,12 @@ mod tests {
live_entry_ids: vec![23], live_entry_ids: vec![23],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 23, live_entry_id: 23,
@ -14059,6 +14401,12 @@ mod tests {
live_entry_ids: vec![25], live_entry_ids: vec![25],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 25, live_entry_id: 25,
@ -14177,6 +14525,12 @@ mod tests {
live_entry_ids: vec![17], live_entry_ids: vec![17],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 17, live_entry_id: 17,
@ -14369,6 +14723,12 @@ mod tests {
live_entry_ids: vec![7], live_entry_ids: vec![7],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 7, live_entry_id: 7,
@ -14571,6 +14931,12 @@ mod tests {
live_entry_ids: vec![7], live_entry_ids: vec![7],
decoded_record_count: 1, decoded_record_count: 1,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 0,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: vec![crate::SmpLoadedPackedEventRecordSummary { records: vec![crate::SmpLoadedPackedEventRecordSummary {
record_index: 0, record_index: 0,
live_entry_id: 7, live_entry_id: 7,

View file

@ -3844,6 +3844,18 @@ pub struct SmpLoadedEventRuntimeCollectionSummary {
#[serde(default)] #[serde(default)]
pub imported_runtime_record_count: usize, pub imported_runtime_record_count: usize,
#[serde(default)] #[serde(default)]
pub records_with_trigger_kind: usize,
#[serde(default)]
pub records_missing_trigger_kind: usize,
#[serde(default)]
pub nondirect_compact_record_count: usize,
#[serde(default)]
pub nondirect_compact_records_missing_trigger_kind: usize,
#[serde(default)]
pub trigger_kinds_present: Vec<u8>,
#[serde(default)]
pub control_lane_notes: Vec<String>,
#[serde(default)]
pub records: Vec<SmpLoadedPackedEventRecordSummary>, pub records: Vec<SmpLoadedPackedEventRecordSummary>,
} }
@ -9398,6 +9410,42 @@ fn parse_event_runtime_collection_summary_with_tag_width(
.iter() .iter()
.filter(|record| record.executable_import_ready) .filter(|record| record.executable_import_ready)
.count(); .count();
let records_with_trigger_kind = records
.iter()
.filter(|record| record.trigger_kind.is_some())
.count();
let records_missing_trigger_kind = records.len().saturating_sub(records_with_trigger_kind);
let nondirect_compact_record_count = records
.iter()
.filter(|record| record.payload_family == "real_packed_nondirect_compact_v1")
.count();
let nondirect_compact_records_missing_trigger_kind = records
.iter()
.filter(|record| {
record.payload_family == "real_packed_nondirect_compact_v1"
&& record.trigger_kind.is_none()
})
.count();
let mut trigger_kinds_present = records
.iter()
.filter_map(|record| record.trigger_kind)
.collect::<Vec<_>>();
trigger_kinds_present.sort_unstable();
trigger_kinds_present.dedup();
let mut control_lane_notes = Vec::new();
if nondirect_compact_record_count != 0
&& nondirect_compact_record_count == nondirect_compact_records_missing_trigger_kind
{
control_lane_notes.push(
"all compact non-direct rows currently decode row bodies only and still lack a decoded trigger/control lane".to_string(),
);
}
if records_with_trigger_kind != 0 {
control_lane_notes.push(format!(
"decoded trigger kinds present in this collection = {:?}",
trigger_kinds_present
));
}
return Some(SmpLoadedEventRuntimeCollectionSummary { return Some(SmpLoadedEventRuntimeCollectionSummary {
source_kind, source_kind,
@ -9419,6 +9467,12 @@ fn parse_event_runtime_collection_summary_with_tag_width(
live_entry_ids, live_entry_ids,
decoded_record_count, decoded_record_count,
imported_runtime_record_count, imported_runtime_record_count,
records_with_trigger_kind,
records_missing_trigger_kind,
nondirect_compact_record_count,
nondirect_compact_records_missing_trigger_kind,
trigger_kinds_present,
control_lane_notes,
records, records,
}); });
} }
@ -21949,6 +22003,9 @@ mod tests {
assert_eq!(summary.live_entry_ids, vec![1, 3, 5]); assert_eq!(summary.live_entry_ids, vec![1, 3, 5]);
assert_eq!(summary.records_tag_offset, 96); assert_eq!(summary.records_tag_offset, 96);
assert_eq!(summary.decoded_record_count, 0); assert_eq!(summary.decoded_record_count, 0);
assert_eq!(summary.records_with_trigger_kind, 0);
assert_eq!(summary.records_missing_trigger_kind, 3);
assert_eq!(summary.nondirect_compact_record_count, 0);
assert_eq!(summary.records.len(), 3); assert_eq!(summary.records.len(), 3);
assert_eq!(summary.records[0].decode_status, "unsupported_framing"); assert_eq!(summary.records[0].decode_status, "unsupported_framing");
} }
@ -21984,6 +22041,9 @@ mod tests {
assert_eq!(summary.live_entry_ids, vec![1, 3, 5]); assert_eq!(summary.live_entry_ids, vec![1, 3, 5]);
assert_eq!(summary.records_tag_offset, 98); assert_eq!(summary.records_tag_offset, 98);
assert_eq!(summary.decoded_record_count, 0); assert_eq!(summary.decoded_record_count, 0);
assert_eq!(summary.records_with_trigger_kind, 0);
assert_eq!(summary.records_missing_trigger_kind, 3);
assert_eq!(summary.nondirect_compact_record_count, 0);
assert_eq!(summary.records.len(), 3); assert_eq!(summary.records.len(), 3);
assert_eq!(summary.records[0].decode_status, "unsupported_framing"); assert_eq!(summary.records[0].decode_status, "unsupported_framing");
} }
@ -22022,6 +22082,10 @@ mod tests {
assert_eq!(summary.live_entry_ids, vec![1, 2, 3]); assert_eq!(summary.live_entry_ids, vec![1, 2, 3]);
assert_eq!(summary.records_tag_offset, 102); assert_eq!(summary.records_tag_offset, 102);
assert_eq!(summary.decoded_record_count, 0); assert_eq!(summary.decoded_record_count, 0);
assert_eq!(summary.records_with_trigger_kind, 0);
assert_eq!(summary.records_missing_trigger_kind, 3);
assert_eq!(summary.nondirect_compact_record_count, 0);
assert_eq!(summary.nondirect_compact_records_missing_trigger_kind, 0);
assert_eq!(summary.records.len(), 3); assert_eq!(summary.records.len(), 3);
assert_eq!(summary.records[0].decode_status, "unsupported_framing"); assert_eq!(summary.records[0].decode_status, "unsupported_framing");
} }
@ -22074,6 +22138,13 @@ mod tests {
.event_runtime_collection_summary .event_runtime_collection_summary
.as_ref() .as_ref()
.expect("non-direct event runtime collection summary should parse"); .expect("non-direct event runtime collection summary should parse");
assert_eq!(summary.records_with_trigger_kind, 0);
assert_eq!(summary.records_missing_trigger_kind, 1);
assert_eq!(summary.nondirect_compact_record_count, 1);
assert_eq!(summary.nondirect_compact_records_missing_trigger_kind, 1);
assert!(summary.control_lane_notes.iter().any(|line| {
line.contains("all compact non-direct rows currently decode row bodies only")
}));
let record = summary let record = summary
.records .records
.first() .first()
@ -22355,9 +22426,13 @@ mod tests {
assert_eq!(summary.decoded_record_count, 1); assert_eq!(summary.decoded_record_count, 1);
assert_eq!(summary.imported_runtime_record_count, 1); assert_eq!(summary.imported_runtime_record_count, 1);
assert_eq!(summary.records_with_trigger_kind, 1);
assert_eq!(summary.records_missing_trigger_kind, 0);
assert_eq!(summary.trigger_kinds_present, vec![7]);
assert_eq!(summary.records.len(), 1); assert_eq!(summary.records.len(), 1);
assert_eq!(summary.records[0].decode_status, "executable"); assert_eq!(summary.records[0].decode_status, "executable");
assert_eq!(summary.records[0].payload_family, "synthetic_harness"); assert_eq!(summary.records[0].payload_family, "synthetic_harness");
assert_eq!(summary.records[0].trigger_kind, Some(7));
assert_eq!(summary.records[0].text_bands[0].preview, "Alpha"); assert_eq!(summary.records[0].text_bands[0].preview, "Alpha");
assert_eq!(summary.records[0].standalone_condition_row_count, 1); assert_eq!(summary.records[0].standalone_condition_row_count, 1);
assert_eq!( assert_eq!(
@ -22408,6 +22483,9 @@ mod tests {
assert_eq!(summary.decoded_record_count, 1); assert_eq!(summary.decoded_record_count, 1);
assert_eq!(summary.imported_runtime_record_count, 1); assert_eq!(summary.imported_runtime_record_count, 1);
assert_eq!(summary.records_with_trigger_kind, 1);
assert_eq!(summary.records_missing_trigger_kind, 0);
assert_eq!(summary.trigger_kinds_present, vec![8]);
assert_eq!(summary.records[0].decode_status, "executable"); assert_eq!(summary.records[0].decode_status, "executable");
assert_eq!(summary.records[0].payload_family, "synthetic_harness"); assert_eq!(summary.records[0].payload_family, "synthetic_harness");
assert!(summary.records[0].executable_import_ready); assert!(summary.records[0].executable_import_ready);
@ -24864,6 +24942,12 @@ mod tests {
live_entry_ids: vec![1, 3, 5], live_entry_ids: vec![1, 3, 5],
decoded_record_count: 0, decoded_record_count: 0,
imported_runtime_record_count: 0, imported_runtime_record_count: 0,
records_with_trigger_kind: 0,
records_missing_trigger_kind: 3,
nondirect_compact_record_count: 0,
nondirect_compact_records_missing_trigger_kind: 0,
trigger_kinds_present: vec![],
control_lane_notes: vec![],
records: build_unsupported_event_runtime_record_summaries(&[1, 3, 5], "test summary"), records: build_unsupported_event_runtime_record_summaries(&[1, 3, 5], "test summary"),
}); });

View file

@ -246,6 +246,12 @@ Working rule:
`Texas Tea.gmp` expose non-direct `0x4e99/0x4e9a/0x4e9b` runtime-event collections, and the `Texas Tea.gmp` expose non-direct `0x4e99/0x4e9a/0x4e9b` runtime-event collections, and the
compact `0x526f/0x4eb8/0x4eb9` row family is now decoded into actual condition/grouped row compact `0x526f/0x4eb8/0x4eb9` row family is now decoded into actual condition/grouped row
summaries rather than opaque slices summaries rather than opaque slices
- the rehosted collection summary now makes the remaining control-lane gap explicit too:
it reports `records_with_trigger_kind`, `records_missing_trigger_kind`,
`nondirect_compact_record_count`, `nondirect_compact_records_missing_trigger_kind`, and
`control_lane_notes`; real `War Effort.gmp` output currently shows `24/24` compact non-direct
rows still missing decoded trigger kind, which narrows the next owner question to the
non-row-body control lane rather than the compact row framing itself
- the concrete owner strip above that bundle is grounded now too: - the concrete owner strip above that bundle is grounded now too:
`0x00433060` is the direct non-direct serializer loop that writes `0x4e99/0x4e9a/0x4e9b`, `0x00433060` is the direct non-direct serializer loop that writes `0x4e99/0x4e9a/0x4e9b`,
calls `0x00430d70` per live collection row, and sits beside the sibling `0x00433130` size/load calls `0x00430d70` per live collection row, and sits beside the sibling `0x00433130` size/load