feat: add send message preview contract

This commit is contained in:
zhaoyilun
2026-07-10 14:04:33 +08:00
parent 1f99681348
commit ac3f10f53c
12 changed files with 686 additions and 55 deletions

View File

@@ -114,14 +114,8 @@ R6a passes as a non-mutating preflight:
## Next implementation node
Next node: **R6b B-route preview/dry-run contract**.
R6b B-route preview/dry-run contract is complete. `isphere_send_message` now plans sends, validates content SHA256 and idempotency key, writes redacted audit metadata, and blocks production.
R6b should implement only preview/dry-run and audit shape first:
Next node: **R6c online sandbox-send evidence gate**.
1. target resolution input shape from existing contact/group search result refs;
2. `content_sha256` / file hash and idempotency key validation;
3. connector metadata such as `connector="implatform-sidecar"` and `connector_stage="preview"`;
4. local audit append for preview attempts;
5. no real send, no file upload, and no UI click/type.
The later online-only gate remains: one operator-approved sandbox send must still prove success/ack or sent-record evidence before any production send path is exposed.
R6c should collect or prepare the one approved sandbox-send evidence package needed before production can be exposed. It must still prove success/ack or sent-record evidence and duplicate idempotency protection before any production send path is enabled.