Sync the self-hosting stack

This commit is contained in:
2026-08-31 21:56:10 +02:00
parent fdd35f2d27
commit f0f0c9dfe0
+17 -21
View File
@@ -11,35 +11,28 @@ cannot be published without its entry.
## 2026-08-31 — Jarvis can wake itself up, knows what day it is, and can read the web `api 0.102.0` `web 0.125.0` `browser 0.1.0` ## 2026-08-31 — Jarvis can wake itself up, knows what day it is, and can read the web `api 0.102.0` `web 0.125.0` `browser 0.1.0`
**The schema step stops once on the way in — see the upgrade note below.** It is the same guard as **The schema step is uneventful for almost everyone** — unlike `api 0.101.0`. Read the upgrade
`api 0.101.0`, tripped by a different change. note below only if you created a scheduled task through the Settings screen this afternoon.
### Taking this build: the schema step stops once again ### Taking this build: what the schema step does
Same guard as `api 0.101.0`, tripped by a different change — and for the same reason it is harmless Reshaping scheduled tasks around the conversation drops the columns the organization-wide version
here. Reshaping scheduled tasks around the conversation drops the columns the old organization-wide needed. **On almost every instance this passes without stopping**, and that is not luck: the guard
version needed, and the guard refuses a drop without being told to: refuses a column drop when the table has rows in it, and `Schedule` is empty on every instance that
upgraded from `0.100.0` or earlier — the table only existed from `0.101.0`, published a few hours
before this. Watched on our own instance: dropped six columns and an enum, no warning, no
intervention.
``` **Read the rest of this only if that table is not empty**, which means you created a scheduled task
⚠️ There might be data loss when applying the changes: through the Settings screen that this release removes:
• The `Schedule` table will lose columns: kind, autonomy, toolName, assetId, …
Error: Use the --accept-data-loss flag …
```
**Nothing of yours is in those columns.** They existed only in `api 0.101.0`, which was published
this afternoon, and only a wake-up created through the removed Settings screen could have filled
them. Check before you take our word for it:
```sql ```sql
SELECT count(*) FROM "Schedule"; SELECT count(*) FROM "Schedule";
``` ```
If that is 0 — which it is on every instance that upgraded straight from 0.100.0 or earlier — the If it returns anything but 0, the migration will refuse and print what it would destroy. Those rows
migration cannot lose anything. If it is not 0, those rows are wake-ups you created today and they are wake-ups you made today; note down what they were, then let it through **once** and put the
will be dropped; note down what they were before you continue, and recreate them by asking Jarvis guard back:
inside the conversation you want them in.
Then let it through **once**, and put the guard back:
- **compose** — set `SCHEMA_ACCEPT_DATA_LOSS=true` in `.env`, `docker compose up -d`, wait for the - **compose** — set `SCHEMA_ACCEPT_DATA_LOSS=true` in `.env`, `docker compose up -d`, wait for the
api, then remove the line. Leaving it set would let a genuinely destructive change through api, then remove the line. Leaving it set would let a genuinely destructive change through
@@ -47,6 +40,9 @@ Then let it through **once**, and put the guard back:
- **Kubernetes** — set the same variable on the `jarvis-migrate` Job, run it to completion, then take - **Kubernetes** — set the same variable on the `jarvis-migrate` Job, run it to completion, then take
it off. The api pods keep serving the old build while the Job fails, so there is no outage. it off. The api pods keep serving the old build while the Job fails, so there is no outage.
Then recreate them by asking Jarvis inside the conversation you want them to run in — which is where
they now live.
### Scheduled tasks are now part of a conversation ### Scheduled tasks are now part of a conversation
`api 0.101.0` shipped these a few hours ago as an organization-wide screen, and that was the wrong `api 0.101.0` shipped these a few hours ago as an organization-wide screen, and that was the wrong