@@ -34,6 +34,55 @@ The CLI accepts `update plan`, `update apply --plan-id …`, and
3434repository, destination, service name, credential, or arbitrary binary path.
3535Other experiences can use the management API with administrator authority.
3636
37+ ## CLI walkthrough
38+
39+ Run these commands as the installation owner, with its service running and the
40+ update policy enabled above. Replace ` /path/to/installation ` with the connector's
41+ installation folder:
42+
43+ ``` sh
44+ /path/to/installation/bin/acp-slack-adapter --home /path/to/installation update plan
45+ /path/to/installation/bin/acp-slack-adapter --home /path/to/installation update status
46+ ```
47+
48+ The plan command returns JSON with an ` id ` ; save that value as your plan ID.
49+ Status wraps the latest plan in ` current ` : check that ` current.id ` matches your
50+ saved ID and wait for ` current.state ` to become ` ready ` . Inspect its
51+ ` source_commit ` , ` run_url ` , ` artifact_digest ` , ` binary_sha256 ` and ` up_to_date `
52+ before deciding to apply. Planning alone does not replace the executable.
53+ Replace ` PLAN_ID ` below with that returned ` id ` (not the source commit):
54+
55+ ``` sh
56+ /path/to/installation/bin/acp-slack-adapter --home /path/to/installation update apply --plan-id PLAN_ID
57+ /path/to/installation/bin/acp-slack-adapter --home /path/to/installation update status
58+ ```
59+
60+ Queuing is not completion: both plan and apply start asynchronous work. Check
61+ status again until the same plan reaches its result; ` succeeded ` means the update
62+ completed its health checks. If it is ` deferred ` , existing work or uncertain
63+ reply delivery still needs attention: inspect ` current.reason ` and
64+ ` current.waiting_for ` (` running_turns ` , ` pending_replies ` , ` uncertain_deliveries ` ).
65+ Let work finish or reconcile uncertain delivery before retrying apply with the
66+ same plan ID. Do not treat ` failed ` , ` rolled_back ` or ` recovery_required ` as a
67+ successful update; inspect the reason, and resolve host issues before recovery.
68+ The management endpoint may be briefly unavailable during restart; check status
69+ again once the service is reachable.
70+
71+ For a plan in ` succeeded ` , rollback uses the same ID; ` recovery_required ` also
72+ allows retrying that plan's rollback after the host issue is resolved:
73+
74+ ``` sh
75+ /path/to/installation/bin/acp-slack-adapter --home /path/to/installation update rollback --plan-id PLAN_ID
76+ /path/to/installation/bin/acp-slack-adapter --home /path/to/installation update status
77+ ```
78+
79+ Rollback is asynchronous too: confirm ` current.id ` and a ` rolled_back ` result,
80+ not just a queued receipt. Normal rollback requires the installed binary still
81+ to match that plan's updated binary and its backup to pass digest verification;
82+ it is not an arbitrary version selector and does not restore the old database.
83+
84+ ## How updates run
85+
3786The source is fixed to ` microsoft/amplifier-acp-slack ` main. Planning requires a
3887successful push run of its ` check.yml ` workflow at that exact source revision,
3988then downloads the matching platform artifact and verifies GitHub's recorded
0 commit comments