5.8 KiB
5.8 KiB
Task: Implement MLW-01 shared hosted admission resolver
Identity
- Task ID: 20260901-web-search-mlw01-admission-b7d5f3a2
- Mode: Feature
- Branch: codex/20260901-web-search-mlw01-admission-b7d5f3a2-web-search-mlw01-admission
- Worktree: D:\Datas\OthersProjects\makelore-web-search-mlw01-admission-b7d5f3a2
- Base commit:
c4db68767f - Owner: web-search-mlw01-implementer
- Status: Ready for Integration
Scope
- Implement MLW-01 shared hosted admission resolution from the exact client
frontier
c4db68767fcd1916e4441ab0e2c2504210f75e83. - Add
electron/coding-plugins/hosted-admission.tsas the single shared, provider-neutral resolver. It validates a trusted worker snapshot against the Package Store, MakeLore version, Marketplace channel resolution and the current account admission, returning only exactreleaseIdandreleaseAdmissionIdor a typed failure. - Refactor only the admission portion of
electron/coding-plugins/adapters/game-resource.tsto consume the helper; preserve its existing provider, payload, confirmation, replay, and result behavior. - Add seam tests in
tests/unit/hosted-admission.test.tsand the relevant admission regression coverage intests/unit/game-resource-plugin-adapter.test.ts. - Do not implement Web Search client/adapter, composition, Renderer, Pi worker, Package Store/effective resolver, Server, or MLW-02/MLW-03 work.
Intent And Constraints
- Project Context Loaded: client AGENTS.md, the complete
maintain-project-docsskill, TDD and implement-spec instructions, required project-memory entry points, the MLW-01 implementation ticket, and the reviewed Web Search design/implementation sections were read before coding. - Concurrent Task Gate: Passed. Task-context owner, isolated worktree, branch, owner, mode, and exact base match; the client coordinator and user root worktrees remain untouched.
- Planning Gate: Passed. The prior broad Web Search feature/coordinator
records were inspected read-only. Their old
0a86ec8...base and broad coordination scope overlap by topic, but the current coordinator explicitly owns this isolated MLW-01 ticket from the frozen DTO frontier; no unresolved semantic conflict remains. - The helper accepts only code-owned plugin identity, trusted worker snapshot, Package Store, Marketplace client, and MakeLore version. It does not accept provider/config, payload, billing, or HTTP-route inputs and sends no business request of its own.
- Use TDD red -> green vertical slices and public seams. Every source change
stays within the five product/test paths above plus this task record. One
source commit with this task record included, clean worktree, and
READY_FOR_INTEGRATIONhandoff are required. No push, PR, deploy, publish, or real Provider call. - Project Context Loaded:
- Task ID:
20260901-web-search-mlw01-admission-b7d5f3a2 - Mode: Feature
- Branch:
codex/20260901-web-search-mlw01-admission-b7d5f3a2-web-search-mlw01-admission - Worktree:
D:\Datas\OthersProjects\makelore-web-search-mlw01-admission-b7d5f3a2 - Base commit:
c4db68767fcd1916e4441ab0e2c2504210f75e83 - Other active local tasks: old Web Search feature/coordinator records and unrelated historical review records; no other task owns the files in this ticket.
- Overlap assessment: topic overlap with the old Web Search coordinator is resolved by current ticket ownership and exact-base isolation; no code-path or semantic overlap is left within this ticket's owned files.
- Task ID:
- Planned slices: (1) resolver contract and mismatch tests; (2) minimal resolver implementation; (3) Game Resource seam migration and regression; (4) focused/adjacent/typecheck/lint/doc gates; (5) one source commit and clean handoff.
Outcome
- Implemented the provider-neutral
MarketplaceHostedAdmissionResolverand migrated Game Resource's admission seam to use it. A worker must carry a frozen release; the resolver reads that exact installed release, resolves the current account admission through the selected channel, and returns only the exact release/admission IDs. Release, channel, action, digest, size, request, and account mismatches fail with typed bounded errors. No current-release fallback, provider/config, payload, billing, HTTP, Web Search, or renderer behavior was added. - The Game Resource adapter preserves its existing client and tool behavior, while missing or stale hosted admission now fails closed through the shared resolver. The only product/test paths changed are the five paths listed in Scope; this task record is the sole project-doc change.
Verification
- TDD red: the new resolver suite initially collected zero tests because the new module was absent (expected module-not-found); no product module existed before the red checkpoint.
- TDD green: hosted-admission and Game Resource admission suites passed 12/12.
pnpm run typecheckpassed.- Adjacent coding-plugin/Game Resource suite passed 74/74 across 6 files.
- Full
pnpm testpassed: 212 files, 1,728 tests, 2 skipped; pressure suite passed 1/1.pnpm run lint:checkpassed with 0 errors and 5 pre-existing warnings outside this task (Homehook dependency andMakelorefast-refresh exports). Owned-file ESLint and compile checks passed. - Worktree diff/doc gates are being finalized before the single source commit; no real provider call, publish, deployment, or production activation was attempted.
Follow-ups
- Coordinator must cherry-pick the single source commit from this exact base, then run its repository-local integration and fixed-range review gates.
- Real PostgreSQL, live OpenAI, official signing-key, provider-secret, and production-activation gates remain outside this client ticket and HOLD as specified by the parent Web Search rollout.
Promotion Candidates
- None recorded.