feat(coding): add model tools and device packages
This commit is contained in:
1 parent
841273b433
commit
664b8823a0
60 files changed
+3847
-2068
No files matched your search
@@ -4,6 +4,19 @@ This file is the integrated default-branch snapshot. Feature tasks record progre
|
||||
|
||||
## Integrated Through
|
||||
|
||||
- Model Tools and Device Packages client cutover is implemented by task
|
||||
`20260902-model-tools-client-integration-5d8b2f73`. Web Search is now a parent-only
|
||||
core tool of the frozen selected model/provider/credential; it no longer depends on
|
||||
Marketplace acquisition, Release, Admission, the hosted client, or Plugin Token Point
|
||||
receipts, and it never falls back to `agent_browser`. Electron Main also owns a
|
||||
conversation-only Device Package manager for npm, Git, local Plugin directories, and
|
||||
loose `SKILL.md` sources. Preview and a distinct confirmation turn precede immutable
|
||||
local commit; lifecycle scripts stay disabled; new and idle parent workers refresh
|
||||
automatically while active workers switch after settlement; child workers remain
|
||||
empty. My Plugins now separates Official Plugins from Device Installed packages and
|
||||
exposes no visible install picker. Packaged Skill/Pi-extension installation and real
|
||||
selected-model search remain external acceptance gates; no paid Provider request,
|
||||
production install, publish, push, or PR is claimed.
|
||||
- Windows titlebar Logo-overlap correction source
|
||||
`99a210e244731d1cdc923e9dd4adf6e09e64c2a4` from task
|
||||
`20260901-windows-titlebar-logo-overlap-5100e298` is integrated onto local
|
||||
|
||||
@@ -0,0 +1,139 @@
|
||||
# Task: Model Tools and Device Packages client integration
|
||||
|
||||
## Identity
|
||||
|
||||
- Task ID: 20260902-model-tools-client-integration-5d8b2f73
|
||||
- Mode: Integration
|
||||
- Branch: codex/20260902-model-tools-client-integration-5d8b2f73-model-tools-client-integration
|
||||
- Worktree: D:\Datas\OthersProjects\makelore-model-tools-integration-5d8b2f73
|
||||
- Base commit: 841273b43354b2237a52a7081a9fceb647ef4e3f
|
||||
- Owner: codex-root
|
||||
- Status: In Progress
|
||||
|
||||
## Scope
|
||||
|
||||
- Implement the MakeLore half of the accepted Model Tools and Device Packages
|
||||
specification from exact base `841273b43354b2237a52a7081a9fceb647ef4e3f`.
|
||||
- Add the closed selected-model `web_search` tool, a Main-owned conversation-driven
|
||||
Device Package manager, immutable parent-worker resource materialization, and a
|
||||
split Official Plugins / Device Installed view in My Plugins.
|
||||
- Remove the old hosted Web Search client/package path only after the new model-tool
|
||||
composition is working; keep Game Resource and other official plugins unchanged.
|
||||
- Own the client integration record and final canonical-memory reconciliation.
|
||||
|
||||
## Intent And Constraints
|
||||
|
||||
- There is no visible install/source-picker entry. Installation is initiated by
|
||||
conversation tools, requires a preview and a distinct later user-confirmation
|
||||
turn, and accepted packages default to enabled for the next parent generation.
|
||||
- Device Packages are local to this OS user and never join Account Library,
|
||||
Admission, Release, Channel, or Marketplace Package Store state.
|
||||
- Executable Pi extensions run with desktop-user authority; the confirmation must
|
||||
state that plainly. P0 does not claim a sandbox or load packages into child agents.
|
||||
- Web Search uses the frozen selected model/provider/credential and never falls back
|
||||
to `agent_browser`, a separate model, hosted Web Search client, or Plugin Charges.
|
||||
- The two user-owned untracked files in `D:\Datas\OthersProjects\makelore` remain
|
||||
untouched; all product work occurs in this linked worktree.
|
||||
- No live paid Provider request, production install, publish, push, or PR is
|
||||
authorized by this implementation task.
|
||||
|
||||
## Concurrent Task Gate
|
||||
|
||||
- Task ID: `20260902-model-tools-client-integration-5d8b2f73`
|
||||
- Mode: Integration
|
||||
- Branch: `codex/20260902-model-tools-client-integration-5d8b2f73-model-tools-client-integration`
|
||||
- Worktree: `D:\Datas\OthersProjects\makelore-model-tools-integration-5d8b2f73`
|
||||
- Base commit: `841273b43354b2237a52a7081a9fceb647ef4e3f`
|
||||
- Ownership result: Claimed in an independently created linked worktree; the client
|
||||
integration lock belongs to this task.
|
||||
- Other local registry entries are historical isolated planning/ready tasks; none
|
||||
owns this worktree or the planned model-tool/device-package files. The two
|
||||
untracked root records were neither copied as changes nor claimed.
|
||||
- Gate result: Passed.
|
||||
|
||||
## Project Context Loaded
|
||||
|
||||
Read:
|
||||
- `.project-docs/05-agent-entry/{read-before-coding,concurrent-task-gate,planning-gate,memory-index}.md`
|
||||
- project positioning/success criteria, current state, decision index, architecture,
|
||||
data flow, business rules/glossary, evidence/reflection indexes, commitments and
|
||||
stale-items registry
|
||||
- the accepted server-repository design and implementation Spec, proposal, and
|
||||
completed design task for the three-domain cutover
|
||||
- current Pi worker/resource loading, official Plugin resolver/Package Store,
|
||||
atomic JSON utilities, product composition, model capability parser, My Plugins,
|
||||
and their focused tests identified by the Spec
|
||||
|
||||
Relevant understanding:
|
||||
- Project goal: Electron Main owns credentials, local package bytes, effective
|
||||
resources, and worker generations; Renderer and Agent inputs receive only closed
|
||||
projections.
|
||||
- Current focus: make Web Search a selected-model core tool and let conversation
|
||||
install local Skills/Pi extensions that appear under Device Installed.
|
||||
- Active constraints: Pi `0.84.2`, explicit `--extension`/`--skill` loading with
|
||||
discovery disabled, atomic durable index, no lifecycle scripts, parent-only P0,
|
||||
and safe refresh after the current turn.
|
||||
- Decisions affecting this task: no visible installer, automatic post-confirmation
|
||||
loading, Official/Device inventory split, no Web Search Marketplace card, and no
|
||||
dual hosted/model-tool runtime.
|
||||
- Evidence/commitments: current Pi runtime and Marketplace boundaries are already
|
||||
integrated; exact packaged and live Provider acceptance remains a later gate.
|
||||
- Likely modules: imported model/profile parsing, Pi provider/runtime composition,
|
||||
new `electron/coding-packages/**`, effective resources/worker lifecycle, Main-local
|
||||
management routes, My Plugins store/page, conversation protocol and artifact tests.
|
||||
- Unknowns/conflicts: provider-native Web Search must remain unavailable for any
|
||||
selected model lacking a proven closed capability; a third-party package manifest
|
||||
alone is not evidence that its tool supports Bailian/DeepSeek.
|
||||
- Planning Gate result: Passed.
|
||||
|
||||
## Outcome
|
||||
|
||||
- Added a closed parent-only `makelore_web_search` model tool. Its registry reads the
|
||||
frozen selected-model capability, keeps the same provider/credential/model, emits the
|
||||
verified provider-native forced-search request shape, and never falls back to
|
||||
`agent_browser`, a second model, the removed hosted client, or Plugin Charges.
|
||||
- Added a Main-owned Device Package deep module with conversation tools for
|
||||
inspect/preview, confirm/install, list, enable/disable, and uninstall. It accepts npm,
|
||||
Git, absolute local Plugin directories, and loose `SKILL.md` sources; lifecycle scripts
|
||||
are disabled and executable extensions require the explicit desktop-authority warning.
|
||||
- Device packages commit as immutable generations, default enabled, and automatically
|
||||
refresh new/idle parent workers. Active workers retain the frozen generation until
|
||||
settlement, and child workers receive no Device Package resources.
|
||||
- My Plugins now separates Official Plugins and Device Installed. It exposes no visible
|
||||
installer/source picker. Device state does not enter Account Library, Release, Channel,
|
||||
Admission, Marketplace Package Store, project enablement, or Agent assignment.
|
||||
- Removed the old Hosted Web Search package definition, Main client/adapter, conversation
|
||||
envelope cases, artifact authority, and associated tests while preserving Game Resource
|
||||
and generic Marketplace behavior.
|
||||
|
||||
## Verification
|
||||
|
||||
- TDD and focused model-tool/device-package/resource/route/Renderer tests passed; final
|
||||
focused Device Package slice: 4 files / 15 tests.
|
||||
- Full unit suite: 218 files, 1,786 passed, 2 skipped; pressure test 1 passed. One initial
|
||||
run saw two unchanged real-Pi `spawn EBUSY` failures; the isolated retry passed 3/3 and
|
||||
the full suite then passed.
|
||||
- `pnpm typecheck` passed. Full lint passed with 0 errors and 5 unchanged warnings in
|
||||
Home/Makelore.
|
||||
- Vite Renderer/Main/Preload/utility production build and Pi win32-x64 runtime staging
|
||||
passed; Renderer transformed 2,275 modules and the staged Pi closure contains 130
|
||||
packages / 6 assets.
|
||||
- Windows Electron lifecycle suite passed 6/6 on clean retry. The first run's six tests
|
||||
passed but Electron returned a transient Windows access-violation exit code afterward.
|
||||
- `git diff --check` passed.
|
||||
- Full packaged Windows artifact and its two artifact verifiers remain to be run from a
|
||||
committed exact head before this task is completed.
|
||||
|
||||
## Follow-ups
|
||||
|
||||
- HOLD: packaged signed-in conversation acceptance for one loose Skill, one fixture Pi
|
||||
extension, and a live `npm:pi-web-search` install with network access.
|
||||
- HOLD: real selected-model Web Search through the deployed AI Gateway requires explicit
|
||||
paid-Provider authorization and a supported credential/model.
|
||||
- Independent fixed-range Standards and Spec reviews remain the next gate after the
|
||||
paired commits are integrated.
|
||||
|
||||
## Promotion Candidates
|
||||
|
||||
- Keep the model-tools/device-packages proposal pending until packaged install and live
|
||||
model-search acceptance satisfy its promotion criteria.
|
||||
Reference in new issue
Block a user