Files
isphere-ai-bridge/docs/superpowers/plans/2026-07-10-c30-send-sidecar-runtime-probe.md
2026-07-10 10:59:48 +08:00

3.9 KiB

C30 Send Sidecar Runtime Probe Plan

Date: 2026-07-10 Route decision: B primary, A fallback Parent: docs/source-discovery/2026-07-10-send-sidecar-b-first-plan.md

Objective

Prove whether the running logged-in iSphere / IMPlatformClient.exe client on this machine can support the B-route sidecar connector.

This node is read-only. It does not send messages, upload files, click UI, type text, inject hooks, or attach runtime instrumentation.

Scope

Use ISphereWinHelper op:

probe_client_runtime

For a machine where iSphere can actually log in, prefer the portable package:

runs/live-probe-recorder-package.zip

It collects the runtime probe plus process details, network metadata, filesystem candidates, registry/service/shortcut inventory, and UIA target-window dumps in one run.

Collect:

  • target process PID;
  • process name;
  • main window title/handle;
  • executable path;
  • process bitness;
  • helper host bitness;
  • target-process command-line metadata with redaction;
  • key module presence:
    • IMPlatformClient.exe
    • smack.dll
    • IMPP.Interface.dll
    • IMPP.ServiceBase.dll
    • IMPP.Service.dll
    • TcpFileTransfer.dll
    • HYHC.IMPP.DAL.dll
  • install/cache/config/log/database candidate metadata;
  • key file versions and hashes;
  • target-process TCP connections and related named pipes;
  • registry uninstall entries, services, shortcuts;
  • UIA target-window dumps for A-route fallback.

Acceptance gates

B1 runtime discovery

Pass when:

  • at least one target process is returned;
  • target score favors IMPlatformClient / iSphere;
  • executable path is present;
  • bitness is known or module probing still succeeds.

Fail when:

  • no target process is running;
  • process cannot be inspected enough to determine path/bitness;
  • discovered process does not match iSphere/IMPlatformClient.

B2 module availability

Pass when:

  • IMPlatformClient.exe is confirmed;
  • smack.dll is present in loaded modules or install path evidence;
  • IMPP.Interface.dll, IMPP.ServiceBase.dll, and IMPP.Service.dll are present or explainably loadable.

Fail when:

  • smack.dll is absent and no install-path fallback is available;
  • service/interface DLLs are absent;
  • helper bitness prevents module inspection and no x86/x64 helper variant is available.

Commands

Build and verify helper:

powershell -NoProfile -ExecutionPolicy Bypass -File scripts\verify-win-helper.ps1

Run live runtime probe after the user has logged in to iSphere:

$request = @{
  protocol = 'isphere.helper.v1'
  request_id = 'c30-live-runtime-probe'
  op = 'probe_client_runtime'
  timeout_ms = 5000
  args = @{
    process_names = @('IMPlatformClient', 'IMPP.ISphere', 'iSphere', 'importal')
    include_modules = $true
    max_modules = 160
  }
} | ConvertTo-Json -Depth 8 -Compress

$request | .\runs\win-helper\ISphereWinHelper.exe | Tee-Object -FilePath .\runs\real-loggedin-lab\sidecar-probe\c30-runtime-probe.json

If the target is 32-bit and module probing fails from the default helper, rebuild x86 helper:

powershell -NoProfile -ExecutionPolicy Bypass -File scripts\build-win-helper.ps1 -Platform x86 -OutputDir runs\win-helper-x86

Then rerun the same request against:

.\runs\win-helper-x86\ISphereWinHelper.exe

Output artifacts

If a logged-in client is available, write:

runs/real-loggedin-lab/sidecar-probe/c30-runtime-probe.json

Then update:

docs/source-discovery/capability-source-matrix.md

Next node decision

If B1/B2 pass:

  • move to C31 non-mutating manual-send observation plan;
  • observe whether manual send hits SendTxtMessageByJid, MessageScheduling.SendChatMessage, Chat.SendMessage, and XMPPConnection.send.

If B1/B2 fail:

  • document exact failure;
  • decide whether to try x86/x64 helper variant;
  • if still blocked, activate A-route constrained UI/RPA fallback.