docs(plugins): record unavailable release integration
This commit is contained in:
@@ -4,6 +4,20 @@ This file is the integrated default-branch snapshot. Feature tasks record progre
|
||||
|
||||
## Integrated Through
|
||||
|
||||
- Web Search unavailable-Release diagnostic correction source
|
||||
`2e093bd22c0a3c46cc08b8eede8c1bc02afd690b` from task
|
||||
`20260901-web-search-runtime-stale-r2-6f4a2d91` is integrated on local `main`
|
||||
through product commit `93e3143` by task
|
||||
`20260902-web-search-client-integration-a4c8e291`. When the server resolve API
|
||||
explicitly returns `action='unavailable'` for `plugin_release_not_ready` or
|
||||
`plugin_client_incompatible`, Electron Main now preserves the existing typed
|
||||
`plugin_release_unavailable` result instead of mislabeling it as the unrelated
|
||||
frozen-worker `plugin_runtime_stale` error. Exact Release, Account/project, policy,
|
||||
Admission, Provider, confirmation, billing, and child-isolation gates are unchanged.
|
||||
The current installed client still predates this diagnostic correction, and actual
|
||||
usability still requires Works Square to deploy/apply the missing official bundled
|
||||
Release and compatibility migrations; no package, restart, deployment, publication,
|
||||
or paid Provider request occurred.
|
||||
- Web Search frozen-worker stale-Library correction source
|
||||
`3620cdc277fa0a99757c57a549008f9ecd380558` from task
|
||||
`20260901-web-search-stale-resources-8b4e2c71` is integrated onto local `main`
|
||||
|
||||
@@ -1,135 +0,0 @@
|
||||
# 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: 2c5b60ea78e014a712a47bdbb9efd156f52f3a1d
|
||||
- Owner: codex-root
|
||||
- Status: Ready for Integration
|
||||
|
||||
## Scope
|
||||
|
||||
- Diagnose the installed-client `plugin_runtime_stale` failure 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-6f4a2d91`
|
||||
owns this worktree/branch at exact base
|
||||
`2c5b60ea78e014a712a47bdbb9efd156f52f3a1d`; 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-5b9d2e63` remains at base
|
||||
`0a86ec825...` 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_stale`
|
||||
boundary 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 `/resolve` reports 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_stale` results for `makelore_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`, version `1.0.0`, contract v1,
|
||||
exact project/account snapshot, and platform-metered policy are frozen.
|
||||
- The installed `app.asar` is version `1.2.4` and contains the prior
|
||||
`resolveForInvocation` fix, disproving missing installation, stale conversation,
|
||||
missing Agent assignment, and missing prior product code.
|
||||
- Live anonymous Marketplace detail returns `stable_release=null` and
|
||||
`stable_version=null`. The server task history confirms `0077` lists metadata only;
|
||||
`0078` creates the exact bundled stable Release and has not been deployed.
|
||||
- The integrated `0078` migration additionally declares `min_makelore_version=2.0.0`,
|
||||
while the complete compatible runtime is demonstrably present in installed
|
||||
MakeLore `1.2.4`. Once `0078` is deployed this would become the next Admission
|
||||
blocker.
|
||||
- The remaining client-owned defect is diagnostic fidelity: an explicit Marketplace
|
||||
`action=unavailable` result is currently folded into `plugin_runtime_stale` instead
|
||||
of the existing typed `plugin_release_unavailable` failure.
|
||||
|
||||
## Outcome
|
||||
|
||||
- Corrected the hosted Admission boundary so an explicit Marketplace
|
||||
`action='unavailable'` becomes the existing typed
|
||||
`plugin_release_unavailable` failure instead of being folded into the unrelated
|
||||
`plugin_runtime_stale` worker-snapshot error.
|
||||
- Added regressions for both currently reachable unavailable reasons:
|
||||
`plugin_release_not_ready` and `plugin_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 `0078` Release migration
|
||||
followed by the `0079` compatibility correction.
|
||||
|
||||
## Verification
|
||||
|
||||
- Deterministic installed-client evidence: newest Pi session reproduced two
|
||||
`plugin_runtime_stale` Web Search calls; the frozen parent manifest and installed
|
||||
`1.2.4` app 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 `0078` and `0079`, reopen the worker, then verify Provider
|
||||
readiness before performing an explicitly authorized paid Web Search smoke.
|
||||
|
||||
## Promotion Candidates
|
||||
|
||||
- None recorded.
|
||||
@@ -0,0 +1,98 @@
|
||||
# Task: Integrate Web Search unavailable-release diagnostics
|
||||
|
||||
## Identity
|
||||
|
||||
- Task ID: 20260902-web-search-client-integration-a4c8e291
|
||||
- Mode: Integration
|
||||
- Branch: main
|
||||
- Worktree: D:\Datas\OthersProjects\makelore
|
||||
- Base commit: 2c5b60ea78e014a712a47bdbb9efd156f52f3a1d
|
||||
- Owner: codex-root
|
||||
- Status: Ready for Integration
|
||||
|
||||
## Scope
|
||||
|
||||
- Integrate exact source commit `2e093bd22c0a3c46cc08b8eede8c1bc02afd690b`
|
||||
from completed feature task `20260901-web-search-runtime-stale-r2-6f4a2d91`.
|
||||
- Preserve the two pre-existing untracked package task records byte-for-byte and keep
|
||||
all other client product, package, installed application, and runtime state unchanged.
|
||||
- Record the integrated diagnostic boundary in canonical current state and run the
|
||||
source-focused verification plus Integration Documentation Gate.
|
||||
|
||||
## Intent And Constraints
|
||||
|
||||
- The source commit changes only the mapping of an explicit Marketplace
|
||||
`action='unavailable'`: it must surface `plugin_release_unavailable`, not the
|
||||
unrelated `plugin_runtime_stale` snapshot error.
|
||||
- Do not weaken frozen worker, exact Release, Account/project, policy, Admission,
|
||||
Provider, confirmation, or billing checks. Do not install/package/restart the running
|
||||
application, mutate Account/Library/project state, deploy, publish, or invoke a paid
|
||||
Provider.
|
||||
- User authorization to take over the client root while preserving unowned files was
|
||||
applied through `--adopt-existing`; the exact pre-existing files remain outside this
|
||||
task's ownership:
|
||||
`.project-docs/30-worklog/tasks/20260901-package-122-c5e8.md` and
|
||||
`.project-docs/30-worklog/tasks/20260901-package-123-d7f3.md`.
|
||||
- Concurrent Task Gate: PASS. Integration lock and exact root identity are held for
|
||||
task `20260902-web-search-client-integration-a4c8e291` on `main` at base
|
||||
`2c5b60ea78e014a712a47bdbb9efd156f52f3a1d`; no other task owns this worktree.
|
||||
|
||||
## Project Context Loaded
|
||||
|
||||
- Project goal: Electron Main remains the authenticated Marketplace and hosted-Plugin
|
||||
authority; Renderer/Pi receive only closed projections from an exact frozen parent
|
||||
worker.
|
||||
- Current integrated focus: official bundled Game Resource/Web Search already use
|
||||
account acquisition plus server Release Admission without device package download.
|
||||
- Active task scope: integrate one reviewed diagnostic correction and its two-reason
|
||||
regression, then update canonical integrated state.
|
||||
- Active constraints: no silent state advancement; no hot swap; no child inheritance;
|
||||
no client-side bypass of Release, Provider, or Token Point authority.
|
||||
- Decisions affecting this task: ADR-006 single Pi runtime and logical-thread resource
|
||||
ownership; Marketplace Library, project selection, Agent assignment, Admission, and
|
||||
billing remain distinct states.
|
||||
- Evidence/reflections/commitments: the installed `1.2.4` artifact and fresh Pi manifest
|
||||
proved correct tool materialization; live public Marketplace detail proved the server
|
||||
Stable Release was absent. Paid Provider and production deployment remain external.
|
||||
- Files involved: hosted Admission resolver, its focused test, source task record,
|
||||
this integration record, and canonical current state only.
|
||||
- Other active local tasks: many historical isolated feature/review owners remain in
|
||||
the registry, but none owns this root or the changed hosted-Admission files at the
|
||||
current frontier. The completed source feature is the only semantic input.
|
||||
- Unknowns/conflicts: current production Web Search Provider Config/model is not
|
||||
revalidated by this client integration; no semantic conflict or promotion decision
|
||||
is present.
|
||||
- Gate result: Passed.
|
||||
|
||||
## Outcome
|
||||
|
||||
- Cherry-picked the exact completed source as product commit
|
||||
`93e3143e8a427829efc1894317f188868c21803c` on local `main`; source and integrated
|
||||
product trees match for the resolver/test/source-record change.
|
||||
- Canonical current state now records the corrected unavailable-Release diagnostic and
|
||||
keeps the server migration/Provider readiness requirements explicit.
|
||||
- The two pre-existing untracked package records remain present and unmodified. No
|
||||
installed application, project, Account Library, server, package, or external state
|
||||
was changed.
|
||||
|
||||
## Verification
|
||||
|
||||
- Source evidence adopted: focused 3 files / 25 tests, TypeScript typecheck, scoped
|
||||
ESLint, diff gate, and feature task documentation gate passed.
|
||||
- Post-integration rerun on exact `main`: the same 3 files / 25 tests passed;
|
||||
`pnpm exec tsc --noEmit`, scoped ESLint, and `git diff --check` passed.
|
||||
- Integration task-aware document drift and ownership completion are required before
|
||||
closure.
|
||||
|
||||
## Follow-ups
|
||||
|
||||
- Deploy Works Square commits containing migrations `0078` and `0079`, run Alembic to
|
||||
exact `20260901_official_plugin_compat_0079`, and verify Web Search public detail has
|
||||
Stable Release `00000000-0000-4000-8000-000000000204`.
|
||||
- Revalidate the server-owned Web Search Provider Config/model and deployment secret,
|
||||
then reopen the worker. A rebuilt client is needed only to display the improved typed
|
||||
error; reinstalling cannot replace the missing server Release migration.
|
||||
|
||||
## Promotion Candidates
|
||||
|
||||
- None recorded.
|
||||
Reference in New Issue
Block a user