7.6 KiB
7.6 KiB
Task: Diagnose Web Search runtime stale after reinstall
Identity
- Task ID: 20260901-web-search-runtime-stale-r2-6f4a2d91
- Mode: Feature
- Branch: codex/20260901-web-search-runtime-stale-r2-6f4a2d91-web-search-runtime-stale-r2
- Worktree: D:\Datas\OthersProjects\makelore-web-search-runtime-stale-r2-6f4a2d91
- Base commit:
2c5b60ea78 - Owner: codex-root
- Status: Ready for Integration
Scope
- Diagnose the installed-client
plugin_runtime_stalefailure after reinstall and a newly created Conversation, using the latest Pi session, installed artifact metadata, Main log, frozen worker manifest, and server Admission response as evidence. - Establish a deterministic read-only reproduction/inspection loop before reading or changing product code. If the fault is client-owned, make the smallest correction in the Marketplace/effective-resolver/hosted-admission/Web Search invocation seam with focused regressions. If evidence locates a deployed server-state problem, stop client mutation and report the exact server prerequisite instead.
- Preserve the user root worktree and its two unrelated untracked package records. All product, test, and task-record writes remain in this isolated worktree.
Intent And Constraints
- Concurrent Task Gate: Passed. Task
20260901-web-search-runtime-stale-r2-6f4a2d91owns this worktree/branch at exact base2c5b60ea78e014a712a47bdbb9efd156f52f3a1d; the dirty root was not adopted, stashed, reset, cleaned, or modified. - Planning Gate: Passed after reading the project-memory startup set, current state, decisions, architecture/module/data-flow, business rules, success criteria, glossary, evidence/reflection/commitment/stale indexes, the prior assignment and frozen-worker corrections, official bundled-plugin integration, Web Search main merge, and the only active Web Search peer record.
- The old coordinator task
20260831-web-search-client-5b9d2e63remains at base0a86ec825...with no live ownership of this post-merge runtime failure. No semantic or write-scope conflict was found. - Confirmed product invariants: a new parent worker must freeze an acquired, enabled, assigned, exact official bundled Release; child workers receive no hosted tool; invocation still requires current account/project/policy and exact server-owned Release Admission; Renderer/Pi must not receive credentials or Provider authority.
- The previous source correction permits only a verified frozen worker to survive a transient stale Library projection. The user's fresh reinstall/new Conversation disproves that correction as a complete explanation, so it will not be broadened without new evidence.
- Do not restart or terminate the running client, invoke paid Web Search/OpenAI, alter Account Library/project/Agent state, package, push, deploy, publish, or touch server state without a separately evidenced need and authority.
Project Context Loaded
- Project goal: keep Electron Main as the authenticated Marketplace/hosted-Plugin authority while exposing only frozen, admitted parent tools to Pi.
- Current integrated focus: Web Search is an official bundled optional hosted Plugin;
assignment discovery and frozen-worker stale-Library fixes are already on
main. - Active task scope: isolate the remaining installed-client
plugin_runtime_staleboundary and correct only the proven owner. - Decisions affecting this task: ADR-006 single Pi runtime and frozen logical-thread ownership; distinct Library, project, Agent, runtime Admission, confirmation, and billing states; no hot-swap and no child inheritance.
- Evidence/commitments: installed artifacts must be verified rather than inferred from source; live paid Provider and production activation remain out of scope.
- Likely modules if client-owned:
electron/coding-plugins/registry.ts,effective-resolver.ts,hosted-admission.ts,marketplace-client.ts, Web Search adapter, and their focused tests. - Unknowns to resolve first: exact installed source/verification head; exact newest Pi
tool event and frozen manifest; whether failure occurs before or inside hosted
Admission; whether
/resolvereports stale, mismatched request identity, or a different exact Release. - Gate result: Passed.
Diagnosis Evidence
- The newest Pi session deterministically reproduces two non-billing
plugin_runtime_staleresults formakelore_web_search; both stop before Provider dispatch or Token Point reservation. - The new worker manifest is current and correct: parent-only Web Search Skill/tool,
Release
00000000-0000-4000-8000-000000000204, version1.0.0, contract v1, exact project/account snapshot, and platform-metered policy are frozen. - The installed
app.asaris version1.2.4and contains the priorresolveForInvocationfix, disproving missing installation, stale conversation, missing Agent assignment, and missing prior product code. - Live anonymous Marketplace detail returns
stable_release=nullandstable_version=null. The server task history confirms0077lists metadata only;0078creates the exact bundled stable Release and has not been deployed. - The integrated
0078migration additionally declaresmin_makelore_version=2.0.0, while the complete compatible runtime is demonstrably present in installed MakeLore1.2.4. Once0078is deployed this would become the next Admission blocker. - The remaining client-owned defect is diagnostic fidelity: an explicit Marketplace
action=unavailableresult is currently folded intoplugin_runtime_staleinstead of the existing typedplugin_release_unavailablefailure.
Outcome
- Corrected the hosted Admission boundary so an explicit Marketplace
action='unavailable'becomes the existing typedplugin_release_unavailablefailure instead of being folded into the unrelatedplugin_runtime_staleworker-snapshot error. - Added regressions for both currently reachable unavailable reasons:
plugin_release_not_readyandplugin_client_incompatible. - The fix is deliberately diagnostic, not a client-side bypass: exact frozen Release,
Account, project, policy, Admission, Provider, and billing validation remain intact.
The actual production prerequisite is the server's missing
0078Release migration followed by the0079compatibility correction.
Verification
- Deterministic installed-client evidence: newest Pi session reproduced two
plugin_runtime_staleWeb Search calls; the frozen parent manifest and installed1.2.4app contained the expected Skill, tool, Release, account/project snapshot, and prior resolver implementation. - TDD RED: both explicit unavailable-reason cases returned
plugin_runtime_stale; GREEN after the boundary correction. pnpm exec vitest run tests/unit/hosted-admission.test.ts tests/unit/web-search-plugin-adapter.test.ts tests/unit/game-resource-plugin-adapter.test.ts: 3 files, 25 tests passed.pnpm exec tsc --noEmit: passed.- Scoped ESLint for the changed implementation and test: passed.
git diff --check: passed. No installed client, user root worktree, Account/Library, project/Agent assignment, Provider, billing, or production state was mutated.
Follow-ups
- Integrate this small diagnostic correction into the next MakeLore build so future Release availability failures remain truthful. It is not required to make the current installed runtime compatible once the server Release/migration gate is fixed.
- Deploy/apply server
0078and0079, reopen the worker, then verify Provider readiness before performing an explicitly authorized paid Web Search smoke.
Promotion Candidates
- None recorded.