220 lines
5.8 KiB
Markdown
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.
|