You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(runtime): make the retired connection an actual tombstone
Review reproduced two writes that still committed against a retained
retired row: `credential.vault.set` with a `request_headers` locator, and
`connection.request-headers.replace`. Guarding the catalog update alone
had not established the invariant it claimed, because those are sibling
writes to the same connection — and guarding entry points one at a time
is what left them open.
Every connection-owned write now passes one assertion. The credential
vault and the request-header replacement share it with the catalog
update, so a path added later inherits the refusal instead of needing to
remember it. Reading, querying and deleting stay the exceptions, and the
regression proves the row survives its refusals: after all three writes
are rejected it is still readable and still deletable, which is the only
reason it is retained.
That refusal point moved earlier than an existing expectation: a
client-supplied OAuth token for the retired provider used to be rejected
for its credential kind and is now rejected for its connection, so that
test asserts the connection-level code with the reason stated.
The Desktop detail no longer offers what the storage layer refuses. The
advanced-request, model-management and capability sections are hidden for
a retired connection, leaving the retirement notice and deletion — the
request-header editor was the worst of them, since before the vault
refused it a user could save a header that could never reach a request.
Sessions bound to a retired provider now project as stale in the task
rail. `provider_retired` joins `connection_missing` and `fake_backend`
there: the connection still exists and is still enabled, so nothing else
about the row looks wrong and the task read as healthy until opened.
Also in this push: current main is merged, and since main independently
took epoch 30 for access-credential pairing, this wire removal takes 31.
The Astryx inventory is regenerated and `git diff --check` is clean.
Reported by @hqhq1025; the detail-page half was also observed by
@M4n5ter.
Generated-by: Claude Code
Claude-Session: https://claude.ai/code/session_014ajaRxC4jydavY9nYUFj5J
Copy file name to clipboardExpand all lines: .github/RELEASE_CHECKLIST.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@ Windows needs no secrets while the build is unsigned: electron-builder skips sig
16
16
17
17
## Create the draft
18
18
19
-
1. Confirm the intended commit is on `main`, CI is green, and `apps/desktop/package.json` contains a version that has never been released.
19
+
1. Confirm the intended commit is on `main`, CI is green, `apps/desktop/package.json` contains a version that has never been released, and the exact `maka-agent` version in `packages/cli/package.json` is public on npm.
20
20
2. In GitHub Actions, run `Release desktop` against `main`.
21
21
3. Confirm every workflow step passes on both platforms and a draft release named `v<version>` exists.
22
22
4. Confirm the draft records the intended commit SHA and contains the macOS DMG, ZIP, `latest-mac.yml`, the Windows `.exe`, ZIP, `latest.yml`, the bundled Git source-materials archive, and matching `.sha256` files.
0 commit comments