From 4de3feefe451dc34dc46b323e2ea5e0b4e4840e8 Mon Sep 17 00:00:00 2001 From: brother7 <7brother7@gmail.com> Date: Tue, 1 Sep 2026 03:55:34 +0800 Subject: [PATCH] docs(web-search): record client remediation integration --- ...-web-search-client-integration-7d2f5b94.md | 11 +- ...earch-rev01-client-remediation-e4a7c9b2.md | 105 ------------------ 2 files changed, 10 insertions(+), 106 deletions(-) delete mode 100644 .project-docs/30-worklog/tasks/20260901-web-search-rev01-client-remediation-e4a7c9b2.md diff --git a/.project-docs/30-worklog/tasks/20260831-web-search-client-integration-7d2f5b94.md b/.project-docs/30-worklog/tasks/20260831-web-search-client-integration-7d2f5b94.md index 980e090..94d1110 100644 --- a/.project-docs/30-worklog/tasks/20260831-web-search-client-integration-7d2f5b94.md +++ b/.project-docs/30-worklog/tasks/20260831-web-search-client-integration-7d2f5b94.md @@ -43,6 +43,14 @@ - Product commit: `60e6a8eeb35431b0f1fb569af4d1502683f16317`; source and product trees are exact-equal at `d570c40f2ad315c8a314f831fb4337300ae28fc2` before this Integration Documentation Gate removes the duplicate foreign task record. - Delivered production composition registration, the dynamic Web Search parent/child/current-authority proof, a generic closed billing-status timeline projection, package-main-reachable route/receipt proof with Provider-authority exclusion, and current README documentation. No Web Search payload-specific Renderer or static tool allowlist was added. - The clean source branch retains its complete task record. This coordinator checkpoint removes only the duplicate cherry-picked copy and records the accepted facts in canonical project memory. +- REV-01 fixed-range review over `0a86ec825a5803bf7e037d3b23c39be23238c43d...4a1e5d31213191a0102eab9278dd9887ba8738f4` completed with Standards PASS and four actionable Spec findings confined to the `WebSearchClient` response boundary. + - Standards task `20260901-web-search-rev01-client-standards-c3e9a6f4` reported zero documented-standard or Fowler-smell findings. + - Spec task `20260901-web-search-rev01-client-spec-d4f1b7a5` identified status-first 429 handling, streamed response bounding, closed response-state/billing invariants, and absolute HTTP(S) no-userinfo source URL validation. +- The sole client remediation task `20260901-web-search-rev01-client-remediation-e4a7c9b2` was integrated from exact frontier `4a1e5d31213191a0102eab9278dd9887ba8738f4`. + - Source commit: `7dcfc9b0a951fd96c3d283c9cb0f2118f922c41a` (sole parent `4a1e5d31213191a0102eab9278dd9887ba8738f4`). + - Product commit: `49de82c4860fd0b377070279b6411237dc6b9564`; source and product trees are exact-equal at `d40e90619406b822485ef2729e373fc4587a42d1` before this Integration Documentation Gate removes the duplicate foreign task record. + - The remediation is limited to `electron/services/web-search-client.ts` and its focused tests. It makes HTTP 429 non-retryable from status before bounded body parsing, enforces a true streamed 1 MiB bound, closes result/billing/error combinations, and accepts only bounded absolute HTTP(S) source URLs without userinfo. + - The clean source branch retains its complete task record. This coordinator checkpoint removes only its cherry-picked duplicate and advances the frontier for fresh fixed-range review. ## Verification @@ -57,10 +65,11 @@ - MLW-03 TDD started with four exact focused failures and finished with 4 files / 40 tests passed; the adjacent Web Search/admission/composition/lifecycle/Pi/timeline/artifact suite passed 10 files / 82 tests. - MLW-03 full unit suite passed 214 files / 1,751 tests with two staged-runtime skips; pressure passed 1/1. Typecheck, scoped lint, full lint (zero errors and the unchanged five warnings), Vite builds, Electron Windows 6/6, and target Marketplace/Project Plugins/Skill E2E 4/4 passed. - Clean source HEAD Windows packaging and verification passed. `verify:artifact:win` embedded exact commit `52f6a0b148403c822a09880467f81416a181b259`; installer size was 208,252,221 bytes with SHA-256 `2D027DB5BE00336F1EB45D882519F971EB791014A1930C5FBED93FE6B15B6303`. `verify:artifact:pi` passed the real app.asar Web Search route/receipt/provider-authority proof; inherited Pi cross-platform/real-provider waivers remain unchanged. +- Client remediation TDD recorded eight exact red cases and finished with `16/16` focused tests; adjacent response/admission tests passed `27/27`. The full unit suite passed `1,759` tests with two staged-runtime skips and pressure passed `1/1`; typecheck passed and lint reported zero errors plus the unchanged five warnings. Source diff, documentation, sole-parent, clean-worktree, and `READY_FOR_INTEGRATION` gates passed. ## Follow-ups -- Run fixed-range Standards and Spec review from client base `0a86ec825a5803bf7e037d3b23c39be23238c43d` through the clean post-MLW-03 documentation frontier; use one remediation owner only if either axis reports an actionable finding. +- Run fresh fixed-range Standards and Spec review from client base `0a86ec825a5803bf7e037d3b23c39be23238c43d` through the clean post-remediation documentation frontier. XWS-01 remains closed until both fresh axes and both repositories pass. - Keep real PostgreSQL, the live paid OpenAI XWS-01 group, and production activation closed pending their explicit external inputs and user authorization. ## Promotion Candidates diff --git a/.project-docs/30-worklog/tasks/20260901-web-search-rev01-client-remediation-e4a7c9b2.md b/.project-docs/30-worklog/tasks/20260901-web-search-rev01-client-remediation-e4a7c9b2.md deleted file mode 100644 index f6de240..0000000 --- a/.project-docs/30-worklog/tasks/20260901-web-search-rev01-client-remediation-e4a7c9b2.md +++ /dev/null @@ -1,105 +0,0 @@ -# Task: REV-01 Client WebSearchClient remediation - -## Identity - -- Task ID: 20260901-web-search-rev01-client-remediation-e4a7c9b2 -- Mode: Feature -- Branch: codex/20260901-web-search-rev01-client-remediation-e4a7c9b2-web-search-rev01-client-remediation -- Worktree: D:\Datas\OthersProjects\makelore-web-search-rev01-client-remediation-e4a7c9b2 -- Base commit: 4a1e5d31213191a0102eab9278dd9887ba8738f4 -- Owner: web-search-rev01-client-remediation -- Status: Ready for Integration - -## Scope - -- Remediate the four accepted REV-01 Client Spec-axis findings from the exact - coordinator frontier `4a1e5d31213191a0102eab9278dd9887ba8738f4`. -- Ownership is limited to `electron/services/web-search-client.ts`, its - focused Web Search client tests, and this task record. No Server, - composition, Pi, Package Store, Renderer, or shared product-scope changes. -- Preserve the fixed typed route, trusted admission, same logical-operation - replay, closed capability envelope, and external PostgreSQL/live OpenAI/ - production-activation holds. - -## Intent And Constraints - -- Project Context Loaded: - - Task ID: `20260901-web-search-rev01-client-remediation-e4a7c9b2` - - Mode: Feature - - Branch: `codex/20260901-web-search-rev01-client-remediation-e4a7c9b2-web-search-rev01-client-remediation` - - Worktree: `D:\Datas\OthersProjects\makelore-web-search-rev01-client-remediation-e4a7c9b2` - - Base commit: `4a1e5d31213191a0102eab9278dd9887ba8738f4` - - Other active local tasks: client coordinator, MLW-01/02/03 source tasks, - and the read-only REV-01 client/server review tasks. Their records were - inspected for scope; no product writer overlaps this remediation. - - Overlap/semantic assessment: the four findings are confined to the - WebSearchClient response boundary and have one authorized owner. No - semantic conflict with server DTO, composition, or Package Store scope. -- Read: client `AGENTS.md`; complete `maintain-project-docs`, `implement-spec`, - and `tdd` skills; project entry files; client architecture/domain/decision, - evidence/reflection/commitment/stale indexes; the Web Search design and - implementation Spec; REV-01 client Spec and Standards task records. -- Concurrent Task Gate: Passed. `check_project_docs.py` passed; task_context - created the isolated worktree and `status --json` matches this task ID, - owner, worktree, branch, and exact base. -- Planning Gate: Passed. The fixed client review identified exactly four - actionable response-boundary findings; the current plan remains within the - accepted ownership and does not alter the frozen contract. -- Implementation plan: - 1. Add public-seam tests that fail for status/body precedence, streamed - response bounds, closed status/receipt/result pairings, and source URL - validation. - 2. Make the smallest WebSearchClient changes to pass each red test: status - first with bounded Retry-After, chunked streaming cap, closed receipt and - result invariants, and absolute HTTP(S) URL validation without userinfo. - 3. Run focused and adjacent tests, typecheck, lint, diff/doc gates; then - update this record and create one source commit only after a clean handoff. - -## Outcome - -- Implemented the four accepted WebSearchClient response-boundary fixes: - HTTP-status-first 429 handling with bounded Retry-After, a true streamed - response cap, closed search/billing/error pairings, and safe bounded source - URLs. No file outside the owned client service/test/task-record scope was - changed. - -## Verification - -- Concurrent/Planning gates passed. -- TDD RED: the new focused suite exposed 8 failures in 16 tests for unsafe - URLs, 429 body precedence, chunked buffering, malformed receipts/pairings, - and the now-invalid failed-without-error fixture. -- TDD GREEN: `pnpm exec vitest run tests/unit/web-search-client.test.ts` - passed 16/16. -- Adjacent: `pnpm exec vitest run tests/unit/web-search-client.test.ts - tests/unit/web-search-plugin-adapter.test.ts` passed 27/27. -- `pnpm run typecheck` passed; owned-file ESLint passed with zero errors. -- Full `pnpm test` passed: 214 files, 1,759 tests passed, 2 skipped; the - pressure suite passed 1/1. Full `pnpm run lint:check` passed with zero - errors and five pre-existing warnings outside this task's ownership. -- Task-aware doc drift and source diff checks passed; the final source commit - and clean `task_context` handoff are recorded below. - -## Handoff - -- Source commit: the final task `HEAD` handed off to the coordinator; its - sole parent is the exact coordinator frontier - `4a1e5d31213191a0102eab9278dd9887ba8738f4`. -- `task_context complete` passed with `READY_FOR_INTEGRATION`; this source - commit is the sole integration candidate. - -## Follow-ups - -- Coordinator must integrate only the final source commit and trigger a fresh - fixed-range Standards/Spec review. - -## Promotion Candidates - -- Target: client integration coordinator and fresh REV-01 review checkpoint. - Proposal: preserve HTTP-status-first semantics, enforce a real 1 MiB stream - cap, reject incoherent closed receipts/results, and reject unsafe source URLs. - Evidence: REV-01 Client Spec findings and new public-seam regressions. - Future impact: prevents malformed responses from overriding server status, - unbounded chunked buffering, ungrounded success results, or provider URL - leakage. Semantic conflicts: none; human confirmation: not required for this - in-scope remediation.