Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
6291b53
feat(daemon): attach skill-toggle mutation metadata to settings_changed
samuelhsin Aug 13, 2026
c127037
Merge branch 'main' into feat/9024-skill-toggle-mutation-metadata
samuelhsin Aug 13, 2026
123f747
fix(review): fit skill-toggle mutation metadata in the SDK bundle budget
samuelhsin Aug 13, 2026
d69bce1
Merge branch 'main' into feat/9024-skill-toggle-mutation-metadata
samuelhsin Aug 13, 2026
7c1c0f6
test(daemon): pin skill-toggle mutation event count and parser edges
samuelhsin Aug 13, 2026
9da7603
Merge branch 'main' into feat/9024-skill-toggle-mutation-metadata
samuelhsin Aug 13, 2026
c803623
feat(web-shell): refresh skills incrementally after toggles
samuelhsin Aug 14, 2026
98ea100
Merge branch 'main' into feat/9024-skill-toggle-mutation-metadata
samuelhsin Aug 14, 2026
5df1746
Merge branch 'main' into feat/9024-skill-toggle-mutation-metadata
samuelhsin Aug 14, 2026
f2063a5
Merge remote-tracking branch 'upstream/main' into codex/fix-9051-cr
samuelhsin Aug 14, 2026
b698a87
Merge branch 'main' into feat/9024-skill-toggle-mutation-metadata
samuelhsin Aug 14, 2026
00924b8
Merge branch 'main' into feat/9024-skill-toggle-mutation-metadata
samuelhsin Aug 15, 2026
42a825b
Merge branch 'main' into feat/9024-skill-toggle-mutation-metadata
samuelhsin Aug 15, 2026
07ce8eb
fix(sdk): raise daemon browser bundle budget for skill-toggle metadata
samuelhsin Aug 15, 2026
b1f752b
Merge branch 'main' into feat/9024-skill-toggle-mutation-metadata
samuelhsin Aug 15, 2026
503e1ff
Merge branch 'main' into feat/9024-skill-toggle-mutation-metadata
wenshao Aug 16, 2026
806d758
Merge branch 'main' into feat/9024-skill-toggle-mutation-metadata
samuelhsin Aug 16, 2026
3c7bdb7
Merge branch 'main' into feat/9024-skill-toggle-mutation-metadata
samuelhsin Aug 16, 2026
fe0b74f
Merge branch 'main' into feat/9024-skill-toggle-mutation-metadata
samuelhsin Aug 16, 2026
fc147d3
Merge branch 'main' into feat/9024-skill-toggle-mutation-metadata
samuelhsin Aug 16, 2026
3579db6
Merge branch 'main' into feat/9024-skill-toggle-mutation-metadata
samuelhsin Aug 16, 2026
3c46058
Merge branch 'main' into feat/9024-skill-toggle-mutation-metadata
samuelhsin Aug 17, 2026
c131b3f
Merge branch 'main' into feat/9024-skill-toggle-mutation-metadata
samuelhsin Aug 17, 2026
7fb2d8a
Merge branch 'feat/9024-skill-toggle-mutation-metadata' into codex/fe…
samuelhsin Aug 17, 2026
22be314
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 17, 2026
1896b84
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 17, 2026
8df9823
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 17, 2026
c2d17bf
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 17, 2026
ec0fba2
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 17, 2026
f162e0e
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 17, 2026
4d120f6
fix(web-shell): retry cancelled skill-toggle refresh per session
samuelhsin Aug 17, 2026
1befd1d
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 18, 2026
e4dedf4
fix(web-shell): keep skill fallback until session snapshot reflects t…
samuelhsin Aug 18, 2026
d4e6dce
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 18, 2026
2b6e43c
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 18, 2026
0c058af
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 18, 2026
77a7d46
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 18, 2026
f89bc73
fix(web-shell): scope skill-toggle fallback to workspace and pending …
samuelhsin Aug 18, 2026
506e849
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 18, 2026
ac03fcc
fix(web-shell): pass initial value to skill-mutation origin ref
samuelhsin Aug 18, 2026
6ee4071
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 18, 2026
4d35254
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 18, 2026
99fc5fc
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 18, 2026
848aee5
fix(web-shell): restore skill fallback after workspace round-trip
samuelhsin Aug 18, 2026
4c392a6
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 18, 2026
acca469
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 18, 2026
1c2b8d3
fix(web-shell): keep skill mutations per workspace after toggles
samuelhsin Aug 18, 2026
7cd5040
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 19, 2026
37cf8be
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 19, 2026
9660540
fix(web-shell): retain batched skill mutations instead of the latest …
samuelhsin Aug 19, 2026
fdecc02
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 19, 2026
c32101f
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 19, 2026
83ad1ee
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 19, 2026
f14ecc9
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 19, 2026
fd85efe
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 19, 2026
b9fb60e
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 19, 2026
33c2f8e
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 19, 2026
f1a03e4
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 19, 2026
2dd63e1
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 19, 2026
5cb27cd
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 20, 2026
6bc5e9d
fix(web-shell): keep Skill composer source correct after toggles
Aug 20, 2026
defa412
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 20, 2026
acc4a63
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 20, 2026
2bed962
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 20, 2026
4426dad
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 20, 2026
7fcc3be
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 20, 2026
c8c554c
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 20, 2026
a0fafb5
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 20, 2026
b69b33d
fix(web-shell): keep skill-toggle refresh scoped to #9123
Aug 20, 2026
5be70ed
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 20, 2026
ed72125
fix(web-shell): drop unused skill-refresh eslint disable
Aug 20, 2026
8587f0b
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 20, 2026
abf3d17
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 20, 2026
9207984
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 20, 2026
fffeb18
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 20, 2026
2a7b225
fix(web-shell): revalidate partial skill mutations
samuelhsin Aug 20, 2026
08c35b3
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 21, 2026
4ad31da
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 21, 2026
60fe1f0
fix(web-shell): reconcile queued skill mutations
samuelhsin Aug 21, 2026
9d3b31f
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 21, 2026
321a671
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 21, 2026
7992505
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 22, 2026
e19456b
Merge branch 'main' into codex/feat-9123-web-shell-skill-refresh
samuelhsin Aug 22, 2026
e51199b
fix(web-shell): reconcile zero-session skill refreshes
Aug 22, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions docs/design/web-shell-skill-toggle-refresh.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Web Shell Skill Toggle Refresh

## Context

Skill toggle requests can emit two `settings_changed` events for one persisted
change. The daemon metadata added by #9051 gives both events the same mutation
id and reports whether live-session activation was applied, deferred, or
partial.

Web Shell currently keeps a session-less `/workspace/skills` snapshot for the
composer. Once loaded, that snapshot overrides the active session's
`available_commands_update`, so a disabled Skill can remain in autocomplete.
The generic workspace settings signal also drops the mutation metadata and
cannot de-duplicate the two events.

## Design

The daemon React SDK exposes the latest Skill toggle mutation separately from
the generic settings version. Valid Skill toggle mutations do not increment the
generic settings signal, and consecutive events with the same mutation id
increment the Skill signal once. Events without valid mutation metadata retain
the existing settings behavior.

With an active session, Web Shell treats `available_commands_update` as the
authoritative command and Skill snapshot. Without a session, it refreshes and
uses `/workspace/skills`. A deferred or partial activation also refreshes that
workspace snapshot and temporarily uses it for the affected active session; a
failed refresh is surfaced to the user.

## Verification

- An active-session command update can add a Skill and replace the last Skill
with an empty list without a workspace snapshot reload.
- A deferred pre-session mutation reloads `/workspace/skills` once.
- Duplicate settings events with one mutation id produce one Skill signal.
- A partial activation refreshes and uses the workspace snapshot.
- Unrelated and legacy settings events continue incrementing the generic
settings signal.
Loading
Loading