Files
isphere-ai-bridge/docs/n12r-final-handoff-checklist.md

220 lines
5.8 KiB
Markdown

# N12R Final Handoff Checklist
Date: 2026-07-08
This is the short handoff entry for the current reality:
- The current repository environment is an outer-network coordination and analysis environment.
- iSphere / IMPlatformClient is internal-network only.
- Do not treat the current environment as capable of completing live login capture.
- The active live-capture route is `N12R: Internal-sandbox live capture route`.
- The original current-environment live-login gate remains blocked unless the repository environment itself is moved into the internal network and an operator can manually log in there.
## 1. Read this first
Use these files in this order:
```text
docs/handoff-2026-07-06.md
docs/n12r-final-handoff-checklist.md
docs/internal-sandbox-live-capture-plan.md
docs/internal-sandbox-operator-runbook.md
docs/n12r-return-package-validation-checklist.md
```
If you only need the immediate next action, follow section 3 and section 4 below.
## 2. Current node map
```text
N0-N11
Completed first-phase Go MCP / WinHelper foundation.
N12-pre
Offline evidence intake and static analysis.
Evidence input: runs/offline-evidence-intake/zyl
Reports: runs/offline-evidence-intake-reports/zyl
Status: useful supporting analysis, not a substitute for live UIA capture.
N12-current
Current-environment real logged-in UIA capture.
Status: blocked in this outer-network environment.
N12R
Internal-sandbox live capture route.
Status: active live-capture route.
N13
Selector/UIA design review.
Status: do not start until an N12R package is accepted.
```
## 3. What the internal-network sandbox operator must do
The internal operator must use:
```text
docs/internal-sandbox-operator-runbook.md
```
Required operator flow:
1. Prepare the repository inside an internal-network test sandbox.
2. Start iSphere / IMPlatformClient normally.
3. Complete manual interactive login using the normal company process.
4. Keep the main iSphere window visible.
5. Run only read-only helper checks:
- `version`
- `self_check`
- `scan_windows`
- `dump_uia`
6. Save the returned package under:
```text
runs/internal-sandbox-live-capture/<capture-id>/
```
Required returned package files:
```text
metadata/source-notes.txt
helper/version.json
helper/self-check.json
windows/scan-windows.json
windows/selected-window.json
uia/dump-uia-main.json
uia/dump-uia-main-redacted.json
notes/operator-notes.txt
```
Recommended returned package files:
```text
metadata/os-version.txt
metadata/process-list.txt
metadata/repo-status.txt
metadata/verification-summary.txt
```
## 4. What the outer-network receiver must do
After the internal sandbox returns a package, place it at:
```text
runs/internal-sandbox-live-capture/<capture-id>/
```
Then run the read-only validator:
```powershell
$captureRoot = "runs\internal-sandbox-live-capture\<capture-id>"
$reportRoot = "runs\internal-sandbox-live-capture-reports"
New-Item -ItemType Directory -Force -Path $reportRoot | Out-Null
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\validate-n12r-return-package.ps1 `
-PackageRoot $captureRoot `
-ReportPath (Join-Path $reportRoot "<capture-id>-validation.md")
```
Keep validation reports outside `$captureRoot`. The returned package is evidence input and should remain unchanged.
Run the validator regression tests before changing the validator:
```powershell
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\test-validate-n12r-return-package.ps1
```
## 5. Acceptance gate for N12R
Accept an N12R package only if all of these are true:
1. Required files exist.
2. Required JSON files parse.
3. `helper/version.json` reports `ISphereWinHelper`.
4. `helper/self-check.json` reports `ok=true` and UIA availability.
5. `windows/scan-windows.json` includes an iSphere / IMPlatformClient candidate window.
6. `windows/selected-window.json` records the selected hwnd and title or process metadata.
7. `uia/dump-uia-main.json` contains a parseable UIA root/tree.
8. `uia/dump-uia-main-redacted.json` exists and parses.
9. Operator notes state manual login and no forbidden action.
10. The validator decision is `ACCEPT`.
If any acceptance item fails, keep N12R open and request a corrected internal-sandbox capture.
## 6. Hard boundary
Allowed live operations remain only:
```text
win_helper_version
win_helper_self_check
win_helper_scan_windows
win_helper_dump_uia
```
Do not add or use any tool for:
```text
automatic login
search contacts
open conversation
send message
send file
receive file
upload file
download file
credential extraction
injection
hooking
memory reading
endpoint-security bypass
```
Do not run copied client binaries from an evidence package.
## 7. Offline evidence status
Offline evidence already received:
```text
runs/offline-evidence-intake/zyl
```
Generated reports are outside the original evidence package:
```text
runs/offline-evidence-intake-reports/zyl
```
Important offline conclusions:
- Two IMPlatformClient builds were observed: `4.1.2.6842` and `4.1.2.6839`.
- `MsgLib.db` artifacts are not standard SQLite.
- Static .NET metadata and logs support format/owner hypotheses.
- Offline evidence is useful for context, but it cannot prove live UIA selector behavior.
## 8. Environment caveats
Known local caveat:
```text
go is not installed in the current outer-network environment
```
This affects `scripts/verify-go-mcp.ps1` in this environment only. It does not change the N12R route.
## 9. Next decision after N12R acceptance
If the returned N12R package is accepted:
1. Record the validation report path.
2. Review the UIA tree structure.
3. Decide whether selector design is stable enough for N13.
4. Write a separate N13 selector design plan before adding any selector logic.
If the returned N12R package is rejected:
1. Keep N12R as active.
2. Send the validation failure list back to the internal-network operator.
3. Request a corrected read-only capture.