@ciphrix/cli 0.1.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,62 @@
1
+ # Document workflows
2
+
3
+ Use this guide when configuring document review/approval, selecting recipients, recovering a sent
4
+ request or interpreting a workflow result. Installed command help is authoritative for exact options;
5
+ the [generated command reference](commands.md) covers the complete command tree.
6
+
7
+ ## Read, configure, send, decide
8
+
9
+ 1. Read the document with `document get --json`. Resolve the intended name, code or ID before writing.
10
+ Workflow readiness describes business state; the server still decides permissions and validates
11
+ prerequisites at execution time.
12
+ 2. Configure the workflow in draft. Simple supports explicit self-approval; Advanced requires review
13
+ before approval. An approved document needs a new version before editing.
14
+ 3. Assign recipients using exact active User email or User ID. `user list` supports name/email search
15
+ and pagination; search needs at least three characters. Resolve ambiguous matches with the user.
16
+ People IDs, fuzzy names and invitation requests are not recipient selectors.
17
+ 4. Send review with `document submit`. Completing review is a separate formal human decision; it
18
+ advances to approval-not-sent without sending approval. A request to send approval does not authorize
19
+ completing review on the user's behalf.
20
+ 5. Explicitly request approval with `document approval send`. Ordinary approval uses `document approve`;
21
+ `document approval self-approve` is a distinct human decision and never bypasses Advanced review.
22
+
23
+ Admins and InfoSec leads have tool access. Active employees may receive assignments and complete
24
+ review/approval in the app; listing or assigning a user does not grant them tool access. Decisions
25
+ record the authenticated caller, not an impersonated assignee.
26
+
27
+ ## Recover a sent request
28
+
29
+ A sent-recipient setter refuses both a different person and the same person. Explain the current
30
+ stage and ask whether the user wants an explicit recall → configure → resend sequence:
31
+
32
+ | Current request | Recall | Configure after recall | Resend |
33
+ | --------------- | -------------------------- | ----------------------- | ------------------------ |
34
+ | Review sent | `document review cancel` | `document reviewer set` | `document submit` |
35
+ | Approval sent | `document approval cancel` | `document approver set` | `document approval send` |
36
+
37
+ Recall clears the affected recipient; configure that person again even if unchanged. Removing an
38
+ already-cleared assignment is not a recovery step. In supported unsent states, setting the same
39
+ recipient succeeds without a change.
40
+
41
+ Read current state between steps. Each step has independent authorization, confirmation where required
42
+ and its own write key. Stop on an error or uncertain result; the sequence is not atomic. Send-back is
43
+ a negative human decision, not a synonym for recall. Return-to-draft is available only in the supported
44
+ Advanced approval-not-sent/rejected stages and clears assignments and decision attribution.
45
+
46
+ ## Confirmation, retries and results
47
+
48
+ - Configuration, recipient removal, recall and return-to-draft use confirmed writes. New commands in
49
+ JSON/noninteractive mode require `--yes`; supply it only for an already authorized change.
50
+ - New send/decision commands apply immediately, still require human authorization, and reject `--yes`.
51
+ Existing `document submit` and `document approve` retain their advertised options and successful JSON;
52
+ there are no alternate submit/approve spellings. Check each command's help.
53
+ - New write commands accept `--idempotency-key` for one logical operation. Reuse the same key and input
54
+ for retries. Confirmed replay also requires valid confirmation: a fresh CLI invocation preflights
55
+ again and can be refused after state changes or expiry. Never use a new key to bypass uncertainty.
56
+ - New commands return full envelopes with `--json`, preserving structured errors, warnings and
57
+ pagination. Existing submit success reports `data.status: submitted`, not a current raw workflow
58
+ state. A fresh document read gives current state; a replay returns the original result snapshot.
59
+ - Success records the committed/queued outcome. It is not evidence that an email arrived, a recipient
60
+ acted, or the document was published. Report these outcomes separately.
61
+
62
+ For general operating principles, return to [the Ciphrix skill](../SKILL.md).