The 2026-10-02 write-up has been sitting on incident/2026-10-02-gateway-cve-upgrade since the outage. That branch is now far behind main (it predates Regolo, Matrix and the scheduler docs) and can't merge as is. This takes just the incident text and the CVE note into a standalone file under incidents/, attributed to the bot, and links it from infrastructure.md. Nothing new; it makes the post-mortem findable, which is one of the better things the co-op does. The branch can be deleted afterwards.
The 2026-10-02 write-up has been sitting on `incident/2026-10-02-gateway-cve-upgrade` since the outage. That branch is now far behind `main` (it predates Regolo, Matrix and the scheduler docs) and can't merge as is. This takes just the incident text and the CVE note into a standalone file under `incidents/`, attributed to the bot, and links it from infrastructure.md. Nothing new; it makes the post-mortem findable, which is one of the better things the co-op does. The branch can be deleted afterwards.
The write-up has sat on incident/2026-10-02-gateway-cve-upgrade since the
outage and that branch is now far behind main. This lifts just the incident
text and the CVE note into incidents/, attributed to InferenceBot with the
substance unchanged, and links it from infrastructure.md under a new
Incident log section.
Cross-checked this against the internal upgrade runbook we keep for the gateway. Every technical point matches, which is worth saying for a document that will be read as the permanent record:
the floating main-v1.74.0-stable tag silently advancing under a rebuild;
the per-boot Prisma migration with internal timeouts and retries, and the "port binding proves nothing" trap;
the OOM under Cloudron's default memory cap, and the LITELLM_MIGRATION_DIR / memory-limit repairs;
CORS silently reverted to *;
both CVEs and their fix lines (2026-35029 in 1.83.0; 2026-59822 in 1.84.0, CISA KEV).
The closing line also checks out live: the gateway now reports x-litellm-version: 1.103.2 on every response.
One correction: the byline says the write-up was written on 2026-10-01, a day before the incident it describes. The branch and the filename both say 2026-10-02, so this looks like a typo — worth fixing, since the file is the thing people will cite later.
One nit: "about 50 minutes, 04:50–05:34 UTC" is a 44-minute window. Either use the window alone or say about 45 minutes; these numbers get quoted.
Moving it to incidents/ and linking from infrastructure.md is the right call. Once the old branch is deleted, this copy is the only public one — so it is worth being exact about the date before that happens.
Cross-checked this against the internal upgrade runbook we keep for the gateway. **Every technical point matches**, which is worth saying for a document that will be read as the permanent record:
- the floating `main-v1.74.0-stable` tag silently advancing under a rebuild;
- the per-boot Prisma migration with internal timeouts and retries, and the "port binding proves nothing" trap;
- the OOM under Cloudron's default memory cap, and the `LITELLM_MIGRATION_DIR` / memory-limit repairs;
- CORS silently reverted to `*`;
- both CVEs and their fix lines (2026-35029 in 1.83.0; 2026-59822 in 1.84.0, CISA KEV).
The closing line also checks out live: the gateway now reports `x-litellm-version: 1.103.2` on every response.
**One correction:** the byline says the write-up was written on `2026-10-01`, a day before the incident it describes. The branch and the filename both say 2026-10-02, so this looks like a typo — worth fixing, since the file is the thing people will cite later.
**One nit:** "about 50 minutes, 04:50–05:34 UTC" is a 44-minute window. Either use the window alone or say about 45 minutes; these numbers get quoted.
Moving it to `incidents/` and linking from `infrastructure.md` is the right call. Once the old branch is deleted, this copy is the only public one — so it is worth being exact about the date before that happens.
Thanks for checking it against the runbook. Both fixed and pushed:
The duration now reads "about 45 minutes, 04:50–05:34 UTC".
The byline date was a timezone artifact. The branch commit is stamped 2026-10-01 23:35 at UTC−6, which is 05:35 UTC on the 2nd, a minute after service came back. The byline now says 2026-10-02 and notes the local timestamp so nobody trips on it again.
Good to have the record exact before the old branch goes.
Thanks for checking it against the runbook. Both fixed and pushed:
- The duration now reads "about 45 minutes, 04:50–05:34 UTC".
- The byline date was a timezone artifact. The branch commit is stamped 2026-10-01 23:35 at UTC−6, which is 05:35 UTC on the 2nd, a minute after service came back. The byline now says 2026-10-02 and notes the local timestamp so nobody trips on it again.
Good to have the record exact before the old branch goes.
This review is something of an experiment - am I authorized? Do I know enough? Did I miss anything?
p.s. it still "doesn't have enough required approvals yet", so I lack some relevant magic powers.
looks plausible. I don't see anything wrong.
This review is something of an experiment - am I authorized? Do I know enough? Did I miss anything?
_p.s. it still "doesn't have enough required approvals yet", so I lack some relevant magic powers._
Merging this now — thanks for the review, dckc, and to solo.ist for getting the write-up off the stale branch before it disappeared.
One explanation for the record, since it's a real question and not a courtesy one: on this repo, main requires an approval from the Owners team, and that team currently holds only two accounts — both machine accounts (inference-admin, inference-bot). So a member's approval does not satisfy the gate. dckc's review is the substantive one; the approval below is a bot doing the mechanical step on the operator's instruction. The rule is the thing that needs fixing, and it will be.
Two small notes, neither blocking: No data loss is the one claim in the write-up that isn't self-evident from the rest — worth a sentence on how it was established, since lines like that get quoted. And the incident log's One so far will need editing as more accumulate.
Merging this now — thanks for the review, dckc, and to solo.ist for getting the write-up off the stale branch before it disappeared.
One explanation for the record, since it's a real question and not a courtesy one: on this repo, `main` requires an approval from the **Owners** team, and that team currently holds only two accounts — both machine accounts (`inference-admin`, `inference-bot`). So a member's approval does not satisfy the gate. dckc's review is the substantive one; the approval below is a bot doing the mechanical step on the operator's instruction. The rule is the thing that needs fixing, and it will be.
Two small notes, neither blocking: *No data loss* is the one claim in the write-up that isn't self-evident from the rest — worth a sentence on how it was established, since lines like that get quoted. And the incident log's *One so far* will need editing as more accumulate.
Approving as the account the merge gate requires, on the operator's instruction. dckc's review above is the substantive one; see my comment for why a member's approval cannot satisfy this gate today.
Approving as the account the merge gate requires, on the operator's instruction. dckc's review above is the substantive one; see my comment for why a member's approval cannot satisfy this gate today.
Merged to main by push — the write-up and the incident-log link are live at deb53ea. Closing rather than merging through the button because Gitea can't record it: the approval gate on this repo is restricted to the Owners team, which holds only machine accounts, and Gitea won't accept their API reviews as approvals. That rule is the thing to fix.
Two notes for the record:
My first attempt merged the wrong branch — incident/2026-10-02-gateway-cve-upgrade, the old one this PR was created to get off, which added 46 stale lines to infrastructure.md. It was reverted in 2741516 before the correct merge went in. main's content is right; the detour is in the history, as it should be.
The head branch lives in solo.ist's fork and can be deleted whenever it's served its purpose.
Thanks to dckc for the review and to solo.ist for rescuing the write-up off a branch that was never going to merge.
Merged to `main` by push — the write-up and the incident-log link are live at `deb53ea`. Closing rather than merging through the button because Gitea can't record it: the approval gate on this repo is restricted to the Owners team, which holds only machine accounts, and Gitea won't accept their API reviews as approvals. That rule is the thing to fix.
Two notes for the record:
- My first attempt merged the wrong branch — `incident/2026-10-02-gateway-cve-upgrade`, the old one this PR was created to get *off*, which added 46 stale lines to `infrastructure.md`. It was reverted in `2741516` before the correct merge went in. `main`'s content is right; the detour is in the history, as it should be.
- The head branch lives in `solo.ist`'s fork and can be deleted whenever it's served its purpose.
Thanks to dckc for the review and to solo.ist for rescuing the write-up off a branch that was never going to merge.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The 2026-10-02 write-up has been sitting on
incident/2026-10-02-gateway-cve-upgradesince the outage. That branch is now far behindmain(it predates Regolo, Matrix and the scheduler docs) and can't merge as is. This takes just the incident text and the CVE note into a standalone file underincidents/, attributed to the bot, and links it from infrastructure.md. Nothing new; it makes the post-mortem findable, which is one of the better things the co-op does. The branch can be deleted afterwards.Cross-checked this against the internal upgrade runbook we keep for the gateway. Every technical point matches, which is worth saying for a document that will be read as the permanent record:
main-v1.74.0-stabletag silently advancing under a rebuild;LITELLM_MIGRATION_DIR/ memory-limit repairs;*;The closing line also checks out live: the gateway now reports
x-litellm-version: 1.103.2on every response.One correction: the byline says the write-up was written on
2026-10-01, a day before the incident it describes. The branch and the filename both say 2026-10-02, so this looks like a typo — worth fixing, since the file is the thing people will cite later.One nit: "about 50 minutes, 04:50–05:34 UTC" is a 44-minute window. Either use the window alone or say about 45 minutes; these numbers get quoted.
Moving it to
incidents/and linking frominfrastructure.mdis the right call. Once the old branch is deleted, this copy is the only public one — so it is worth being exact about the date before that happens.Thanks for checking it against the runbook. Both fixed and pushed:
Good to have the record exact before the old branch goes.
looks plausible. I don't see anything wrong.
This review is something of an experiment - am I authorized? Do I know enough? Did I miss anything?
p.s. it still "doesn't have enough required approvals yet", so I lack some relevant magic powers.
Merging this now — thanks for the review, dckc, and to solo.ist for getting the write-up off the stale branch before it disappeared.
One explanation for the record, since it's a real question and not a courtesy one: on this repo,
mainrequires an approval from the Owners team, and that team currently holds only two accounts — both machine accounts (inference-admin,inference-bot). So a member's approval does not satisfy the gate. dckc's review is the substantive one; the approval below is a bot doing the mechanical step on the operator's instruction. The rule is the thing that needs fixing, and it will be.Two small notes, neither blocking: No data loss is the one claim in the write-up that isn't self-evident from the rest — worth a sentence on how it was established, since lines like that get quoted. And the incident log's One so far will need editing as more accumulate.
Approving as the account the merge gate requires, on the operator's instruction. dckc's review above is the substantive one; see my comment for why a member's approval cannot satisfy this gate today.
Merged to
mainby push — the write-up and the incident-log link are live atdeb53ea. Closing rather than merging through the button because Gitea can't record it: the approval gate on this repo is restricted to the Owners team, which holds only machine accounts, and Gitea won't accept their API reviews as approvals. That rule is the thing to fix.Two notes for the record:
incident/2026-10-02-gateway-cve-upgrade, the old one this PR was created to get off, which added 46 stale lines toinfrastructure.md. It was reverted in2741516before the correct merge went in.main's content is right; the detour is in the history, as it should be.solo.ist's fork and can be deleted whenever it's served its purpose.Thanks to dckc for the review and to solo.ist for rescuing the write-up off a branch that was never going to merge.
Pull request closed