Skip to content

034 - Plugins on every surface #51

Description

@musichen

specs/021-acryl-agent-plugin-ecosystem/spec.md, specs/016-plugin-lifecycle-control, specs/031-desktop-plugin-install, specs/028-harness-engine-swap/spec.md reports Session plugins 0 plugins / Global plugins 0 plugins while searching for editor, and acryl-cli has no plugin surface at all. User instruction: "first plan it in spec, then do. add this as spec. for each surface."

Spec folder: specs/034-plugins-on-every-surface/

Tasks

tasks.md exists but has no checklist items.

Tasks: plugins on every surface

Ordered. Each task lands as its own commit with its evidence; a task that
cannot show its evidence is not done. T001 gates T002+ by answering the
open research questions that change the design.

Order amended 2026-09-12 after the composition measurement in research.md:
T005 runs before T003, because T003's commands invoke the shared lifecycle
capability T005 creates - the reverse order would ship a CLI command over
Desktop-private code and then rewrite it. T002 is scoped to the measured
diff: tui gains the Host inventory row (pluginInventory), desktop and web
keep today's rows.

T001 - Answer the composition and panel questions

Files: research.md
Do: determine (a) what @deepseek-ai/dsh-host-plugin-inventory enumerates
and whether a TUI can read it without a client UI, (b) which ACRYL plugin rows
each surface can host today, (c) whether dsh-community-market runs under a
non-Electron host.
Evidence: answers written into research.md with the console/activation
proof for each, or an explicit "unknown, prototype needed" before T004/T006.
Done when: Q1-Q3 have a status and the plan's per-surface table is either
confirmed or corrected.

T002 - Make plugin composition declaration-driven

Files: acryl-harness-runtime/src/coding-capabilities.ts,
acryl-harness-runtime/src/engine-dsh.ts, acryl-desktop/src/profile.ts,
acryl-harness-runtime/tests/*
Do: express the plugin capabilities as entries in
ACRYL_CODING_CAPABILITIES with per-capability (and where needed per-row)
surfaces; replace NON_TUI_SHARED_ROW_IDS with that declaration;
createAcrylCodingCapabilityPatches returns the declared set for the requested
surfaces. No behavior change on desktop yet; web gains the shared rows it
declares.
Evidence: table-driven tests per surface asserting the exact composed row
ids; full acryl-harness-runtime, acryl-cli, acryl-desktop suites green.
Done when: adding a capabi

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions