sisyphi 1.1.23 → 1.1.25

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.
@@ -73,9 +73,12 @@ runcmd:
73
73
  - curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
74
74
  - DEBIAN_FRONTEND=noninteractive apt-get install -y nodejs
75
75
 
76
- # 3. Tailscale. --ssh enables Tailscale SSH on top of system SSH.
76
+ # 3. Tailscale. We deliberately do NOT pass --ssh: Tailscale SSH would
77
+ # intercept port 22 on the tailscale0 interface and require a browser-
78
+ # based check (per the user's tailnet ACL), blocking key-based access.
79
+ # System OpenSSH on tailscale0 with the user's pubkey is simpler.
77
80
  - curl -fsSL https://tailscale.com/install.sh | sh
78
- - tailscale up --authkey='${ts_authkey}' --hostname='${hostname}' --ssh
81
+ - tailscale up --authkey='${ts_authkey}' --hostname='${hostname}'
79
82
 
80
83
  # 4. Firewall. Public 22 stays denied; tailscale0 fully open.
81
84
  - ufw default deny incoming
@@ -116,4 +119,4 @@ runcmd:
116
119
  %{ endif ~}
117
120
 
118
121
  # Done — marker for `sisyphus deploy <provider> up` polling loop.
119
- - echo "sisyphus-cloud-init: done" >> /var/log/cloud-init-output.log
122
+ - echo "sisyphus cloud-init done" >> /var/log/cloud-init-output.log
@@ -142,6 +142,7 @@ EOF
142
142
  ## Submission notes
143
143
 
144
144
  - The deck is validated at submit (precise errors — trust them).
145
- - `bodyPath` lets an interaction point at a markdown file (e.g. a completion summary) instead of inlining the markdown in JSON.
145
+ - `kind` is an enum: `notify` | `validation` | `decision` | `context` | `error`. No other values accepted (see the table above for which to pick).
146
+ - `bodyPath` points at a markdown file instead of inlining the body in JSON. The path is resolved **relative to the deck JSON's directory** and must stay inside it (no `..`, no symlinks out, no absolute paths pointing elsewhere). Practical pattern: write the deck JSON next to its body file — e.g. both inside `$SISYPHUS_SESSION_DIR/context/` — and use a basename like `"completion-summary.md"`. Mutually exclusive with `body`.
146
147
  - On completion, stdout is one line of JSON: `{responses, completedAt}`. Parse `responses[]` and dispatch on each interaction's `id`.
147
148
  - See `sisyphus ask -h` for the full CLI surface.
@@ -144,6 +144,7 @@ EOF
144
144
  ## Submission notes
145
145
 
146
146
  - The deck is validated at submit (precise errors — trust them).
147
- - `bodyPath` lets an interaction point at a markdown file (e.g. a completion summary) instead of inlining the markdown in JSON.
147
+ - `kind` is an enum: `notify` | `validation` | `decision` | `context` | `error`. No other values accepted (see the table above for which to pick).
148
+ - `bodyPath` points at a markdown file instead of inlining the body in JSON. The path is resolved **relative to the deck JSON's directory** and must stay inside it (no `..`, no symlinks out, no absolute paths pointing elsewhere). Practical pattern: write the deck JSON next to its body file — e.g. both inside `$SISYPHUS_SESSION_DIR/context/` — and use a basename like `"completion-summary.md"`. Mutually exclusive with `body`.
148
149
  - On completion, stdout is one line of JSON: `{responses, completedAt}`. Parse `responses[]` and dispatch on each interaction's `id`.
149
150
  - See `sisyphus ask -h` for the full CLI surface.