Skip to content

feat: freeze plugin and skill Featured evidence in weekly digests - #3718

Merged
Patrick-Erichsen merged 2 commits into
codex/claw724-featured-recommendationsfrom
codex/claw724-weekly-featured-evidence
Sep 15, 2026
Merged

Patrick-Erichsen merged 2 commits into
codex/claw724-featured-recommendationsfrom
codex/claw724-weekly-featured-evidence

Conversation

@Patrick-Erichsen

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

Copy link
Copy Markdown
Collaborator

The Monday digest now freezes the same plugin and skill recommendation evidence used by the staff dashboard and API. Each catalog includes bounded opportunities, official gaps, movers, and advisory Featured candidates with counts, periods and freshness. Legacy frozen weeks and deterministic receipt identity remain valid across upgrade.

Part of CLAW-893. Deploy after the recommendation layer. The matching receiver Hermit #44 is already deployed as production version 81; its verified bundle exactly matches production.

Validation: the unified stack at b5a6462c96519589d4bc8c5e4ea847375be4191d passes 6,856 unit tests (3 skipped), static/types/build and package suites. The canonical v2 producer reuses the recommendation getter and preserves the aggregate/classification fence, frozen-week replay and actual legacy payload fixture. Receiver upgrade/restart tests preserve two receipts and unrelated D1 state with zero transport calls. No production digest was posted during validation or dry run; actual Discord create/readback remains unverified and is explicitly deferred.

Production code delta: +487/−262; tests/fixtures +379/−333. Removes the obsolete live v1 builder while retaining frozen v1 replay. Tuesday deployment does not backfill Monday; the existing Monday schedule remains the normal delivery owner. No Featured publication occurs here.

Real persistent Convex producer upgrade proof preserves two legacy weeks across deployment and all four test payloads across restart, with unchanged classifications and unrelated data. Actual fresh production actions build v2 for both catalogs. Provider-unavailable outcomes are real; successful classification fixtures are explicitly local and deterministic. All nine producer/owner source blobs match the unified candidate. Missing delivery credentials stop before fetch, so this proves producer persistence without a Discord post.

@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:43pm UTC

Request Review

@Patrick-Erichsen Patrick-Erichsen changed the title feat: freeze weekly plugin and skill intelligence digests feat: freeze plugin and skill Featured evidence in weekly digests Sep 15, 2026
@Patrick-Erichsen
Patrick-Erichsen force-pushed the codex/claw724-weekly-featured-evidence branch from 5e15835 to a79ab6f Compare September 15, 2026 20:19
@clawsweeper clawsweeper Bot added P2 Normal backlog priority with limited blast radius. merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. 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 maintainer review before merge. Reviewed September 15, 2026, 4:55 PM ET / 20:55 UTC (Revision 2).

ClawSweeper review

What this changes

The PR freezes separate plugin and skill recommendation evidence in weekly digests while preserving previously stored plugin-only payloads.

Merge readiness

Ready for maintainer review

Keep open: the requested capability is absent from current main, and this collaborator-authored PR remains useful. No blocking findings; the new persistent Convex evidence resolves the previous review’s upgrade-proof concern.

Priority: P2
Reviewed head: b5a6462c96519589d4bc8c5e4ea847375be4191d

Review scores

Measure Result What it means
Overall readiness 🐚 platinum hermit (4/6) A focused implementation with meaningful persistent upgrade evidence and no blocking findings.
Proof confidence 🐚 platinum hermit (4/6) ✨ media proof bonus Sufficient (linked_artifact): The inspected persistent local Convex transcript exercises the matching production deliverInternal and fenced save path: fresh plugin/skill v2 payloads persist, legacy weeks replay unchanged, and restart preserves payloads and classifications. This satisfies the prior producer-upgrade request; successful LLM classification and actual Discord delivery remain outside the demonstrated scope.
Patch quality 🐚 platinum hermit (4/6) No actionable review findings were identified.

Verification

Check Result Evidence
Real behavior Verified Sufficient (linked_artifact): The inspected persistent local Convex transcript exercises the matching production deliverInternal and fenced save path: fresh plugin/skill v2 payloads persist, legacy weeks replay unchanged, and restart preserves payloads and classifications. This satisfies the prior producer-upgrade request; successful LLM classification and actual Discord delivery remain outside the demonstrated scope.
Evidence reviewed 8 items Introduced scope: The pinned merge-base-to-head comparison contains 11 files, with production +487/−262 and tests/fixtures +379/−333. The producer reuses the recommendation owner rather than introducing another ranking implementation.
Legacy compatibility and bounded projection: The persisted validator accepts both payload versions; existing frozen payloads bypass rebuilding. The new projection retains query scope, suppresses rare query text, preserves recommendation ordering, and enforces a 30,000-byte budget.
Previous upgrade-proof request resolved: Inspected the linked report, transcript and state snapshots at https://github.com/openclaw/clawhub/tree/qa-artifacts/clawhub-producer-proof/pr-3718/20260915-ledger-upgrade. Two legacy payloads remain unchanged across deployment; all four payloads, classifications and an unrelated user survive restart. Actual deliverInternal builds v2 with four searches in each catalog. The summary response SHA-256 is 13307ca068d84f2e82b9286ea64bd4bc74ef3bcfdc9076df468409dcc0906853; all nine recorded candidate source blobs match the reviewed head. Successful classifications are deterministic fixtures; provider-unavailable results are real, and missing delivery credentials stop before fetch.
Findings None None.
Security None None.

How this fits together

ClawHub combines search aggregates and existing adoption rankings into advisory recommendations for staff. Its weekly producer freezes that evidence in Convex and sends it to Hermit for Discord delivery.

flowchart TD
  A[Search aggregates] --> C[Shared recommendation report]
  B[Adoption rankings] --> C
  C --> D[Weekly producer]
  D --> E[Bounded frozen Convex payload]
  E --> F[Authenticated Hermit receiver]
  F --> G[Staff Discord digest]
Loading

Before merge

None.

Agent review details

Security

None.

Review metrics

Metric Value Why it matters
Diff size +866/−595 across 11 files The change is confined to weekly production, payload contracts and their validation.
Production versus tests Production +487/−262; tests/fixtures +379/−333 Production growth supports two-catalog evidence while removing the obsolete live v1 builder.
Persistent upgrade proof 2 legacy weeks preserved; 4 payloads survive restart; 9 source blobs match These observations directly address the previous review’s stored-payload compatibility concern.

Technical review

Best possible solution:

Keep one shared recommendation owner, immutable versioned weekly payloads, and the documented receiver-first coordinated rollout.

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

Not applicable as a bug reproduction: this adds weekly evidence reporting, and the supplied persistent Convex run demonstrates fresh v2 creation and legacy replay.

Is this the best way to solve the issue?

Yes: projecting the shared recommendation report into a bounded, versioned payload avoids a competing ranking implementation and preserves existing stored weeks.

AGENTS.md: found and applied where relevant.

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

Labels

Label changes:

  • add proof: sufficient: Contributor real behavior proof is sufficient. The inspected persistent local Convex transcript exercises the matching production deliverInternal and fenced save path: fresh plugin/skill v2 payloads persist, legacy weeks replay unchanged, and restart preserves payloads and classifications. This satisfies the prior producer-upgrade request; successful LLM classification and actual Discord delivery remain outside the demonstrated scope.
  • remove merge-risk: 🚨 compatibility: Current PR review selected no merge-risk labels.

Label justifications:

  • P2: This is a bounded staff reporting improvement with no demonstrated urgent user-facing regression.
  • rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🐚 platinum hermit 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 inspected persistent local Convex transcript exercises the matching production deliverInternal and fenced save path: fresh plugin/skill v2 payloads persist, legacy weeks replay unchanged, and restart preserves payloads and classifications. This satisfies the prior producer-upgrade request; successful LLM classification and actual Discord delivery remain outside the demonstrated scope.
  • proof: sufficient: Contributor real behavior proof is sufficient. The inspected persistent local Convex transcript exercises the matching production deliverInternal and fenced save path: fresh plugin/skill v2 payloads persist, legacy weeks replay unchanged, and restart preserves payloads and classifications. This satisfies the prior producer-upgrade request; successful LLM classification and actual Discord delivery remain outside the demonstrated scope.

Evidence

What I checked:

  • Introduced scope: The pinned merge-base-to-head comparison contains 11 files, with production +487/−262 and tests/fixtures +379/−333. The producer reuses the recommendation owner rather than introducing another ranking implementation. (convex/searchWeeklyDigest.ts:282, b5a6462c9651)
  • Legacy compatibility and bounded projection: The persisted validator accepts both payload versions; existing frozen payloads bypass rebuilding. The new projection retains query scope, suppresses rare query text, preserves recommendation ordering, and enforces a 30,000-byte budget. (convex/lib/searchDigestContract.ts:157, b5a6462c9651)
  • Previous upgrade-proof request resolved: Inspected the linked report, transcript and state snapshots at https://github.com/openclaw/clawhub/tree/qa-artifacts/clawhub-producer-proof/pr-3718/20260915-ledger-upgrade. Two legacy payloads remain unchanged across deployment; all four payloads, classifications and an unrelated user survive restart. Actual deliverInternal builds v2 with four searches in each catalog. The summary response SHA-256 is 13307ca068d84f2e82b9286ea64bd4bc74ef3bcfdc9076df468409dcc0906853; all nine recorded candidate source blobs match the reviewed head. Successful classifications are deterministic fixtures; provider-unavailable results are real, and missing delivery credentials stop before fetch. (clawhub-producer-proof/pr-3718/20260915-ledger-upgrade/summary.json, 22cc45be4fc3)
  • Affirmative receiver dependency: The delivery owner posts the frozen payload to Hermit’s weekly endpoint. The specification requires receiver-first deployment, unchanged legacy replay and coordinated collection/recommendation/sender rollout. (convex/lib/searchDigestDelivery.ts:10, b5a6462c9651)
  • Merged receiver contract: GitHub verifies feat: show plugin and skill evidence in weekly intelligence hermit#44 merged at this SHA. Inspected its v2 validator, legacy validator, authenticated handler and renderer: they support separate catalogs, scoped evidence and legacy fallback. Its production-version-81 deployment is reported in the PR; actual Discord create/readback and ambiguous-send recovery remain explicitly unverified. (src/clawhubSearchIntelligence/evidence.ts, 2b63770ff180)
  • Current-main and release necessity check: Current main has no weekly intelligence producer or either digest payload kind. The weekly producer path is also absent from v0.23.3. The open collection and recommendation PRs are prerequisites, not merged replacements; the supplied ClawHub file-viewer reference is unrelated to the actual Hermit receiver. (22cc45be4fc3)

Likely related people:

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

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.

History

Review history (1 earlier review cycle)
  • reviewed 2026-09-15T20:27:34.353Z sha a79ab6f :: blocked before merge. :: none

@Patrick-Erichsen

Copy link
Copy Markdown
Collaborator Author

The v2 producer now has an explicit JSON-wire regression for the same notion query under catalog, shelf, and legacy scopes, with different counts. Official-gap rows, mover rows, and recommendation query evidence retain all three scopes; company opportunities contain only catalog-wide demand. Commit 27d1a247b64f0a633678881c4895e0746382cf6b; all five builder tests and required static checks pass.

This addresses the intermediate v1 scope-loss risk noted on #3714; the follow-up collection/recommendation/v2-producer changes will deploy together. Real Convex frozen-v1/new-v2 upgrade evidence is being collected before merge. Actual Discord sending remains outside the user-authorized dry run and is not claimed as verified.

@Patrick-Erichsen
Patrick-Erichsen removed this pull request from stack #3719 September 15, 2026 20:38
@Patrick-Erichsen

Copy link
Copy Markdown
Collaborator Author

ClawHub UI Proof

Status: passed
Mode: before-after
Scenario: weekly-producer-persistent-ledger-upgrade-and-replay
Provider: real-local-convex-no-provider-or-delivery-credentials
Baseline: cdf4be4b735bd24980fa8874e756b2c51e87820b
Candidate: 27d1a247b64f0a633678881c4895e0746382cf6b
Trigger: CLAW-893 real producer upgrade assurance

Raw proof files: https://github.com/openclaw/clawhub/tree/qa-artifacts/clawhub-producer-proof/pr-3718/20260915-ledger-upgrade

@Patrick-Erichsen

Copy link
Copy Markdown
Collaborator Author

The requested real Convex producer upgrade check is now complete. Report and reproducible harness · Redacted transcript, state snapshots, hashes and exact source blobs.

A disposable persistent Convex store ran the original producer at cdf4be4b735bd24980fa8874e756b2c51e87820b, then candidate 27d1a247b64f0a633678881c4895e0746382cf6b, and then restarted. Actual deliverInternal built a legacy week and a fresh v2 week (four plugin searches and four skill searches), and replayed a populated legacy payload unchanged after deployment. Restart/readback preserved all four frozen payloads, legacy classification rows, distinct plugin/skill classification rows and an unrelated user sentinel. This addresses the producer-ledger compatibility risk and the redacted-transcript rank-up request in the latest review.

Proof boundaries are explicit: observations are synthetic; successful classifier rows use deterministic fixtures through the real fenced claim/save mutation. The complete actual new-week action persisted separate catalog runs with missing_provider_configuration. Both delivery credentials were absent, so every actual deliver action recorded missing_hermit_configuration before any fetch. No production data, Featured selection or Discord message was changed.

Actual Discord permissions/create/readback and ambiguous-send recovery remain unverified. Those live sends are deferred under the user's instruction that this rollout's first dry run must not post a digest; this producer proof does not claim to close that separate delivery gap. Existing receiver D1/handler evidence remains complementary. No new review request is needed for this added evidence.

@clawsweeper clawsweeper Bot added proof: sufficient Contributor real behavior proof is sufficient. and removed merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. labels Sep 15, 2026
@Patrick-Erichsen
Patrick-Erichsen merged commit 13f6c44 into main Sep 15, 2026
51 of 60 checks passed
@Patrick-Erichsen
Patrick-Erichsen deleted the codex/claw724-weekly-featured-evidence branch September 15, 2026 21:04
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