Skip to content

v1.6.5 — script-receiver trigger fix + alias resolution

Choose a tag to compare

@DerekEXS DerekEXS released this 06 Jul 14:39

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 from a2a_content_match to history_change with 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) so write_file actions can persist the full payload.

history_change alias resolution was broken since v1.4.3

  • core/trigger_impl.py::HistoryChangeTrigger._poll_loop matched self.peer (e.g. 'remote_peer_a') against CORE's messages/peers name field, 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 — including owner-alert (deployed since v1.4.3).
  • New _peer_matches() helper resolves self.peer via HistoryClient._aliases (alias → uuid → CORE name 8-char prefix) before comparing. Back-compat: explicit CORE names and peer: '*' 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 added
  • examples/script-receiver/cue.yaml: trigger type, guard expression, peer declaration
  • examples/script-receiver/production.local.yaml: new overlay template
  • docker-compose.yml: image tag v1.6.4v1.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)