docs: add N12R internal sandbox handoff workflow
This commit is contained in:
@@ -26,9 +26,15 @@ N0 Baseline cleanup and direction lock
|
||||
-> N10 Operator runbook and process scripts
|
||||
-> N11 Commit/review checkpoint
|
||||
-> N12-pre Offline evidence intake
|
||||
-> N12 Real logged-in UIA capture gate
|
||||
-> N12R Internal-sandbox live UIA capture route
|
||||
-> N12R-review Selector design review gate
|
||||
|
||||
Blocked/non-active:
|
||||
-> N12-current Current-environment real logged-in UIA capture gate
|
||||
```
|
||||
|
||||
**Reality update 2026-07-08:** iSphere is internal-network only. The current repository environment is an outer-network coordination/analysis environment. Therefore `N12-current` is not the active route unless network placement changes. Live login and live UIA capture must happen in an internal-network test sandbox through `N12R`.
|
||||
|
||||
Hard rule: **no node may start until the previous node's acceptance conditions are met.**
|
||||
|
||||
---
|
||||
@@ -753,7 +759,7 @@ Pass if:
|
||||
- Unrelated generated files are staged.
|
||||
- Worktree contains ignored build outputs outside `runs/`.
|
||||
|
||||
**Next node:** N12-pre if the current environment cannot log in; otherwise N12 may start only when the real logged-in current-environment preconditions below are met.
|
||||
**Next node:** N12-pre for offline evidence intake, followed by N12R for live capture in an internal-network test sandbox. `N12-current` remains blocked because the current outer-network environment cannot log in to internal iSphere.
|
||||
|
||||
---
|
||||
|
||||
@@ -830,24 +836,101 @@ Pass if:
|
||||
- Package is used to design automatic login, sending, file transfer, injection, hook, memory reading, or endpoint-security bypass.
|
||||
- Any reader treats the offline package as a replacement for true N12.
|
||||
|
||||
**Next node:** N12 remains blocked until the current environment can manually log in and perform a live current-environment UIA capture.
|
||||
**Next node:** N12R internal-sandbox live capture route if live UI evidence is needed. `N12-current` remains blocked in the outer-network environment.
|
||||
|
||||
---
|
||||
|
||||
## N12: Real logged-in UIA capture gate
|
||||
## N12R: Internal-sandbox live capture route
|
||||
|
||||
**Purpose:** Capture real iSphere UIA evidence after the user provides/login context.
|
||||
**Purpose:** Capture live iSphere UIA evidence from a separate internal-network test sandbox where iSphere can be manually opened and logged in.
|
||||
|
||||
**Preconditions:**
|
||||
|
||||
- N11 accepted.
|
||||
- Optional N12-pre offline evidence, if used, has been validated only as pre-gate context and not as N12 pass evidence.
|
||||
- User manually opens and logs in to iSphere.
|
||||
- iSphere main window is visible.
|
||||
- Optional N12-pre offline evidence, if used, has been validated only as pre-gate context and not as live capture evidence.
|
||||
- An internal-network test sandbox can manually open and log in to iSphere / IMPlatformClient using the normal approved process.
|
||||
- The internal sandbox has this repository or a trusted copy of the built helper/MCP artifacts.
|
||||
- The operator follows `docs/internal-sandbox-operator-runbook.md`.
|
||||
|
||||
**Actions:**
|
||||
|
||||
Use Go MCP tools:
|
||||
- In the internal sandbox, run only the first-phase read-only operations:
|
||||
|
||||
```text
|
||||
win_helper_version
|
||||
win_helper_self_check
|
||||
win_helper_scan_windows
|
||||
win_helper_dump_uia
|
||||
```
|
||||
|
||||
or the equivalent helper ops:
|
||||
|
||||
```text
|
||||
version
|
||||
self_check
|
||||
scan_windows
|
||||
dump_uia
|
||||
```
|
||||
|
||||
- Save the returned package under:
|
||||
|
||||
```text
|
||||
runs/internal-sandbox-live-capture/<capture-id>/
|
||||
```
|
||||
|
||||
- Follow the package contract in `docs/internal-sandbox-live-capture-plan.md`.
|
||||
|
||||
**Expected outputs:**
|
||||
|
||||
- `metadata/source-notes.txt` stating internal-network test sandbox, manual login, main window visible, and forbidden actions not performed.
|
||||
- `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`.
|
||||
|
||||
**Acceptance conditions:**
|
||||
|
||||
Pass if:
|
||||
|
||||
- The package satisfies `docs/n12r-return-package-validation-checklist.md`.
|
||||
- `scan-windows.json` includes an iSphere / IMPlatformClient candidate window.
|
||||
- `dump-uia-main.json` contains a UI Automation root tree for the selected window.
|
||||
- The capture notes state the user manually logged in and no forbidden action was performed.
|
||||
- The redacted dump exists before broad sharing.
|
||||
|
||||
**Stop conditions:**
|
||||
|
||||
- Internal sandbox cannot manually log in.
|
||||
- No candidate window appears.
|
||||
- UIA tree is empty or inaccessible.
|
||||
- Package contains secrets or message contents that require redaction before review.
|
||||
- Any step requires automatic login, clicking into conversations, sending, uploading, downloading, injection, hook, memory reading, or endpoint-security bypass.
|
||||
|
||||
**Next node:** N12R-review selector design review gate. Do not implement selectors until N12R evidence is accepted and a separate selector design plan is approved.
|
||||
|
||||
---
|
||||
|
||||
## N12-current: Current-environment real logged-in UIA capture gate (blocked)
|
||||
|
||||
This is the original N12 definition. It is retained as a blocked/non-active gate for historical clarity. It is not the active route while the repository environment is outside the internal network.
|
||||
|
||||
**Blocked reason:** iSphere is internal-network only, and the current repository environment cannot manually log in.
|
||||
|
||||
**Original purpose:** Capture real iSphere UIA evidence from a manually logged-in iSphere window in the same environment where this repository is running.
|
||||
|
||||
**Original preconditions, if network placement changes later:**
|
||||
|
||||
- N11 accepted.
|
||||
- Optional N12-pre offline evidence, if used, has been validated only as pre-gate context and not as N12 pass evidence.
|
||||
- The repository environment can manually open and log in to iSphere / IMPlatformClient using the normal approved process.
|
||||
- iSphere main window is visible in that same environment.
|
||||
|
||||
**Original allowed actions:**
|
||||
|
||||
Use only these Go MCP tools:
|
||||
|
||||
```text
|
||||
win_helper_scan_windows
|
||||
@@ -860,35 +943,9 @@ Save output under:
|
||||
runs/real-loggedin-lab/uia-dumps/
|
||||
```
|
||||
|
||||
**Expected outputs:**
|
||||
**Current decision:** Do not wait on this gate as the active route. Use N12R internal-sandbox live capture instead.
|
||||
|
||||
- One or more real iSphere UIA dump JSON files.
|
||||
- Window metadata showing process name/title/handle.
|
||||
|
||||
**Acceptance conditions:**
|
||||
|
||||
Pass if:
|
||||
|
||||
- Candidate iSphere/IMPlatform window is found.
|
||||
- UIA root node is a window/control tree.
|
||||
- Dump includes enough fields to identify controls:
|
||||
- `name`
|
||||
- `control_type`
|
||||
- `automation_id`
|
||||
- `class_name`
|
||||
- `children`
|
||||
- No clicking, typing, sending, uploading, receiving, or downloading occurs.
|
||||
- No passwords/tokens are captured.
|
||||
|
||||
**Stop conditions:**
|
||||
|
||||
- User is not logged in.
|
||||
- No candidate window appears.
|
||||
- UIA tree is empty or inaccessible.
|
||||
- Captured data contains sensitive secrets that need redaction before reporting.
|
||||
- Current environment cannot log in; in that case, use only N12-pre offline analysis and do not mark N12 passed.
|
||||
|
||||
**Next node:** Future selector design. Do not implement selectors until N12 passes.
|
||||
**Next node:** Future selector design may be considered only after N12R evidence is accepted, or after N12-current becomes possible and passes. Do not implement selectors before a separate selector design plan is approved.
|
||||
|
||||
---
|
||||
|
||||
@@ -897,7 +954,7 @@ Pass if:
|
||||
Every node must satisfy these rules:
|
||||
|
||||
1. No Python MCP code.
|
||||
2. No real send/search/file action before N12.
|
||||
2. No real send/search/file action before an explicitly approved post-N12R selector/action plan.
|
||||
3. No process injection, hook, credential extraction, token extraction, or memory reading.
|
||||
4. No broad `git add -A`; stage exact paths.
|
||||
5. Every code node uses tests first.
|
||||
@@ -911,13 +968,13 @@ Every node must satisfy these rules:
|
||||
Current guidance after N0-N11 completion is:
|
||||
|
||||
```text
|
||||
N12-pre if the current environment cannot log in; N12 only after current-environment manual login is possible.
|
||||
N12-pre has been used for offline evidence. Because the current environment is outside the internal network, the active live-capture route is N12R internal-sandbox live capture. N12-current remains blocked unless network placement changes.
|
||||
```
|
||||
|
||||
Immediate next action:
|
||||
|
||||
```text
|
||||
If login is unavailable here, collect/validate the full sandbox artifact bundle described in docs/offline-evidence-intake-plan.md. Minimal manifest/scan/dump JSON is optional and only for advanced operators.
|
||||
If live UI evidence is needed, use `docs/internal-sandbox-live-capture-plan.md` and `docs/internal-sandbox-operator-runbook.md` to collect an N12R package from an internal-network test sandbox. Continue to use `docs/offline-evidence-intake-plan.md` only for offline file evidence.
|
||||
```
|
||||
|
||||
Do not treat offline evidence as N12 pass. Do not start selector/action design until true N12 passes in the current environment.
|
||||
Do not treat offline evidence as N12 pass. Do not start selector/action design until N12R live evidence is accepted, or until N12-current becomes possible and passes in the current environment.
|
||||
|
||||
Reference in New Issue
Block a user