From 697c68974de8bf43c7094e67372a03123c449343 Mon Sep 17 00:00:00 2001 From: brother7 <7brother7@gmail.com> Date: Tue, 1 Sep 2026 20:35:46 +0800 Subject: [PATCH] docs(plugins): integrate web search assignment fix --- .project-docs/30-worklog/current-state.md | 13 +++ ...01-web-search-tool-routing-fix-6f9d3b82.md | 84 ------------------- ...earch-tool-routing-integration-7a4e1c93.md | 70 ++++++++++++++++ 3 files changed, 83 insertions(+), 84 deletions(-) delete mode 100644 .project-docs/30-worklog/tasks/20260901-web-search-tool-routing-fix-6f9d3b82.md create mode 100644 .project-docs/30-worklog/tasks/20260901-web-search-tool-routing-integration-7a4e1c93.md diff --git a/.project-docs/30-worklog/current-state.md b/.project-docs/30-worklog/current-state.md index 68bfab1..f0bd975 100644 --- a/.project-docs/30-worklog/current-state.md +++ b/.project-docs/30-worklog/current-state.md @@ -4,6 +4,19 @@ This file is the integrated default-branch snapshot. Feature tasks record progre ## Integrated Through +- Web Search Agent-assignment catalog fix source + `612794463de1b14fd748202a00115c6f93c7346b` from task + `20260901-web-search-tool-routing-fix-6f9d3b82` is integrated onto local `main` + through product commit `adc28db7855f8b1770f1c1d46af77b7cc88cfa1a` by task + `20260901-web-search-tool-routing-integration-7a4e1c93`. The unscoped partner + Skill picker now lists every project-enabled Plugin Skill before first assignment + and does not invoke runtime Admission resolution; Agent-scoped/runtime projections + still use only the resolver-approved effective subset. This closes the confirmed + circular state where an enabled Web Search Skill was hidden until already assigned, + leaving the actual Pi worker with only `agent_browser`. Focused 45-test, full + 1,785-test plus pressure, typecheck, and scoped-lint verification passed. Existing + workers remain frozen; the affected local Agent assignment was corrected separately + and takes effect on a new Conversation. - Official bundled Plugin client cutover is integrated on local `main` through product commit `1530ac774091c7083dbff19e0fbd69e929ac8718` by task `20260901-official-bundled-plugins-client-integration-b8d5f3a2`. Game Resource and diff --git a/.project-docs/30-worklog/tasks/20260901-web-search-tool-routing-fix-6f9d3b82.md b/.project-docs/30-worklog/tasks/20260901-web-search-tool-routing-fix-6f9d3b82.md deleted file mode 100644 index 891117a..0000000 --- a/.project-docs/30-worklog/tasks/20260901-web-search-tool-routing-fix-6f9d3b82.md +++ /dev/null @@ -1,84 +0,0 @@ -# Task: Diagnose and fix Web Search tool routing from current main - -## Identity - -- Task ID: 20260901-web-search-tool-routing-fix-6f9d3b82 -- Mode: Feature -- Branch: codex/20260901-web-search-tool-routing-fix-6f9d3b82-web-search-tool-routing-fix -- Worktree: D:\Datas\OthersProjects\makelore-web-search-tool-routing-fix-6f9d3b82 -- Base commit: 08099ea1c2ea24efc10c20f878fc25a557ea9d90 -- Owner: codex-root -- Status: Ready for Integration - -## Scope - -- Reproduce the reported installed-client behavior where an explicit request to use - Web Search invokes `agent_browser` instead of `makelore_web_search`. -- Trace the exact current package version, project Plugin selection, Agent Skill - assignment, backend admission, effective frozen worker snapshot, and Pi CLI tool - catalog without changing server policy or production data. -- If a client defect is confirmed, add a regression at the narrow owning seam, - implement the smallest fix, and verify the affected packaged/runtime path. - -## Intent And Constraints - -- Concurrent Task Gate: Passed in the isolated worktree from exact local - `main` base `08099ea1c2ea24efc10c20f878fc25a557ea9d90`. The two unrelated - untracked packaging records in the user root remain untouched. -- Planning Gate: Passed after loading the project memory entry points, current - architecture/data-flow/domain rules, ADR-006, evidence/commitments, the prior - Web Search coordinator scope, and the two local 1.2.2/1.2.3 package records. -- Confirmed product contract: official Web Search is bundled but optional; Account - acquisition, project enablement, Agent assignment, current Admission, and the - frozen parent worker snapshot are separate gates. Child workers receive no hosted - tool. -- Diagnosis must begin with a deterministic loop that observes the actual worker - tool catalog. A prompt-only change is not acceptable unless the tool is proven - present and the routing failure remains. -- Preserve the current project, conversations, user data, credentials, unrelated - task records, and production server state. No push, deploy, publication, paid - Provider call, or destructive cleanup is in scope. - -## Outcome - -- Confirmed the installed client is MakeLore 1.2.3 and the affected project has - `makelore.web-search` enabled, but Agent `cc` is assigned only `agent-browser`. - The latest persisted Pi session consequently exposes only `agent_browser`; this - is not a model-choice conflict between two available tools. -- Reproduced the client bootstrap defect at the Product Host seam: the unscoped - Agent assignment catalog called the effective resolver with an empty assignment, - then treated `effectiveSkillIds=[]` as the plugin availability set. An enabled - Web Search Skill therefore disappeared until it had already been assigned. -- Changed the unscoped catalog to use project-enabled plugin IDs directly and to - avoid runtime/admission resolution. Agent-scoped projections still use the - resolver-approved effective subset, so the fix does not materialize Web Search - into a worker before explicit Agent assignment. -- Added a regression proving an enabled/unassigned Web Search Skill is available - in the assignment catalog, while the same Skill remains unavailable in Agent - `builder`'s scoped projection until assigned. -- Applied the requested operational correction to the affected project only: - Agent `cc` now has `agent-browser` and `makelore-web-search`; the existing - `makelore.web-search` project enablement remains unchanged. - -## Verification - -- TDD RED: `pnpm exec vitest run tests/unit/coding-product-services.test.ts` = - 1 failed / 10 passed; the enabled Web Search Skill was absent. -- Focused GREEN: Product Host, effective resolver, capability registry, Pi resource - loader, and composition = 5 files / 45 tests passed. -- Full client suite on the final implementation = 215 files / 1785 passed / 2 - skipped, plus pressure 1/1 passed. -- `pnpm run typecheck` passed. Scoped ESLint passed with zero findings. -- The affected project JSON parses successfully and reports Agent `cc` Skills - `agent-browser,makelore-web-search` with Web Search project enablement `true`. - -## Follow-ups - -- The currently running 1.2.3 process does not contain the assignment-catalog UI - fix. The affected Agent assignment is already corrected on disk; start a new - conversation so a new frozen parent worker reads it and includes - `makelore_web_search`. Existing workers intentionally remain frozen. - -## Promotion Candidates - -- None recorded. diff --git a/.project-docs/30-worklog/tasks/20260901-web-search-tool-routing-integration-7a4e1c93.md b/.project-docs/30-worklog/tasks/20260901-web-search-tool-routing-integration-7a4e1c93.md new file mode 100644 index 0000000..da0a6c6 --- /dev/null +++ b/.project-docs/30-worklog/tasks/20260901-web-search-tool-routing-integration-7a4e1c93.md @@ -0,0 +1,70 @@ +# Task: Integrate Web Search Agent assignment catalog fix + +## Identity + +- Task ID: 20260901-web-search-tool-routing-integration-7a4e1c93 +- Mode: Integration +- Branch: codex/20260901-web-search-tool-routing-integration-7a4e1c93 +- Worktree: D:\Datas\OthersProjects\makelore-web-search-tool-routing-integration-7a4e1c93 +- Base commit: 08099ea1c2ea24efc10c20f878fc25a557ea9d90 +- Owner: codex-root +- Status: Ready for Integration + +## Scope + +- Integrate sole source commit `612794463de1b14fd748202a00115c6f93c7346b` + from completed feature task `20260901-web-search-tool-routing-fix-6f9d3b82` + onto exact local `main` base `08099ea1c2ea24efc10c20f878fc25a557ea9d90`. +- Preserve the source task record as read-only evidence, update only this integration + task record and the canonical integrated-state ledger, and fast-forward local + `main` after verification. + +## Intent And Constraints + +- Concurrent Task Gate: Passed in a dedicated integration worktree/branch from the + exact current `main`; the repository integration lock is held by this task. +- Planning Gate: Passed after loading the required memory entry points, current + state, decision index, architecture/data flow/domain rules, evidence, reflection, + commitments and stale items, plus the completed source task record. +- Semantic comparison found no conflict: the fix preserves the accepted separation + between project enablement, Agent assignment, and effective frozen worker state. + It only restores enabled plugin Skills to the unscoped assignment catalog. +- Source product/test/task files are integrated as one exact commit. No server, + policy, billing, Provider, package version, deployment, publication, or current + worker hot-swap is in scope. The two unrelated untracked packaging records in the + user root must remain untouched. + +## Outcome + +- Cherry-picked the sole completed source commit as product commit + `adc28db7855f8b1770f1c1d46af77b7cc88cfa1a`; its product/test files are + unchanged. The duplicate foreign source task record is retained on the source + branch and omitted from this integration checkpoint as required by the + project-document ownership boundary. +- Integrated the assignment-catalog correction without changing the accepted + project-enable → Agent-assignment → effective-worker gates. Unscoped Skill + discovery now uses project-enabled Plugin IDs and avoids Admission resolution; + Agent-scoped discovery remains resolver-authoritative. +- Updated the canonical current-state ledger with the source/product commits, + verified behavior, and existing-worker freeze boundary. No promotion candidate, + semantic conflict, or ADR/architecture change was required. + +## Verification + +- Adopted the exact-tree source evidence: focused 5 files / 45 tests, full 215 files / + 1,785 passed / 2 skipped plus pressure 1/1, TypeScript, and scoped ESLint passed. +- Re-ran the integrated tree's focused 5 files / 45 tests and `pnpm run typecheck`; + both passed. +- Exact product/test diff equality, exact parent base, `git diff --check`, task-aware + project-doc drift, clean-worktree, and local `main` fast-forward are final gates. + +## Follow-ups + +- The running installed 1.2.3 binary predates the assignment-picker source fix. + The reported project's exact Agent assignment has been corrected separately; + a new Conversation is required because existing Pi workers intentionally freeze + their Skill/tool snapshot. + +## Promotion Candidates + +- None recorded.