docs: accept partial send sandbox evidence
This commit is contained in:
@@ -28,7 +28,7 @@
|
||||
| Search contacts | Registered MCP tool; deterministic exact-match ranking and case-insensitive de-duplication across log/JID candidates and optional copied-DB MsgLib display enrichment. | Optional richer fields such as department/title remain future enrichment, not a core search blocker. | complete for core search; optional enrichment later |
|
||||
| Search groups | Registered MCP tool; deterministic exact-match ranking and case-insensitive de-duplication across groupchat/conference candidates and optional copied-DB MsgLib display enrichment. | Optional member count, owner refs, and nested/group hierarchy remain future enrichment, not a core search blocker. | complete for core search; optional enrichment later |
|
||||
| Receive messages | PacketReader source works; copied `MsgLib.db` explicit receive works with `source_preference="msglib_readonly"`; R1 precheck says default should remain PacketReader until a future reconciliation helper is implemented. | Future reconciliation helper, source confidence scoring, pagination policy. | future receive helper after R2/R3 |
|
||||
| Send messages | `isphere_send_message` preview/dry-run is registered; R6a confirms B-route entrypoint metadata; R6c has a consolidated online sandbox recording package plus a separate offline capability-test package. | Need returned online sandbox evidence proving success/ack and no duplicate send before production. | next R6d returned sandbox evidence intake |
|
||||
| Send messages | `isphere_send_message` preview/dry-run is registered; R6a confirms B-route entrypoint metadata; R6d partial returned package is usable for sandbox-only connector-shell/idempotency work. | Full production still needs after-recorder output and manual send timestamps, or a later complete returned package. | next R6e sandbox-only connector shell |
|
||||
| Receive files | List mode exists from message-derived file metadata; R3/R3b confirm DB file metadata exists but current cache/archive evidence does not map to local files. | R4 download is blocked until better cache evidence or a UI/client download connector is available. | blocked; continue R5 |
|
||||
| Send files | Contract exists; R6a/C31 metadata confirms file-upload/offline-file/file-message candidates and A-route file menu classifier support. | Blocked behind returned send-message sandbox evidence plus upload/file-transfer dry-run. | wait for R6d, then file-send upload preflight |
|
||||
|
||||
@@ -510,6 +510,47 @@ powershell -NoProfile -ExecutionPolicy Bypass -File scripts\verify-go-mcp.ps1
|
||||
**Stop condition:**
|
||||
- Do not infer success from screenshots or vague operator notes alone. Require the structured returned package fields and before/after recorder output.
|
||||
|
||||
**R6d Result:**
|
||||
|
||||
- Added `scripts/validate-returned-send-sandbox-package.ps1`.
|
||||
- Added `scripts/test-validate-returned-send-sandbox-package.ps1`.
|
||||
- Created `docs/source-discovery/2026-07-10-returned-send-sandbox-analysis.md`.
|
||||
- Validated `C:\Users\zhaoy\Downloads\1631.zip` as partial evidence:
|
||||
- `partial_evidence_usable=true`;
|
||||
- `r6d_gate_pass=false`;
|
||||
- capability test passed with 9 tools;
|
||||
- production send remained disabled;
|
||||
- content hash matched;
|
||||
- idempotency key, operator observed success, success record, and no-second-send confirmation were present;
|
||||
- after-recorder output and manual send timestamps were missing.
|
||||
- Decision: use the returned package to proceed with sandbox-only connector shell and idempotency/audit hardening, but keep production `isphere_send_message` blocked.
|
||||
|
||||
---
|
||||
|
||||
### R6e: Sandbox-only send connector shell and idempotency audit hardening
|
||||
|
||||
**Purpose:** Use R6d partial evidence to build the non-production connector control plane before any real send connector is enabled.
|
||||
|
||||
**Files:**
|
||||
- Modify: `internal/tools/isphere_send_message.go`
|
||||
- Modify tests: `internal/tools/isphere_send_message_test.go`
|
||||
- Modify docs: this roadmap, `docs/current-status-card.md`, and `docs/go-mcp-runbook.md`
|
||||
|
||||
**Execution policy:**
|
||||
- `execution_mode="preview"` remains no-send.
|
||||
- `execution_mode="production"` remains blocked.
|
||||
- Add or harden idempotency/audit state so duplicate idempotency keys can be detected before any future production connector is attached.
|
||||
- If a connector interface is introduced, tests must use a fake connector only.
|
||||
- No helper click/type/send op, no upload, no hook, no network replay.
|
||||
|
||||
**Acceptance gate:**
|
||||
- Duplicate idempotency-key behavior is tested.
|
||||
- Audit records remain redacted and do not store raw message body.
|
||||
- Standard MCP smoke still reports `production_send_enabled=false`.
|
||||
|
||||
**Stop condition:**
|
||||
- Do not wire a real send entrypoint until a full returned package or controlled online sandbox connector test is available.
|
||||
|
||||
---
|
||||
|
||||
### R6: Send-message preview and production path
|
||||
|
||||
Reference in New Issue
Block a user