TCAS Radar
Drift / Divergence
Lifecycle Desync
discount
0.95
INVARIANT_DRIFT
evict_session
0.85
LIFECYCLE_DESYNC
get_item
0.90
CONTRACT_DIVERGENCE
Assumption Ledger
3 entries
| Symbol | Agent A | Agent B | Class | Sev | Status |
|---|---|---|---|---|---|
| discount | float[0.0, 1.0] |
int[0, 100] |
INVARIANT_DRIFT | 0.95 | ⚠ HALTED |
| evict_session | async |
sync |
LIFECYCLE_DESYNC | 0.85 | ⚠ HALTED |
| get_item | raises[ItemNotFoundError] |
returns_none |
CONTRACT_DIVERGENCE | 0.90 | ⚠ HALTED |
Terminal Feed
[08:42:01] Mining claims from agent_a_discount.py...
[08:42:01] → InvariantClaim(symbol='discount', domain='float[0.0, 1.0]', confidence=0.95)
[08:42:01] Mining claims from agent_b_discount.py...
[08:42:01] → InvariantClaim(symbol='discount', domain='int[0, 100]', confidence=0.90)
[08:42:02] Mining claims from agent_a_lifecycle.py...
[08:42:02] → InvariantClaim(symbol='evict_session', domain='async', confidence=0.85)
[08:42:02] Mining claims from agent_b_lifecycle.py...
[08:42:02] → InvariantClaim(symbol='evict_session', domain='sync', confidence=0.85)
[08:42:02] Mining claims from agent_a_error.py...
[08:42:02] → InvariantClaim(symbol='get_item', contract='raises[ItemNotFoundError]', confidence=0.90)
[08:42:02] Mining claims from agent_b_error.py...
[08:42:02] → InvariantClaim(symbol='get_item', contract='returns_none', confidence=0.85)
[08:42:03] Running collision detection...
[08:42:03] ⚠ COLLISION: discount — INVARIANT_DRIFT (severity: 0.95) — HALTED
[08:42:03] ⚠ COLLISION: evict_session — LIFECYCLE_DESYNC (severity: 0.85) — HALTED
[08:42:03] ⚠ COLLISION: get_item — CONTRACT_DIVERGENCE (severity: 0.90) — HALTED
[08:42:03] 3 collision(s) detected. Agent execution halted.
Resolution Advisory
3 actions
Target: Agent B
discount
Normalize discount to
float[0.0, 1.0] domaindiscount = float(discount) / 100.0
Target: Agent B
evict_session
Align evict_session to async lifecycle
async def evict_session():
Target: Agent A
get_item
Raise
ItemNotFoundError instead of returning Noneraise ItemNotFoundError(item_id)