Skip to content

feat: capture native homepage skill shelf demand - #3716

Merged
Patrick-Erichsen merged 1 commit into
codex/claw724-skill-collectionfrom
codex/claw724-homepage-collection
Sep 15, 2026
Merged

Patrick-Erichsen merged 1 commit into
codex/claw724-skill-collectionfrom
codex/claw724-homepage-collection

Conversation

@Patrick-Erichsen

@Patrick-Erichsen Patrick-Erichsen commented Sep 15, 2026 •

Copy link
Copy Markdown
Collaborator

What Problem This Solves

Manual searches on the native homepage New, Featured and Official skill shelves are missing from staff search intelligence.

User Impact

Each settled manual shelf search now contributes one scoped observation with counts from the actual native response. Shelf demand remains separate from full-catalog gaps. Existing ranking, tabs, defaults, badges and public search results are unchanged; Trending still filters its local feed without recording a catalog search.

Why This Change Was Made

The existing native search action owns its returned results and derives shelf scope from its required filters. It now uses the same privacy-preserving observation builder and recorder as HTTP searches. The homepage consumes one ephemeral intent per artifact kind and clears pending intent on navigation, category changes, pagination and clear.

Native Convex actions have no Request abort signal: a completed marked server search can be recorded after browser navigation. Input canceled before dispatch stays uncounted. This does not claim the HTTP path's cancellation behavior.

Evidence

  • Real Chromium baseline: 82 to 82 observations. Candidate: 82 to 85, exactly one each for New, Featured and Official; rendered, response and stored counts match (1, 0, 0). Whitespace edits, view changes and reload add zero.
  • Real additive Convex deployment preserves all 82 old raw rows and exact aggregate state. The shared report places all new rows in skill/shelf scope, does not infer a catalog company opportunity, and aggregation replay processes zero.
  • Regression tests fail before and pass after; 121 focused sibling tests pass. bun run ci:static passes with audit 0; bun run ci:unit passes 6,849 tests with three skips; bun run ci:types-build passes.
  • Frozen Sol high autoreview: no findings, confidence 0.94. Production +51 net lines adds the native capture boundary and shared recording owner; tests +78 net.

Real paired screenshots and the detailed disposable-fixture report are attached in the UI proof comment. This PR builds on #3714.

@clawsweeper

clawsweeper Bot commented Sep 15, 2026 •

Copy link
Copy Markdown
Contributor

🦞👀
ClawSweeper picked this up.

Pull request received. I will update this pull request when review starts.

ClawSweeper review complete

ClawSweeper finished reviewing this revision. The review result is being finalized.

View the workflow run.

@vercel

vercel Bot commented Sep 15, 2026 •

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
clawhub Ready Ready Preview Sep 15, 2026 8:14pm UTC

Request Review

@Patrick-Erichsen Patrick-Erichsen changed the title feat: capture native homepage skill shelf demand once feat: capture native homepage skill shelf demand Sep 15, 2026
@Patrick-Erichsen

Copy link
Copy Markdown
Collaborator Author

ClawHub UI Proof

Status: passed
Mode: before-after
Scenario: native homepage skill shelf demand
Provider: isolated local Convex and real Chromium
Baseline: 023602c8
Candidate: e722a70c
Trigger: authorized-local-proof

Baseline New shelf query Candidate New shelf query
Baseline New shelf query Candidate New shelf query
Baseline Featured shelf query Candidate Featured shelf query
Baseline Featured shelf query Candidate Featured shelf query
Baseline Official shelf query Candidate Official shelf query
Baseline Official shelf query Candidate Official shelf query

Raw proof files: https://github.com/openclaw/clawhub/tree/qa-artifacts/clawhub-ui-proof/pr-3716/native-skill-shelf-demand

@clawsweeper clawsweeper Bot added P2 Normal backlog priority with limited blast radius. proof: sufficient Contributor real behavior proof is sufficient. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. labels Sep 15, 2026
@clawsweeper

clawsweeper Bot commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs changes before merge. Reviewed September 15, 2026, 4:24 PM ET / 20:24 UTC.

ClawSweeper review

What this changes

Record settled searches on the homepage New, Featured, and Official skill shelves in staff search intelligence, using counts from the returned results.

Merge readiness

⛔ Needs changes before merge - 2 items remain

Keep open: current main lacks this homepage capture path, and the open prerequisite explicitly leaves it for follow-up. The runtime implementation has convincing paired browser/backend evidence.

Priority: P2
Reviewed head: e722a70c13186d748745a569a63fb508f4cc8756

Review scores

Measure Result What it means
Overall readiness 🐚 platinum hermit (4/6) A focused implementation with strong integrated proof and one small durable-documentation correction.
Proof confidence 🦞 diamond lobster (5/6) ✨ media proof bonus Sufficient (linked_artifact): The linked real Chromium/local Convex report exercises homepage input through searchNativeSkills and the shared recorder: exactly three new shelf observations match returned counts, old data survives deployment, and aggregation replay adds nothing. Inspected screenshots corroborate the visible results; persistence proof comes from the detailed report.
Patch quality 🐚 platinum hermit (4/6) 1 actionable review finding remain.

Verification

Check Result Evidence
Real behavior Verified Sufficient (linked_artifact): The linked real Chromium/local Convex report exercises homepage input through searchNativeSkills and the shared recorder: exactly three new shelf observations match returned counts, old data survives deployment, and aggregation replay adds nothing. Inspected screenshots corroborate the visible results; persistence proof comes from the detailed report.
Evidence reviewed 8 items Verified introduced scope: The pinned base-to-head delta contains five files, with 139 additions and 10 deletions; production grows by 51 lines and tests by 78. The local checkout matches the supplied original PR head.
Current main still lacks capture: Current main delegates searchNativeSkills directly to its existing search handler without recording observations. Its homepage caller likewise supplies no search-source marker. Release-source inspection was unavailable because a required blob could not be fetched; no shipped implementation is claimed.
Distinct open prerequisite: #3714 remains open at the pinned base commit and explicitly excludes homepage shelf collection from its scope. Live REST reads also confirmed this PR remains open at the reviewed head.
Findings 1 actionable finding [P3] [P3] Update the durable homepage attribution contract
Security None None.

How this fits together

Homepage skill shelves send searches to a native Convex action. The change feeds anonymous, scoped observations into the existing staff search-intelligence store and reports.

flowchart TD
  A[Manual homepage search] --> B[Consume settled search intent]
  B --> C{Selected shelf}
  C -->|Trending| D[Filter existing feed]
  C -->|New Featured Official| E[Native skill search]
  E --> F[Return skill results]
  E --> G[Record bounded shelf observation]
  G --> H[Staff search intelligence]
Loading

Before merge

  • [P3] Update the durable homepage attribution contract (P3) - This introduces marked native skill searches, but specs/plugin-search-intelligence-web.md:13–15 still says homepage skill searches are unmarked. Its cancellation section also describes only the HTTP path. Update the spec to cover New/Featured/Official capture, Trending exclusion, and recording after native server completion despite browser navigation. Otherwise future maintenance follows a contradictory contract; AGENTS.md explicitly requires this intent in specs rather than only PR text.
  • Complete next step (P2) - Update the durable attribution spec to describe native homepage skill shelf capture and distinguish its cancellation semantics from HTTP searches.

Findings

  • [P3] [P3] Update the durable homepage attribution contract — convex/search.ts:607-610
Agent review details

Security

None.

Review metrics

Metric Value Why it matters
Diff size +139/-10 across 5 files The introduced change is bounded to homepage attribution, its shared recorder, and focused tests.
Production versus tests production +51 net; tests +78 net Production growth supplies the native capture boundary while reusing the existing observation owner.

Technical review

Best possible solution:

Keep response-owned shelf attribution and preserve its one-shot intent, scope, and native cancellation semantics in the durable specification.

Do we have a high-confidence way to reproduce the issue?

Not applicable as a new capture capability; the supplied paired browser/backend run nevertheless demonstrates the missing baseline observations and their appearance after the change.

Is this the best way to solve the issue?

Yes: recording at the native response owner preserves the exact shelf results and reuses existing privacy controls; client-computed counts or routing through full-catalog search would weaken those guarantees.

Full review comments:

  • [P3] [P3] Update the durable homepage attribution contract — convex/search.ts:607-610
    This introduces marked native skill searches, but specs/plugin-search-intelligence-web.md:13–15 still says homepage skill searches are unmarked. Its cancellation section also describes only the HTTP path. Update the spec to cover New/Featured/Official capture, Trending exclusion, and recording after native server completion despite browser navigation. Otherwise future maintenance follows a contradictory contract; AGENTS.md explicitly requires this intent in specs rather than only PR text.
    Confidence: 0.96

Overall correctness: patch is correct
Overall confidence: 0.92

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning medium; reviewed against 22cc45be4fc3.

Labels

Label changes:

  • add P2: This is a bounded staff-analytics improvement without evidence of an urgent user-facing outage.
  • add proof: sufficient: Contributor real behavior proof is sufficient. The linked real Chromium/local Convex report exercises homepage input through searchNativeSkills and the shared recorder: exactly three new shelf observations match returned counts, old data survives deployment, and aggregation replay adds nothing. Inspected screenshots corroborate the visible results; persistence proof comes from the detailed report.
  • add rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🦞 diamond lobster and patch quality is 🐚 platinum hermit.
  • add status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Sufficient (linked_artifact): The linked real Chromium/local Convex report exercises homepage input through searchNativeSkills and the shared recorder: exactly three new shelf observations match returned counts, old data survives deployment, and aggregation replay adds nothing. Inspected screenshots corroborate the visible results; persistence proof comes from the detailed report.

Label justifications:

  • P2: This is a bounded staff-analytics improvement without evidence of an urgent user-facing outage.
  • rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🦞 diamond lobster and patch quality is 🐚 platinum hermit.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Sufficient (linked_artifact): The linked real Chromium/local Convex report exercises homepage input through searchNativeSkills and the shared recorder: exactly three new shelf observations match returned counts, old data survives deployment, and aggregation replay adds nothing. Inspected screenshots corroborate the visible results; persistence proof comes from the detailed report.
  • proof: sufficient: Contributor real behavior proof is sufficient. The linked real Chromium/local Convex report exercises homepage input through searchNativeSkills and the shared recorder: exactly three new shelf observations match returned counts, old data survives deployment, and aggregation replay adds nothing. Inspected screenshots corroborate the visible results; persistence proof comes from the detailed report.

Evidence

Acceptance criteria:

  • [P1] git diff --check.
  • [P1] bun run ci:static.

What I checked:

  • Verified introduced scope: The pinned base-to-head delta contains five files, with 139 additions and 10 deletions; production grows by 51 lines and tests by 78. The local checkout matches the supplied original PR head. (e722a70c1318)
  • Current main still lacks capture: Current main delegates searchNativeSkills directly to its existing search handler without recording observations. Its homepage caller likewise supplies no search-source marker. Release-source inspection was unavailable because a required blob could not be fetched; no shipped implementation is claimed. (convex/search.ts:601, 22cc45be4fc3)
  • Distinct open prerequisite: feat: include scoped skill demand in search intelligence #3714 remains open at the pinned base commit and explicitly excludes homepage shelf collection from its scope. Live REST reads also confirmed this PR remains open at the reviewed head. (023602c8dcac)
  • Production capture and privacy boundary: The action records only completed, marked, filtered searches; result and official counts come from the returned entries. The shared helper retains bounded normalization, the internal recorder, and query-free failure logging. No identity, authorization capability, schema, dependency, or permission change is introduced. (convex/search.ts:603, e722a70c1318)
  • Real browser and stored-observation proof: Read the linked report at https://github.com/openclaw/clawhub/blob/qa-artifacts/clawhub-ui-proof/pr-3716/native-skill-shelf-demand/report.md, captured as blob 25b66072adb171317988985b32ac7a0858a3a86a. It identifies baseline 023602c and candidate e722a70, real Chromium with isolated local Convex, baseline 82→82 observations and candidate 82→85, matching displayed/response/stored counts of 1,0,0, preserved old rows and aggregate state, and zero replay processing. Inspected all four prepared New/Featured screenshots; these corroborate visible results, while the report supplies the persistence evidence. (e722a70c1318)
  • Dependency contract checked: The homepage directly invokes ConvexHttpClient.action, and the proof explicitly relies on Convex 1.44.0 having no automatic action retry. npm metadata identifies this dependency repository and npm-packages/convex directory. Inspection of the published 1.44.0 source confirms action performs one fetch without a retry loop; no dependency commit SHA was available. (npm-packages/convex/src/browser/http_client.ts)

Likely related people:

  • vyctorbrzezowski: Suggested for follow-up; no historical authorship or introduction is verified. (role: unverified routing candidate; confidence: low)
  • Patrick-Erichsen: Suggested for follow-up; no historical authorship or introduction is verified. (role: unverified routing candidate; confidence: low)

Rank-up moves

Optional improvements that raise the rating; they are not merge blockers.

  • Update the attribution spec with native shelf scope, excluded interactions, and the native-action cancellation boundary.

Rating scale

Score Internal tier Crab rank Meaning
6/6 S 🦀 challenger crab Exceptional readiness
5/6 A 🦞 diamond lobster Very strong readiness
4/6 B 🐚 platinum hermit Good normal PR; ordinary maintainer review
3/6 C 🦐 gold shrimp Useful, but confidence is limited
2/6 D 🦪 silver shellfish Proof or implementation needs work
1/6 F 🧂 unranked krab Not merge-ready
N/A NA 🌊 off-meta tidepool Rating does not apply

Overall follows the weaker of proof and patch quality.
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics.

Workflow

  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

@Patrick-Erichsen

Copy link
Copy Markdown
Collaborator Author

The durable-contract finding and rank-up move are addressed in the coordinated follow-up #3717, head 2347a08288. Its existing specs/plugin-search-intelligence-web.md now names native Featured/Official/New capture, excludes Trending local filtering and automatic interactions, and distinguishes completed native-action recording from HTTP cancellation. The capture/report/weekly specifications were aligned together so the same rollout has one consistent contract.

The runtime head here remains e722a70c13186d748745a569a63fb508f4cc8756; the reviewed browser/storage proof still applies. The rollout owner is landing these stacked follow-ups together before the combined production deployment.

@Patrick-Erichsen
Patrick-Erichsen added this pull request to stack #3634 September 15, 2026 20:41
@Patrick-Erichsen
Patrick-Erichsen merged commit 0acbcca into main Sep 15, 2026
65 of 71 checks passed

This branch was successfully deployed

1 active deployment
Preview – clawhub — e722a70c Deployed Sep 15, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P2 Normal backlog priority with limited blast radius. proof: sufficient Contributor real behavior proof is sufficient. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant