Files
isphere-ai-bridge/docs/source-discovery/2026-07-10-send-message-connector-selection.md
2026-07-10 09:55:56 +08:00

5.1 KiB

Send Message Connector Selection

Date: 2026-07-10

Goal

Select the first safe connector for isphere_send_message, or block send implementation with an exact evidence request.

This node does not implement message sending, does not click/type in the client, does not send a test message, and does not capture network traffic. It reviews committed repo evidence and the current local implementation only.

Current prerequisites

Target resolution is now usable for connector work:

  • isphere_search_contacts has deterministic exact-match-first ranking and case-insensitive de-duplication.
  • isphere_search_groups has deterministic exact-match-first ranking and case-insensitive de-duplication.
  • MCP send contract already defines preview/production modes, content_sha256, idempotency_key, target metadata, and write errors.

The missing part is the write connector.

Connector candidates

Priority Candidate Evidence reviewed Can preview target/content? Can execute exactly once? Can confirm success? Decision
1 Existing bridge/API/local service Repository search and committed docs/code. No callable bridge/API/local write service found. No. No. Not selected.
2 UIA helper action chain native/ISphereWinHelper/Program.cs, internal/uiaselector/catalog.go, internal-sandbox runbook. No validated conversation-open, draft, send-button, or result selectors. No helper op for click/type/send/invoke. No post-send confirmation evidence. Not selected.
3 Network/protocol connector Current PacketReader/Smark/SaveToDB evidence and protocol docs. Read/transport evidence exists, but no authorized sent-message capture or replay/wrapper contract. No idempotent write operation proven. No ack/result mapping proven. Not selected.
4 Preview-only mock/contract docs/mcp-core-tools-contract.md. Contract shape exists. Production send unavailable. Not applicable. Not enough for R6 production path.

Evidence details

Existing bridge/API/local service

No committed callable local service or API wrapper was found for sending messages. Current Go MCP code registers read/observation tools only.

UIA helper action chain

Current helper operations are limited to:

version
self_check
scan_windows
dump_uia

Current selector catalog uses AllowedUseReadOnlyLocate. It identifies structural areas such as main window, panels, roster, and fuzzy search edit, but it does not validate:

  • target search execution;
  • conversation open;
  • message editor focus;
  • draft insertion;
  • send button location/action;
  • pre-send preview confirmation;
  • post-send success/failure confirmation.

The internal-sandbox operator runbook also only authorizes read-only capture actions. It does not provide an approved write-action evidence package.

Network/protocol connector

Current evidence includes decrypted receive-side/transport logs, but there is no scoped authorized capture of a sent test message and no stable write request/response contract.

Missing protocol evidence:

  • endpoint or stanza used for text send;
  • auth/session model at a wrapper level without storing secrets;
  • target id format for direct and group sends;
  • request id/idempotency field or equivalent exactly-once guard;
  • success ack/failure state mapping;
  • rate limit/retry behavior.

Decision

No send-message connector is selected for R6.

isphere_send_message remains blocked for production implementation.

R6 should not start until one of the evidence packages below is available.

Exact evidence request

Any one of these can unblock R6:

Option A: bridge/API/local service evidence

Provide a committed or operator-supplied wrapper spec that proves:

  • endpoint/command name;
  • accepted target ids for contact and group;
  • preview/dry-run behavior;
  • production execution call;
  • idempotency key handling;
  • success/failure response shape;
  • sandbox-only verification command.

Option B: UIA action-chain evidence package

Provide a new internal-sandbox package that explicitly allows and records a test send workflow:

  • manually logged-in sandbox account;
  • test target only;
  • selector evidence for search/open conversation/message editor/send control;
  • pre-send preview state;
  • one intentional test send;
  • post-send confirmation state;
  • failure states such as target not found or disabled send button;
  • operator note that the send was approved and limited to the test target.

Option C: network/protocol evidence package

Provide an authorized scoped capture for one test send:

  • capture scope and timing;
  • host/port/protocol classification;
  • redacted request/response shape;
  • target id and message id fields, redacted where needed;
  • success ack/failure mapping;
  • session/auth handling at a high level without secrets.

Next route

Because R5 did not select a connector:

  • R6 production send implementation is blocked.
  • R7/R8 send-file work is also blocked behind the send-message connector and upload/file-transfer evidence.
  • The project should pause write-side implementation and request one of the evidence packages above.