Skip to content

feat(extensions): add plugin store prototype and repeatable publisher lifecycle - #256

Merged
Lucas1479 merged 42 commits into
mainfrom
codex/extension-community-preview
Oct 22, 2026
Merged

Lucas1479 merged 42 commits into
mainfrom
codex/extension-community-preview

Conversation

@Lucas1479

@Lucas1479 Lucas1479 commented Oct 22, 2026 •

Copy link
Copy Markdown
Member

Behavior and ownership

Adds a functional plugin-store prototype to the existing installer: official catalog browsing/details, progress/cancellation, manual updates, HTTPS mirror downloads, withdrawal, durable blocking/unblocking and damage recovery. The empty catalog remains visible as a preview. Authors use a minimal hashed static-check environment and one submission PR; maintainers use the official reproducible generation/review/publication tools in the companion repository.

Electron main owns source resolution, artifact hashes, install transactions and durable security facts. Renderer requests package ID/version only. No new runtime capabilities, automatic updates or rollback guarantee. Admission restrictions remain separate from the runtime contract. Display-cache damage cannot erase known bans; ambiguous settings/backup damage fails closed. Mirrors never replace the official index.

Integrated review fixes

  • Merged the already-landed UI/icon and bundled-dictionary mainline while preserving both store and installed-package journeys. Four status colors remain unchanged by user decision; dictionary stays rc2.

  • Package all server/extensions/*.schema.json. Test the actual packaged helper with real v0 and v1 wheel contents, including a negative missing-schema check in isolated staging.

  • Adapt lifecycle probes to package-scoped card switches, details/removal and sidebar navigation. Keep enable intent separate from configuration drafts. Retain focus using the existing artifact drawer keyboard contract.

  • Use catalog/v1/index.json, locked wallpaper restore and streamed downloads with backpressure/stall timeout. Keep source identity checks strict.

  • Protocol Amadeus-Extensions PR #4 and PR #5 are merged. Trusted catalog admission is a separate isolated workflow and now a strict required check on protocol main. A negative then positive real PR qualification was run and closed without merge. Checker SHA 1840c8e4 is retained by extension-catalog-checker-d1.

  • Upgrade only transitive opentelemetry-api from 1.44.0 to 1.45.1 after fresh CI audit reported CVE-2026-114603; no new audit ignore.

Validation

Local integration evidence: 603 Electron tests; 158 plugin Python tests (7 existing conditional skips); 31 author/icon/package tests (1 existing conditional skip); 42 packaging/release/dictionary tests (2 existing conditional skips); actual code-only Windows build; actual bundled v0/v1 validation; 27 store UI checks and 12 installed-settings UI checks. Dependency audit and environment consistency pass after the narrow lock update. Complete local source qualification passed 15 desktop + 14 plugin + 18 fault/recovery checks; actual packaged qualification passed 15 + 15 + 18. The official-tool packaged Git/HTTPS roundtrip passed 15 desktop + 27 lifecycle checks across six publications, four app restarts and five installed Notes MCP contract runs. Final head 04f9115238f14d18bf7b775eebe500ccf5c2b1d1 passed all 18 checks and was squash-merged to main as 76be9159ccee27569562ab4e9e6e8b59d416b3ab; the merged tree is identical to the tested head. The construction record distinguishes the source run's pre-commit dirty identity from clean cd3f36f packaged/publication starts.

Windows CI now executes the complete official-tool local Git/HTTPS publication flow against the packaged desktop, including updates, withdrawal, bans, unblock, restart and NUL damage recovery. Reports distinguish simulated damage from physical power loss and native MCP/TTS contracts from model turns.

Integration record · Repeatable demo · Companion Extensions #5

No plugin packages or Releases are published by this PR. The fixed historical catalog checker continues to exclude v1 icon packages until a separate mainline checker/manifest-version compatibility qualification. The public runtime itself supports v0 and v1. Historical dated plans and Pi qualification changes are retained as reviewed development evidence.

@Lucas1479
Lucas1479 marked this pull request as ready for review October 22, 2026 16:45
@Lucas1479
Lucas1479 merged commit 76be915 into main Oct 22, 2026
18 checks passed
@Lucas1479
Lucas1479 deleted the codex/extension-community-preview branch October 22, 2026 17:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant