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.exesmack.dllIMPP.Interface.dllIMPP.ServiceBase.dllIMPP.Service.dllTcpFileTransfer.dllHYHC.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.exeis confirmed;smack.dllis present in loaded modules or install path evidence;IMPP.Interface.dll,IMPP.ServiceBase.dll, andIMPP.Service.dllare present or explainably loadable.
Fail when:
smack.dllis 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, andXMPPConnection.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.