@@ -19,10 +19,10 @@ nothing is set up yet, installs the panel only — bot config happens in the bro
19193 . ** If the Stitch panel is installed** , prefer pointing the operator at the web
2020 UI for add/start/stop/settings/approvals/logs. Only drive the API or Docker
2121 CLI if they ask you to do it from the terminal.
22- 4 . ** If another layout is installed** (desktop app, local service, compose-only,
23- cloud), ask what they want to do with ` AskUserQuestion ` , ** one question at a
24- time ** . Never guess the action from a vague request — ask. Wait for each
25- answer before the next question or any command.
22+ 4 . ** If another layout is installed** (desktop app, local service, compose-only) ,
23+ ask what they want to do with ` AskUserQuestion ` , ** one question at a time ** .
24+ Never guess the action from a vague request — ask. Wait for each answer
25+ before the next question or any command.
2626
2727Question-tool rules (same as the install prompt): one question per call, multiple
2828choice, most-likely option first, and the tool always adds a free-form answer so
@@ -37,8 +37,7 @@ type anything else.
3737
3838First question — "What do you want to do with Stitch?":
3939
40- - ** Start / resume live** → [ Start] ( #start ) (cloud: [ AWS cloud] ( #aws-cloud-ecs-fargate ) ,
41- Docker fleet: [ Docker fleet] ( #docker-fleet ) )
40+ - ** Start / resume live** → [ Start] ( #start ) (Docker fleet: [ Docker fleet] ( #docker-fleet ) )
4241- ** Stop / pause** → [ Stop] ( #stop )
4342- ** Inspect or change it** — status/logs, parameters, approvals, or upgrade
4443
@@ -60,8 +59,7 @@ detected, honoring the golden rules throughout.
6059
6160Figure out which layout is in use * before* doing anything. Check for the panel
6261first — that is the default install path now. A missing local ` stitch ` binary
63- does ** not** mean "not installed" if ` stitch-panel ` is running, and the cloud
64- layout has no local binary by design.
62+ does ** not** mean "not installed" if ` stitch-panel ` is running.
6563
6664Layouts, in the order to check:
6765
@@ -77,8 +75,6 @@ Layouts, in the order to check:
7775 login item (` --autostart ` ); the panel restores bots that were left running.
7876- ** Foreground / manual** or ** local service** : ` ~/Stitch/ ` (or
7977 ` /etc/stitch-bot/ ` on Linux systemd) with ` stitch.toml ` / key / env.
80- - ** AWS cloud** (ECS Fargate): operator-owned ` deploy/aws ` stack. See
81- [ AWS cloud] ( #aws-cloud-ecs-fargate ) .
8278
8379Detect it: ` docker ps --filter name=stitch-panel ` (or image
8480` textile-stitch-panel ` ) means the panel is installed. Bot containers show under
@@ -175,55 +171,6 @@ Then restart: `sudo systemctl restart stitch`, or restart your foreground run. I
175171` --update ` reports "no install receipt found", it was an archive install — grab
176172the latest binary from the GitHub Release instead.
177173
178- ## AWS cloud (ECS Fargate)
179-
180- For the operator-owned AWS stack (` deploy/aws ` ), there's no local binary —
181- everything is ` aws ` CLI against the operator's account. Substitute the bot name
182- you deployed under (default ` stitch-operator ` ; the README example uses
183- ` stitch-operator-a ` ). The full runbook is ` deploy/aws/README.md ` .
184-
185- - ** Start / resume live** : set the service to one task.
186-
187- ``` bash
188- aws ecs update-service --cluster < bot> -cluster --service < bot> -stitch --desired-count 1
189- ```
190-
191- - ** Pause** (no infra teardown): desired count ` 0 ` . The stack also ships at ` 0 ` ,
192- so a fresh deploy is paused until you do this.
193-
194- ``` bash
195- aws ecs update-service --cluster < bot> -cluster --service < bot> -stitch --desired-count 0
196- ```
197-
198- - ** Logs** : ` aws logs tail /ecs/<bot>/stitch --follow ` .
199-
200- - ** Change parameters** : the config is the ` STITCH_CONFIG_TOML ` field of a JSON
201- secret that * also* holds ` STITCH_PRIVATE_KEY ` , and ` put-secret-value ` replaces
202- the ** whole** value — so you must merge, not overwrite. Pause to ` 0 ` , then run
203- the merge helper (it never prints ` SecretString ` , so the hot wallet key stays
204- out of the agent transcript):
205-
206- ``` bash
207- # From a checkout of textile-stitch / packages/stitch-bot:
208- scripts/merge-stitch-secret-config.sh " $secret_arn " stitch.toml
209- ```
210-
211- Do ** not** ` get-secret-value ` the blob into a shell variable, and do not ` echo `
212- or ` jq ` it into chat. Then resume to ` 1 ` . Keep ` DesiredCount=0 ` while changing
213- config or rotating keys. ` $secret_arn ` is the stack's ` SecretArn ` output (see
214- ` deploy/aws/README.md ` ).
215-
216- - ** Approvals** : a one-off ECS task with an ` approve ` command override (not
217- ` systemctl ` /local). See the ` aws ecs run-task ` block in ` deploy/aws/README.md ` ;
218- add ` --exact ` to the override for capped approvals.
219-
220- - ** Upgrade** : bump the pinned ` ContainerImage ` (use an immutable ` sha-* ` tag for
221- production) and redeploy the stack; the service pulls the new image on next task
222- start.
223-
224- Same golden rules apply: never put the key in a file or on a command line (it's a
225- Secrets Manager value), and dry-run/pause around any pricing or sizing change.
226-
227174## Docker fleet
228175
229176Several bots on one host, one container each. Two ways it's driven, and it matters
0 commit comments