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
{{ message }}
Repository navigation
Commit 0a982df
Browse filesBrowse the repository at this point in the historyBrowse files
fix(workspace): fail closed on an unresolvable path, and stop purging on a keyless credential
Two more from review, both real.
An unresolvable match was falling back to its own path, which answers
"ordinary skill" — so an alias whose target was merely unreadable at that
instant, such as during a concurrent snapshot swap, escaped the gate; if
the target became readable again before the file was read, its content
loaded with no account check at all. A path that cannot be resolved
cannot be attributed, so it is withheld.
The pre-binding purge compared the manifest's account against a digest
that is null whenever no API key resolves, so every valid snapshot looked
foreign. The sync then failed for the same missing key, so nothing
replaced what it had just deleted. The purge is now guarded on an account
it could actually compute — the same rule the disconnect and
lookup-failure branches already follow: unknown never destroys a
snapshot.
Also from review:
- `state-account-scope.test.ts` redirected `Global.Path.state` through
`XDG_STATE_HOME`, which is folded into a module-load-time constant and
therefore only works if this file imports Global first — which a file
sharing a worker cannot arrange. It uses `OPENCODE_TEST_STATE_HOME`,
the getter-backed override, and asserts the redirect is in effect so
the suite cannot silently pass against the real state directory.
- The v1-upgrade test asserted the tree was rebuilt but not that the
rebuilt manifest is attributable; it now pins `version` and `account`.
- The marker identity test varied everything except the account; an
account-mismatched marker is now in its `other` list.
- Stale comment: the unbind branch no longer says discovery does not
consult the manifest.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tneq4MLNoRLsX7htV6fGZC
0 commit comments