docs(plugins): specify unified plugin workspace
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
# Task: Design unified MakeLore plugin navigation
|
||||
|
||||
## Identity
|
||||
|
||||
- Task ID: 20260903-plugin-navigation-design-7c4e2a91
|
||||
- Mode: Feature
|
||||
- Branch: codex/20260903-plugin-navigation-design-7c4e2a91-plugin-navigation-design
|
||||
- Worktree: D:\Datas\OthersProjects\makelore-plugin-navigation-design-7c4e2a91
|
||||
- Base commit: e9875145b41a2cb1827de10d27a4fc6a352704ea
|
||||
- Owner: codex-root-plugin-nav
|
||||
- Status: Ready for Integration
|
||||
|
||||
## Scope
|
||||
|
||||
- Product and architecture assessment of the current Plugin Marketplace, My Plugins,
|
||||
Project Plugins, local Device Package, and sidebar/router surfaces.
|
||||
- Compare the current navigation model with OpenAI's documented Codex Plugins
|
||||
directory and propose one unified MakeLore Plugin surface.
|
||||
- Write the task-owned implementation proposal
|
||||
`10-decisions/proposals/20260903-plugin-navigation-design-7c4e2a91__unified-plugin-workspace-spec.md`.
|
||||
- No product, route, state, server contract, package, or canonical shared-memory
|
||||
changes.
|
||||
|
||||
## Intent And Constraints
|
||||
|
||||
- Preserve the independent authorities for catalog, Account Library, device bytes,
|
||||
project enablement, Agent assignment, runtime admission, and billing even though
|
||||
their user interface is consolidated.
|
||||
- Keep local npm/Git/Plugin/loose-Skill installation conversation-only; the unified
|
||||
page may manage installed Device Packages but must not add an install picker.
|
||||
- Treat selected-model Web Search as a model tool, not a Marketplace Plugin.
|
||||
- Avoid semantic overlap with concurrent task
|
||||
`20260903-design-message-send-client-8d3f2a71`, whose owner confirmed it does not
|
||||
touch Plugin navigation, pages, sidebar, or router.
|
||||
|
||||
## Outcome
|
||||
|
||||
- Recommend one sidebar entry and canonical `/plugins` page.
|
||||
- The page should use one searchable list with source/status/scope filters rather
|
||||
than three destination tabs: official catalog and locally installed packages are
|
||||
source projections; acquired/installed/enabled are status filters; the active
|
||||
project is a scope filter.
|
||||
- One Plugin detail panel should compose description, capabilities, Token Point
|
||||
summary, account/device state, current-project enablement, Agent assignments, and
|
||||
plugin-specific settings while dispatching each mutation to its existing owner.
|
||||
- Legacy `/plugin-marketplace`, `/my-plugins`, and `/project-plugins` routes should
|
||||
redirect to deterministic `/plugins` query states during the navigation cutover.
|
||||
- Official Data Service and Game Resource remain Plugin entries. Model Web Search
|
||||
belongs in selected-model capabilities and should not appear as a Plugin card.
|
||||
- A unified projection must tolerate partial backend failure: cached official data
|
||||
and local Device Packages remain visible independently.
|
||||
- The accepted direction is now frozen as Spec `ML-PLUGIN-NAV-001`, including the
|
||||
pure Renderer projection Interface, source-qualified item identity, action matrix,
|
||||
exact legacy redirects, partial-failure behavior, accessibility contract, file
|
||||
ownership, tests, four implementation stages, and Definition of Done.
|
||||
|
||||
## Verification
|
||||
|
||||
- Concurrent Task Gate PASS after the peer owner confirmed disjoint scope.
|
||||
- Planning Gate PASS after reading the required project memory, architecture,
|
||||
domain rules, and current integrated state.
|
||||
- Inspected current sidebar/router and all three Renderer Plugin pages on exact base
|
||||
`e9875145b41a2cb1827de10d27a4fc6a352704ea`.
|
||||
- Reviewed official OpenAI Plugins documentation for the single directory,
|
||||
marketplace-source grouping, Installed projection, enable/disable behavior, and
|
||||
new-session activation semantics.
|
||||
- Re-ran the Concurrent and Planning Gates before writing the implementation Spec;
|
||||
the AI Design peer still has disjoint file and semantic ownership.
|
||||
- Re-inspected current Renderer stores, DTO projections, page actions, route/module
|
||||
guards, sidebar entries, unit tests, E2E seams, and canonical Device Package/model
|
||||
tool rules on the recorded base.
|
||||
- No executable tests were run because this task makes no product changes; tests
|
||||
would not alter the design conclusion.
|
||||
|
||||
## Follow-ups
|
||||
|
||||
- Implement `PN-01` through `PN-04` serially in an isolated client task after explicit
|
||||
implementation authorization.
|
||||
- Run fresh Standards and Spec review over the implementation range before promotion
|
||||
to `main`.
|
||||
|
||||
## Promotion Candidates
|
||||
|
||||
- If accepted, promote the single-Plugin-surface navigation and state-as-filter
|
||||
distinction into the architecture/module map during the later Integration Gate.
|
||||
- Promote the explicit distinction between native selected-model tools and Plugin
|
||||
entries into the user-facing glossary if future UI work makes that distinction
|
||||
visible outside Code.
|
||||
Reference in New Issue
Block a user