5.2 KiB
Capability Source Matrix
Date: 2026-07-10
Stage: C log-backed receive implementation
Evidence index: docs/source-discovery/2026-07-09-n12-pre-zyl-index.md
Schema notes: docs/source-discovery/2026-07-09-n12-pre-zyl-schema-notes.md
Source priority
- Existing bridge / API / local service.
- Local data, log, cache, or database source.
- UIA helper source through C# WinHelper.
- Network/protocol source.
- Mock source for tests only.
Matrix
| MCP tool | Primary source | Fallback source | Evidence file | Decision status | Next implementation slice |
|---|---|---|---|---|---|
isphere_receive_messages |
decrypted PacketReader.ProcessPacket XMPP <message> stanzas via internal/isphere.EncryptedPacketLogSource; configured by ISPHERE_PACKET_LOG_FILE or ISPHERE_PACKET_LOG_DIR |
decrypted Smark.SendReceive transport stanzas; decrypted SaveToDB Chat_OnMessageArrived traces; copied MsgLib.db after C26 read-only schema/open validation |
docs/source-discovery/2026-07-09-n12-pre-zyl-schema-notes.md#field-mapping-evidence; docs/source-discovery/2026-07-10-dotnet-wrapper-static-analysis.md |
C20 supports and validates the current safe receive-message contract args; C25 recovered the likely MsgLib.db wrapper password/connection flow but DB open is not validated yet |
C26 copied-DB read-only schema extraction |
isphere_search_contacts |
bare sender/receiver JIDs extracted from normalized log-backed messages loaded from configured PacketReader file or directory source | MsgLib.db tables after C26 read-only validation: TD_Roster, tblRecent, tblChatLevel, tblPersonMsg; decrypted roster/contact stanzas from Smark.SendReceive; UIA helper source if display names are still missing |
docs/source-discovery/2026-07-10-dotnet-wrapper-static-analysis.md |
C25 recovered the static wrapper path and candidate contact/display-name tables; direct copied-DB read is still unvalidated | C26 copied-DB read-only schema extraction with recovered wrapper password |
isphere_search_groups |
decrypted PacketReader.ProcessPacket type="groupchat" stanzas and conference/MUC JIDs loaded from configured PacketReader file or directory source |
MsgLib.db tables after C26 read-only validation: tblMsgGroupPersonMsg, TD_WorkGroupAuth, tblRecent; UIA helper source if group display names are still missing |
docs/source-discovery/2026-07-10-dotnet-wrapper-static-analysis.md; C9 ignored-log scan: PacketReader 86 groupchat/86 conference hits; Smark 24 groupchat/658 conference/631 muc hits |
C25 recovered the static wrapper path and candidate group/member display fields; direct copied-DB read is still unvalidated | C26 copied-DB read-only schema extraction with recovered wrapper password |
isphere_receive_files |
decrypted PacketReader.ProcessPacket file-transfer message stanzas via internal/isphere.ListFilesFromMessages and isphere_receive_files list mode; configured PacketReader file or directory source; zyl\importal\<hash> cache entries remain unlinked |
decrypted Smark.SendReceive and SaveToDB traces for file-reference reconciliation; future UIA/client connector for download |
docs/source-discovery/2026-07-09-n12-pre-zyl-schema-notes.md#c12-file-transfer-evidence-precheck |
C22 verifies safe file-list contract args; no log-to-cache/download mapping yet | defer download mapping; precheck contact/group display-name evidence |
isphere_send_message |
none validated yet | existing bridge/API/local service preferred; UIA write connector only after internal-sandbox action evidence; network/protocol connector only after protocol discovery | docs/source-discovery/2026-07-10-send-message-source-precheck.md |
C15 blocked: contract exists, but no committed bridge/API/local service, helper write op, UIA action chain, or protocol connector is validated | do not implement write behavior; harden existing read source configuration |
isphere_send_file |
none validated yet | depends on send-message connector plus outbound file/upload evidence | docs/source-discovery/2026-07-10-send-message-source-precheck.md |
blocked behind isphere_send_message connector selection and file upload/source policy |
defer until send-message connector is validated |
Stage C entry rule
Open implementation only for the selected row whose evidence maps concrete fields to the MCP output contract. After Stage B2, isphere_receive_messages satisfies the entry rule through decrypted PacketReader.ProcessPacket XML shape.
Stage C first slice recommendation
Start Stage C with a narrow log-backed isphere_receive_messages source abstraction:
- Implement DES/CBC/PKCS7 line decryption for
IMPP.Util.Log.LogSecurityPolicyformat. - Implement a parser for decrypted
PacketReader.ProcessPacketXMPP<message>stanzas. - Normalize only redacted test fixtures into message structs first.
- Add the MCP tool registration after the parser/source abstraction passes tests.
Deferred source work
MsgLib.db is no longer treated as ordinary SQLite. C25 recovered the likely wrapper route (System.Data.SQLite plus DB config password 123), but C26 must still validate a copied read-only DB open and schema extraction before any DB-backed production read source is implemented.