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
We keep landing in the same shape: a feature area (harnesses, directories, git actions, MCP, shortcuts, toasts, ...) needs to declare metadata, capabilities, overrides, and UI hooks, and every new call site has to match-arm against an enum instead of asking the feature itself.
Proposal: design and land a single feature-module convention that all of the above slot into, instead of each one inventing its own trait. A feature module declares:
Identity: stable id, label, icon.
Scopes: where it can be configured (global / repo / project / task / session).
Settings: typed setting leaves with defaults, overrides, and resolution order.
Capabilities: boolean/enum supports(Feature) bits so UI can gate.
Actions: named actions the feature exposes (maps to shortcuts, menu items, MCP tools, etc. — one declaration, many surfaces).
Automation (changelog parsing per harness, per-MCP metadata, telemetry) targets a stable schema.
Out of scope here: the exact trait shape, migration order, or which of the existing issues gets migrated first — that's the design work this issue is asking for.
We keep landing in the same shape: a feature area (harnesses, directories, git actions, MCP, shortcuts, toasts, ...) needs to declare metadata, capabilities, overrides, and UI hooks, and every new call site has to match-arm against an enum instead of asking the feature itself.
Existing issues circling this:
ShortcutAction.Proposal: design and land a single feature-module convention that all of the above slot into, instead of each one inventing its own trait. A feature module declares:
supports(Feature)bits so UI can gate..gitappears, harness updated, MCP toggled).Payoff:
HashMapper feature.Out of scope here: the exact trait shape, migration order, or which of the existing issues gets migrated first — that's the design work this issue is asking for.