feat: add send message preview contract
This commit is contained in:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user