Repository navigation
Open
Labels
class:C7-new-featureBug cluster of a recently shipped featureBug cluster of a recently shipped featuretype:featureNew capability (out of quality-loop fix scope)New capability (out of quality-loop fix scope)
Description
PR #577 was the end-to-end completion track for Agent Code's extension platform. It merged on 2026-09-13 as 4855c885. This issue stays open for the deferred items below.
Shipped
- Runtime and views: one API v2 runtime per extension with explicit startup, command and view activation, plus independently mounted sandboxed views. Commands run with no view open, and multiple windows share one runtime. API v1 remains a compatibility path.
- Installs: each install or update is published as an immutable generation that binds bundle bytes, manifest and grants together. Crash, concurrency, update and removal all recover cleanly, and saved data survives uninstall. A same-id bundle from a different source is refused.
- Workspace and input: extension panes work in Dispatch, detach/restore and close/undo without provider processes. Native input is routed by host-minted instance id. Keybindings must be Cmd chords, and first-party chords are reserved.
- Themes: declarative extension themes appear in the picker without running extension code.
- Host services:
sessions.observeandstorage.- Scoped
fs.readandfs.write: bounded UTF-8, atomic compare-and-swap, serialized with editor saves. notifications.show: short, extension-attributed toasts.
- Pre-merge review: five Claude reviewers found one blocker and about fifteen should-fix defects. All are fixed in
ec17764aexcept bug(extensions): one unsupported ledger row disables every installed extension #959.
Companions (merged)
- SDK refactor: reshape tree, break up god-files, go all-absolute imports #1, merged as
503bcedand released as v0.8.0 on GitHub (not npm). - Mini Games Track primary and active worktree context #9: four command-routed API v2 modal views.
- Timer Fix post-refactor permission and feed rendering regressions #2: an API v2 background runtime; the countdown and reminders keep running with the panel closed.
Verification
npm run typecheckpasses.- 735 affected unit, renderer and system tests pass across 104 files.
- Root CI passed on
ec17764a, including the quality gate that runs both Electron journeys. - Earlier in the PR, the real Electron journeys installed the committed Timer and Mini Games bundles.
Deferred
- bug(extensions): one unsupported ledger row disables every installed extension #959: one invalid ledger row disables every installed extension after a rollback past a future API version.
- Not yet verified: full application restart, layout acceptance, and a packaged build.
- Not yet built: transcript and Git reads, prompt and Git mutations, and network access. Each needs explicit authority and integration tests.
- Runtime management UI: background-runtime management beyond the existing Settings failure/retry state.
Plan: docs/superpowers/plans/2026-09-12-extension-platform-completion.md
Metadata
Metadata
Assignees
Labels
class:C7-new-featureBug cluster of a recently shipped featureBug cluster of a recently shipped featuretype:featureNew capability (out of quality-loop fix scope)New capability (out of quality-loop fix scope)
Activity
docs(extensions): plan end-to-end platform completion
chore(extensions): integrate current workspace and command APIs
fix(extensions): preserve Dispatch placement and detached undo
fix(extensions): publish bundles and consent atomically
fix(extensions): synchronize live installations across windows
fix(extensions): bound hashing and local staging before allocation
docs(extensions): record Electron startup evidence and next checkpoint
feat(extensions): connect v2 runtimes to commands and independent views
fix(extensions): route native shortcuts through focused view ownership
feat(extensions): add declarative theme contributions
feat(extensions): add background status notifications
fix(extensions): address pre-merge review findings
Juliusolsson05 commentedon Sep 20, 2026
Cross-reference (2026-09-20 audit): #1109 now covers part of this issue's deferred list, and part of it is new surface.
Overlap: #1109's scoped network capabilities (
net.connect/net.listen) are the same work as this issue's "Not yet built: … and network access. Each needs explicit authority and integration tests." Track it there, not twice.Not overlapping:
service.run/service.transport— utilityProcess-hosted bundled services and theagent-code-ext://…/__service/…proxy — are surface this issue never named.Current state of this issue's own deferred list, checked against main:
ExtensionCapabilityis six members (workspace.observe,sessions.observe,panes.observe,fs.read,fs.write,notifications.show); there are still no transcript reads, no Git reads, no prompt or Git mutations, no network. The one item that did ship is #959 —cb4f0b6b+6fd015cc(PR #1061) set aside an unusable ledger row instead of failing the whole file, pinned byledgerQuarantine.system.test.ts.Also worth flagging for whoever picks this up: "not yet verified: full application restart, layout acceptance, packaged build" is now harder than when it was written — #1013's unified stage landed after PR #577, so layout acceptance is against a changed layout.