# 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// ``` 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// ``` Then run the read-only validator: ```powershell $captureRoot = "runs\internal-sandbox-live-capture\" $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 "-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.