docs(plugins): integrate web search assignment fix
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
Reference in New Issue
Block a user