Skip to content

fix: send owner-qualified install telemetry#102377

Merged
Patrick-Erichsen merged 1 commit into
mainfrom
pe/fix-clawhub-install-telemetry-owner
Jul 9, 2026
Merged

fix: send owner-qualified install telemetry#102377
Patrick-Erichsen merged 1 commit into
mainfrom
pe/fix-clawhub-install-telemetry-owner

Conversation

@Patrick-Erichsen

Copy link
Copy Markdown
Contributor

Summary

  • replace the legacy whole-lock telemetry snapshot with one canonical install event after a successful ClawHub skill install
  • include the parsed ownerHandle alongside the skill slug and resolved version or GitHub commit
  • preserve best-effort telemetry behavior so reporting failures never fail the local install

Companion backend/schema fix: openclaw/clawhub#3024

Related production failure: Sentry issue 7601180865.

Validation

  • node scripts/run-vitest.mjs src/skills/lifecycle/clawhub.test.ts src/cli/skills-cli.clawhub-install.e2e.test.ts
  • node scripts/run-oxlint.mjs src/infra/clawhub.ts src/skills/lifecycle/clawhub.ts src/skills/lifecycle/clawhub.test.ts src/cli/skills-cli.clawhub-install.e2e.test.ts
  • ./node_modules/.bin/oxfmt --check --threads=1 src/infra/clawhub.ts src/skills/lifecycle/clawhub.ts src/skills/lifecycle/clawhub.test.ts src/cli/skills-cli.clawhub-install.e2e.test.ts
  • structured autoreview: clean

@clawsweeper

clawsweeper Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs real behavior proof before merge. Reviewed July 8, 2026, 11:11 PM ET / 03:11 UTC.

Summary
The branch changes ClawHub skill install telemetry to send one install event with slug, optional ownerHandle, and version after a successful skill install, with tests updated for owner-qualified installs.

PR surface: Source -36, Tests -6. Total -42 across 4 files.

Reproducibility: yes. Source inspection of current main shows install telemetry is built from the legacy lockfile snapshot and omits ownerHandle, while the PR's E2E path exercises an owner-qualified install and inspects the posted body.

Review metrics: 1 noteworthy metric.

  • Telemetry request contract: 1 changed. The PR replaces the legacy install roots snapshot with one current install event containing optional ownerHandle, which needs companion backend compatibility before merge.

Merge readiness
Overall: 🦪 silver shellfish
Proof: 🦪 silver shellfish
Patch quality: 🐚 platinum hermit
Result: blocked until real behavior proof from a real setup is added.

Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch.

Rank-up moves:

  • [P1] Add redacted terminal output, logs, or an artifact from a real owner-qualified OpenClaw skill install showing telemetry accepted by ClawHub.
  • Confirm the companion ClawHub telemetry schema PR is merged and deployed before merging this client change.

Proof guidance:

  • [P1] Needs real behavior proof before merge: The PR body provides Vitest, lint, formatter, and autoreview commands, but no redacted live output, logs, recording, or artifact from a real ClawHub/OpenClaw install showing the new telemetry accepted; the contributor should add proof and redact private data before merge. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.

Risk before merge

  • [P1] Cross-repo deployment order matters: if this OpenClaw client change lands before fix: resolve owner-scoped install telemetry clawhub#3024 is merged and deployed, best-effort telemetry failures will be swallowed and owner-qualified install events may be dropped.
  • [P1] The PR body lists tests, lint, formatting, and autoreview, but it does not include redacted after-fix output from a real ClawHub/OpenClaw install showing the new owner-qualified telemetry accepted.

Maintainer options:

  1. Deploy ClawHub schema before client merge (recommended)
    Merge and deploy the companion ClawHub ownerHandle telemetry schema first, then merge this PR with one redacted real install proof artifact.
  2. Own a telemetry gap window
    Merge the client first only if maintainers accept a temporary period where install telemetry can fail best-effort and be dropped.
  3. Pause until cross-repo readiness is clear
    Keep this PR open while the companion backend PR, deployment, or proof path is unresolved.

Next step before merge

  • [P1] Manual review is appropriate because the remaining blockers are cross-repo ClawHub deployment ordering and real behavior proof, not a concrete code repair.

Maintainer decision needed

  • Question: Should this client PR wait for the companion ClawHub telemetry schema PR to merge and deploy before this PR is merged?
  • Rationale: The code direction is narrow and tested, but the observable runtime result depends on a cross-repo backend schema accepting ownerHandle; CI in this repository cannot prove that deployment ordering.
  • Likely owner: steipete — steipete is the visible merger for the current-main ClawHub install surface and is the best available routing owner for cross-repo merge-risk acceptance.
  • Options:
    • Land backend first (recommended): Merge and deploy fix: resolve owner-scoped install telemetry clawhub#3024, then merge this PR with redacted install telemetry proof from the deployed path.
    • Accept temporary telemetry loss: Maintainers may merge this first if they explicitly accept that telemetry can be dropped until ClawHub accepts the new payload shape.
    • Pause this PR: Hold this PR open if the companion backend schema direction or deployment timing is not ready.

Security
Cleared: No concrete security or supply-chain regression was found; the diff changes a best-effort authenticated telemetry payload and tests, with no dependency, workflow, secret, or package-resolution changes.

Review details

Best possible solution:

Merge after openclaw/clawhub#3024 is deployed and a redacted real install proves owner-qualified telemetry is accepted without affecting the local install flow.

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

Yes. Source inspection of current main shows install telemetry is built from the legacy lockfile snapshot and omits ownerHandle, while the PR's E2E path exercises an owner-qualified install and inspects the posted body.

Is this the best way to solve the issue?

Yes for code direction. Sending one canonical install event from the existing parsed owner-qualified install path is narrower than reporting the whole lockfile, but the merge should wait for backend schema deployment and real behavior proof.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning high; reviewed against f77c2aafa095.

Label changes

Label changes:

  • add P2: This is a focused telemetry correctness fix for ClawHub skill installs with limited user-facing blast radius because install failures from telemetry remain best-effort.
  • add merge-risk: 🚨 other: Merging can create a cross-repo deployment-order gap where the OpenClaw client emits a telemetry payload that the currently deployed ClawHub backend may not accept.
  • add rating: 🦪 silver shellfish: Overall readiness is 🦪 silver shellfish; proof is 🦪 silver shellfish and patch quality is 🐚 platinum hermit.
  • add status: 📣 needs proof: The PR needs real behavior proof before ClawSweeper can clear the contributor ask. Needs real behavior proof before merge: The PR body provides Vitest, lint, formatter, and autoreview commands, but no redacted live output, logs, recording, or artifact from a real ClawHub/OpenClaw install showing the new telemetry accepted; the contributor should add proof and redact private data before merge. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.

Label justifications:

  • P2: This is a focused telemetry correctness fix for ClawHub skill installs with limited user-facing blast radius because install failures from telemetry remain best-effort.
  • merge-risk: 🚨 other: Merging can create a cross-repo deployment-order gap where the OpenClaw client emits a telemetry payload that the currently deployed ClawHub backend may not accept.
  • rating: 🦪 silver shellfish: Overall readiness is 🦪 silver shellfish; proof is 🦪 silver shellfish and patch quality is 🐚 platinum hermit.
  • status: 📣 needs proof: The PR needs real behavior proof before ClawSweeper can clear the contributor ask. Needs real behavior proof before merge: The PR body provides Vitest, lint, formatter, and autoreview commands, but no redacted live output, logs, recording, or artifact from a real ClawHub/OpenClaw install showing the new telemetry accepted; the contributor should add proof and redact private data before merge. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.
Evidence reviewed

PR surface:

Source -36, Tests -6. Total -42 across 4 files.

View PR surface stats
Area Files Added Removed Net
Source 2 14 50 -36
Tests 2 28 34 -6
Docs 0 0 0 0
Config 0 0 0 0
Generated 0 0 0 0
Other 0 0 0 0
Total 4 42 84 -42

What I checked:

  • Repository policy read: Root AGENTS.md was read fully; its read-beyond-diff, proof, protected-label, and merge-risk guidance affected this PR review. (AGENTS.md:1, f77c2aafa095)
  • Current main telemetry payload: Current main reportClawHubSkillInstallTelemetry accepts root plus skills and posts a legacy roots payload to /api/cli/telemetry/install, with no ownerHandle field. (src/infra/clawhub.ts:1619, f77c2aafa095)
  • Current main caller drops owner identity: Current main builds telemetry from the whole lockfile and passes root plus buildInstallTelemetrySkills(lock.skills), whose helper omits ownerHandle even when the lock entry has one. (src/skills/lifecycle/clawhub.ts:469, f77c2aafa095)
  • PR telemetry payload: At the PR head, reportClawHubSkillInstallTelemetry trims a single slug and posts event, slug, optional ownerHandle, and version while retaining best-effort disable/token behavior. (src/infra/clawhub.ts:1615, ca74cea22301)
  • PR caller passes parsed owner: At the PR head, performClawHubSkillInstall sends the parsed params.ownerHandle with the installed slug and resolved version after the lockfile write succeeds. (src/skills/lifecycle/clawhub.ts:1494, ca74cea22301)
  • PR regression coverage: The PR updates the CLI E2E install test to install @demo-owner/aiq-deploy and assert the posted telemetry body contains event, slug, ownerHandle, and commit version. (src/cli/skills-cli.clawhub-install.e2e.test.ts:111, ca74cea22301)

Likely related people:

  • quangtran88: git blame shows the current ClawHub install telemetry helper, whole-lock telemetry builder, and caller came from the landed current-main commit for fix(voice-call): preserve per-call agent routing #77763. (role: introduced current behavior; confidence: high; commits: 19f7b72a7473; files: src/infra/clawhub.ts, src/skills/lifecycle/clawhub.ts, src/skills/lifecycle/clawhub.test.ts)
  • steipete: Live PR metadata for fix(voice-call): preserve per-call agent routing #77763 shows steipete merged the landed commit that introduced this ClawHub skill install surface, and local history shows recent ClawHub infra/lifecycle refactors by the same person. (role: merger and recent area contributor; confidence: medium; commits: 19f7b72a7473, 85ed1a89860d, 5696e24c3fba; files: src/infra/clawhub.ts, src/skills/lifecycle/clawhub.ts)
What the crustacean ranks mean
  • 🦀 challenger crab: rare, exceptional readiness with strong proof, clean implementation, and convincing validation.
  • 🦞 diamond lobster: very strong readiness with only minor maintainer review expected.
  • 🐚 platinum hermit: good normal PR, likely mergeable with ordinary maintainer review.
  • 🦐 gold shrimp: useful signal, but proof or patch confidence is still limited.
  • 🦪 silver shellfish: thin signal; proof, validation, or implementation needs work.
  • 🧂 unranked krab: not merge-ready because proof is missing/unusable or there are serious correctness or safety concerns.
  • 🌊 off-meta tidepool: rating does not apply to this item.

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.

How this review workflow works
  • 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.

@clawsweeper clawsweeper Bot added rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. P2 Normal backlog priority with limited blast radius. merge-risk: 🚨 other 🚨 Merging this PR has meaningful risk outside the owned taxonomy. labels Jul 9, 2026
@Patrick-Erichsen
Patrick-Erichsen merged commit 1252a3d into main Jul 9, 2026
206 of 212 checks passed
@Patrick-Erichsen
Patrick-Erichsen deleted the pe/fix-clawhub-install-telemetry-owner branch July 9, 2026 03:18
github-actions Bot pushed a commit to Desicool/openclaw that referenced this pull request Jul 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cli CLI command changes maintainer Maintainer-authored PR merge-risk: 🚨 other 🚨 Merging this PR has meaningful risk outside the owned taxonomy. P2 Normal backlog priority with limited blast radius. rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. size: S status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant