|
35 | 35 | "level": "high", |
36 | 36 | "reasons": [ |
37 | 37 | "tool exposure is observational rather than randomized", |
38 | | - "actors who use a tool may differ from the control cohort before exposure" |
| 38 | + "actors who use a tool may differ from the control cohort before exposure", |
| 39 | + "invoked-at gaps are descriptive timing only, not elapsed-time causal windows" |
39 | 40 | ] |
40 | 41 | }, |
41 | 42 | "interpretation": "linked_cohort_association_only", |
42 | 43 | "returnWindow": { |
| 44 | + "aggregate": { |
| 45 | + "immediateNextSessionReturns": 6, |
| 46 | + "medianInvokedAtGapToReturn": 1135, |
| 47 | + "returningActorCount": 6, |
| 48 | + "sustainedMultiSessionReturns": 0 |
| 49 | + }, |
| 50 | + "claimBoundary": "not_incremental_effect_not_causal", |
43 | 51 | "kind": "next_observed_session", |
44 | 52 | "label": "second_observed_session", |
45 | | - "timingMode": "session_count_only", |
46 | | - "explanation": "Return currently means the actor had any later observed session. Pathloom does not yet model elapsed time, censoring, or intervention timing." |
| 53 | + "timingMode": "session_order_plus_invoked_at_gap", |
| 54 | + "explanation": "Return means the actor had a later observed session. Pathloom also reports immediate (exactly two sessions) vs sustained (three or more) return shapes and median invoked-at gap between first and second sessions when timestamps exist. This is still observational — not incremental lift or causal timing." |
47 | 55 | }, |
48 | 56 | "signalTaxonomy": { |
49 | 57 | "candidate": "candidate_return_correlate", |
|
58 | 66 | "id": "activation_tool_report", |
59 | 67 | "items": [ |
60 | 68 | { |
| 69 | + "cohortContext": { |
| 70 | + "cohortSemantics": "first_session_exposure_vs_linked_control_without_exposure", |
| 71 | + "comparisonId": "activation:shadow_ops_context:first_session_exposure", |
| 72 | + "controlActorCount": 6, |
| 73 | + "controlCohortLabel": "linked actors without shadow_ops_context in their first observed session", |
| 74 | + "controlReturnRate": 0, |
| 75 | + "exposedActorCount": 6, |
| 76 | + "exposureCohortLabel": "linked actors who invoked shadow_ops_context in their first observed session", |
| 77 | + "exposedReturnRate": 1, |
| 78 | + "returnWindow": { |
| 79 | + "immediateNextSessionReturns": 6, |
| 80 | + "kind": "next_observed_session", |
| 81 | + "label": "second_observed_session", |
| 82 | + "medianInvokedAtGapToReturn": 1135, |
| 83 | + "sustainedMultiSessionReturns": 0 |
| 84 | + } |
| 85 | + }, |
61 | 86 | "confidenceBand": { |
62 | 87 | "controlLower": 0, |
63 | 88 | "controlUpper": 0.39, |
|
201 | 226 | "sequenceLabel": "shadow_search_path -> shadow_inspect_file", |
202 | 227 | "sessionCount": 6, |
203 | 228 | "terminalToolBaselineErrorRate": 0, |
204 | | - "terminalToolErrorLift": 1 |
| 229 | + "terminalToolErrorLift": 1, |
| 230 | + "trajectoryContext": { |
| 231 | + "cohortSemantics": "ordered_paths_sharing_terminal_tool_and_suffix_peer_bucket_excludes_focus_path", |
| 232 | + "familyDistinctPathCount": 2, |
| 233 | + "familyId": "terminal:shadow_inspect_file:suffix_tail:shadow_inspect_file:len:2:risky_sequence", |
| 234 | + "familyLabel": "other routes into shadow_inspect_file", |
| 235 | + "peerObservationCount": 6, |
| 236 | + "suffixBucketObservationCount": 12, |
| 237 | + "windowLength": 2 |
| 238 | + } |
205 | 239 | }, |
206 | 240 | { |
207 | 241 | "baselineKind": "matched_suffix_peers", |
|
252 | 286 | "successLift": 1, |
253 | 287 | "successRate": 1, |
254 | 288 | "terminalToolBaselineSuccessRate": 0, |
255 | | - "terminalToolSuccessLift": 1 |
| 289 | + "terminalToolSuccessLift": 1, |
| 290 | + "trajectoryContext": { |
| 291 | + "cohortSemantics": "ordered_paths_sharing_terminal_tool_and_suffix_peer_bucket_excludes_focus_path", |
| 292 | + "familyDistinctPathCount": 2, |
| 293 | + "familyId": "terminal:shadow_inspect_file:suffix_tail:shadow_inspect_file:len:2:golden_path", |
| 294 | + "familyLabel": "other routes into shadow_inspect_file", |
| 295 | + "peerObservationCount": 6, |
| 296 | + "suffixBucketObservationCount": 12, |
| 297 | + "windowLength": 2 |
| 298 | + } |
256 | 299 | } |
257 | 300 | ], |
258 | 301 | "recommendation": "Focus on the highest-lift failure endpoint first. Tighten the handoff into that terminal tool or add a safer bridge before the failing step.", |
|
428 | 471 | } |
429 | 472 | } |
430 | 473 | ], |
431 | | - "generatedAt": "2026-05-27T08:45:52.841Z", |
| 474 | + "generatedAt": "2026-05-29T07:40:46.792Z", |
432 | 475 | "reportVersion": "1.0", |
433 | 476 | "sourceKey": "logfile:liquid-shadow-dogfood", |
434 | 477 | "summary": { |
|
0 commit comments