chore: add send file sandbox evidence package
This commit is contained in:
68
docs/source-discovery/2026-07-10-send-file-sandbox-gate.md
Normal file
68
docs/source-discovery/2026-07-10-send-file-sandbox-gate.md
Normal file
@@ -0,0 +1,68 @@
|
||||
# 2026-07-10 R9 Send-file sandbox evidence gate
|
||||
|
||||
## Decision
|
||||
|
||||
Local development still cannot log in to iSphere/IMPlatformClient, so real file upload must not be enabled from local-only evidence.
|
||||
|
||||
R9 prepares a one-pass online/internal sandbox package for collecting the missing evidence. The package is intentionally operator-driven:
|
||||
|
||||
- it does not click, type, upload, hook, inject, or send automatically;
|
||||
- the operator manually sends exactly one approved sandbox file;
|
||||
- before/after read-only recorder output and completed operator fields are returned for validation;
|
||||
- production `isphere_send_file` remains blocked until the returned package passes validation.
|
||||
|
||||
## Package
|
||||
|
||||
Builder:
|
||||
|
||||
```powershell
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\package-send-file-sandbox-gate.ps1
|
||||
```
|
||||
|
||||
Verifier:
|
||||
|
||||
```powershell
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\verify-send-file-sandbox-gate-package.ps1
|
||||
```
|
||||
|
||||
Expected generated zip:
|
||||
|
||||
```text
|
||||
runs\send-file-sandbox-gate-package.zip
|
||||
```
|
||||
|
||||
## Returned-package validator
|
||||
|
||||
Use this after an online/internal sandbox operator returns a zip:
|
||||
|
||||
```powershell
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\validate-returned-send-file-sandbox-package.ps1 -ZipPath <returned-zip> -Strict
|
||||
```
|
||||
|
||||
The validator checks only sanitized booleans/counts/metadata:
|
||||
|
||||
- target fields are present;
|
||||
- `ISPHERE_SEND_FILE_ALLOWED_DIR` is recorded;
|
||||
- `sandbox_file_path`, `file_sha256`, `file_size_bytes`, and `idempotency_key` are present;
|
||||
- before and after recorder output exists;
|
||||
- operator timestamps are present;
|
||||
- file upload/sent-record evidence is present;
|
||||
- duplicate second file send was not attempted;
|
||||
- `production_file_send_enabled=false`.
|
||||
|
||||
## Current status
|
||||
|
||||
No returned R9 package has been reviewed in this repository state.
|
||||
|
||||
`isphere_send_file` remains preview/idempotency/audit only:
|
||||
|
||||
- `send_file_preview_tool_present=true`
|
||||
- `send_file_duplicate_detected=true`
|
||||
- `send_file_conflict_blocked=true`
|
||||
- `send_file_production_enabled=false`
|
||||
|
||||
## Next decision
|
||||
|
||||
If a returned package passes `strict_file_gate_pass`, the next implementation round may design a gated file-upload connector path.
|
||||
|
||||
If no returned package is available, keep file sending at preview only and continue local-safe rounds.
|
||||
Reference in New Issue
Block a user