v1.6.5 — script-receiver trigger fix + alias resolution
v1.6.5 — script-receiver trigger fix + history_change alias resolution
🐛 Bug Fixes (P0)
script-receiver trigger was registered but never fired
examples/script-receiver/cue.yaml: rewrote trigger froma2a_content_matchtohistory_changewith guard expression. The original registered a handler on A2AListener (passive HTTP server on 18801) but CORE never pushes inbound messages to CUE — handler was dead code.- New
_PeerHistoryProxy.last_inbound_text()method returns concatenated text of recent inbound messages (skips outbound CORE auto-acks) sowrite_fileactions can persist the full payload.
history_change alias resolution was broken since v1.4.3
core/trigger_impl.py::HistoryChangeTrigger._poll_loopmatchedself.peer(e.g. 'remote_peer_a') against CORE'smessages/peersnamefield, which CORE returns as the first 8 chars of the peer uuid (e.g. '75755f13'). The string comparison never matched, so every history_change trigger with an alias peer name was silently inactive — includingowner-alert(deployed since v1.4.3).- New
_peer_matches()helper resolvesself.peerviaHistoryClient._aliases(alias → uuid → CORE name 8-char prefix) before comparing. Back-compat: explicit CORE names andpeer: '*'continue to work.
📦 Changed
__init__.py:__version__ = "1.6.5"core/trigger_impl.py:_peer_matches()helper extracted from_poll_loop()core/history_proxy.py:last_inbound_text()method addedexamples/script-receiver/cue.yaml: trigger type, guard expression, peer declarationexamples/script-receiver/production.local.yaml: new overlay templatedocker-compose.yml: image tagv1.6.4→v1.6.5
🧪 Tests
- New
tests/test_v165_script_receiver_fix.py(11 cases) - Full suite: 351 passed, 6 skipped, 0 failed (was 340 passing before)