Merge branch 'codex/20260831-consolidate-plugin-navigation-3d9a6c71-consolidate-plugin-navigation'
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
# Task: Consolidate plugin navigation into project configuration
|
||||
|
||||
## Identity
|
||||
|
||||
- Task ID: 20260831-consolidate-plugin-navigation-3d9a6c71
|
||||
- Mode: Feature
|
||||
- Branch: codex/20260831-consolidate-plugin-navigation-3d9a6c71-consolidate-plugin-navigation
|
||||
- Worktree: /Users/inmanx/Documents/makelore-consolidate-plugin-navigation-3d9a6c71
|
||||
- Base commit: 38f85f6b5e4dc4e2c5e5b9f8f4506554cfd578f5
|
||||
- Owner: codex
|
||||
- Status: Completed
|
||||
|
||||
## Scope
|
||||
|
||||
- Remove all plugin entries from the programming sidebar and make Project Configuration’s “插件服务” resource the single user-facing plugin surface.
|
||||
- Combine Marketplace discovery, account/device plugin management, and current-project enablement/configuration as URL-backed “发现插件”, “我的插件”, and “项目启用” tabs.
|
||||
- Preserve account acquisition, device installation, project enablement, Agent skill assignment, runtime authorization, and billing as independent lifecycle states.
|
||||
- Keep `/plugin-marketplace`, `/my-plugins`, and `/project-plugins` as compatibility redirects into the appropriate Project Configuration tab.
|
||||
- Update focused unit tests, Electron E2E coverage, and README product-state documentation.
|
||||
|
||||
## Intent And Constraints
|
||||
|
||||
- Reduce navigation duplication without changing Main-owned plugin contracts or `.makelore/project.json` authority.
|
||||
- Reuse the existing light visual system, Radix tabs/sheets, stores, and Host API clients; add no dependency or alternate backend path.
|
||||
- Keep discovery/account/device data global even though its user-facing surface is nested under the active project’s configuration; project enablement and Agent assignment remain project-scoped.
|
||||
- Do not silently acquire, download, enable, assign, authorize, or bill as a side effect of another action.
|
||||
- Preserve unavailable/removed plugin IDs and explicit status messaging rather than inventing metadata or hiding retained configuration.
|
||||
|
||||
## Outcome
|
||||
|
||||
- Removed the remaining global Plugin Center from the programming sidebar. Project
|
||||
Configuration now exposes one “插件服务” resource beside models, Skills, and
|
||||
knowledge files.
|
||||
- Added one wider Plugin Services sheet with URL-backed “发现插件”, “我的插件”, and
|
||||
“项目启用” tabs. The resource card defaults to current-project enablement, while
|
||||
compatibility and in-product links can deep-link directly to discovery or the
|
||||
account/device library.
|
||||
- Reused the existing Marketplace, Library, device installation, project plugin,
|
||||
and Agent Skill stores. Enabling a project plugin refreshes the Skill projection,
|
||||
but does not acquire, download, configure a backend, or assign a Skill.
|
||||
- Preserved compatibility for saved/deep links: `/plugin-marketplace`,
|
||||
`/my-plugins`, and `/project-plugins` redirect to their corresponding Plugin
|
||||
Services tab. My Plugins discovery and project actions now target those tabs.
|
||||
- Reused semantic embedded `section` variants for all three tabs and removed the
|
||||
routed standalone Plugin Center container.
|
||||
- Updated README product-state copy and focused unit/Electron E2E coverage.
|
||||
|
||||
## Verification
|
||||
|
||||
- Exact `pnpm@10.33.4` was used for repository commands.
|
||||
- `pnpm run typecheck`: passed.
|
||||
- Focused Vitest: 3 files / 19 tests passed.
|
||||
- `pnpm test`: 213 test files / 1,730 tests passed; 3 existing conditional tests skipped.
|
||||
- `pnpm run lint:check`: passed with zero errors and five pre-existing warnings
|
||||
(`Home/index.tsx` hook dependency and four `Makelore/index.tsx` Fast Refresh warnings).
|
||||
- `pnpm run build:vite`: passed for Renderer, Electron Main, Preload, and utility
|
||||
worker; existing dynamic-import and large-chunk warnings remain non-fatal.
|
||||
- Focused Electron E2E: 3/3 passed across Plugin Services discovery/account-device
|
||||
management, sidebar removal, and current-project enablement.
|
||||
- `git diff --check`: passed.
|
||||
|
||||
## Follow-ups
|
||||
|
||||
- Canonical `.project-docs` navigation wording should be promoted only by a later
|
||||
Integration Gate; no plugin lifecycle, trust, billing, or backend contract changed.
|
||||
|
||||
## Promotion Candidates
|
||||
|
||||
- Target canonical documents: `.project-docs/30-worklog/current-state.md` and
|
||||
`.project-docs/20-architecture/module-map.md`.
|
||||
- Proposal: record that Renderer exposes no standalone plugin sidebar destination;
|
||||
Project Configuration’s single Plugin Services sheet owns discovery,
|
||||
account/device management, and current-project enablement tabs beside models,
|
||||
Skills, and knowledge.
|
||||
- Evidence: this task's source diff, 19 focused unit tests, the 1,730-test full unit
|
||||
suite, three focused Electron E2E flows, typecheck, lint, and production build.
|
||||
- Future impact: new navigation, documentation, and E2E work should target
|
||||
`/project-config?resource=plugins&pluginTab=discover|mine|project`; all standalone
|
||||
plugin routes are compatibility redirects only.
|
||||
- Semantic conflicts: none identified. The existing independent lifecycle and
|
||||
Main-owned trust boundaries remain unchanged.
|
||||
- Human confirmation: not required for the factual promotion; the user explicitly
|
||||
approved this consolidation, but Integration Gate ownership is still required.
|
||||
Reference in New Issue
Block a user