Skip to content

fix(telemetry): refresh public vocabulary from released metadata - #28

Merged
vincentkoc merged 1 commit into
mainfrom
fix/telemetry-vocabulary-release-freshness-20261001
Oct 1, 2026
Merged

vincentkoc merged 1 commit into
mainfrom
fix/telemetry-vocabulary-release-freshness-20261001

Conversation

@vincentkoc

@vincentkoc vincentkoc commented Oct 1, 2026 •

Copy link
Copy Markdown
Member

What Problem This Solves

The receiver's public vocabulary was last refreshed on September 7. Released public plugins such as github, code-mode-quickjs, and session-share are therefore discarded before storage even when clients correctly report them.

Why This Change Was Made

Refresh from OpenClaw v2026.9.7, resolved to immutable commit c074824a27c96d3983043f9eeb33823cd1772d8c, using the canonical packaging helper, public provider declarations, and retained official catalog history. Add 14 verified public names (188 to 202), preserve the previous snapshot unchanged, and adapt the generator to the release's relocated provider metadata and shared packaging policy.

On existing CI runs, resolve the latest published OpenClaw release tag to its commit and require a reviewed vocabulary snapshot. This detects release drift independently of generated-file consistency; it never refreshes or admits names automatically. Lookup failures fail the check.

User Impact

Public names from the reviewed release can be retained. Unknown and private names remain excluded. Collection policy, consent, identifiers, storage columns, and deployment configuration are unchanged. Previously discarded names cannot be reconstructed.

Evidence

  • The released-commit check fails against the previous September 7 metadata, then passes after refresh.
  • Regenerated both historical and current snapshots from immutable OpenClaw Git objects; the retained historical snapshot is unchanged.
  • 18 focused generator tests pass, including historical replay, current provider/packaging boundaries, dirty-source isolation, and a newer release missing from otherwise consistent metadata.
  • git diff --check passes. Historical CI passes on d7831a8f32fd3a82558badff8d9978028188c470: typecheck, 494 tests across 13 files, release freshness, and Wrangler dry-run. That deployment job was skipped. Independent source review found no blockers for that head.
  • Combined with the separate list-truncation repair, all 202 public names fit in a 7,478-byte input and 6,658 bytes of Analytics Engine blobs under its existing bounds.

Production generator/generated-source LOC: +35/-2 (net +33). The increase supports the released metadata contract and independent release freshness check; tests are +63/-2, immutable provenance metadata +314 lines, CI +7 lines.

Rebased onto the merged list-truncation fix at 23066fd08500d146d79a1d0b205443b3c30aae6a. Both changelog entries are retained; the generator, metadata, generated source, tests, and CI workflow are byte-identical to the earlier reviewed head. Syntax, workflow lint, retained-union, and diff checks pass. Fresh exact-head CI and review are pending on c2dd9130f6157ab8b561e261d1ee185daad46f0f.

Merging to main uses the existing deployment workflow. No production ingestion probe is included.

@clawsweeper

clawsweeper Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

🦞👀
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.

@clawsweeper clawsweeper Bot added P2 Normal priority bug or improvement with limited blast radius. 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 Oct 1, 2026
@clawsweeper

clawsweeper Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

Codex review: needs maintainer review before merge. Reviewed October 1, 2026, 2:45 AM ET / 06:45 UTC (Revision 2).

ClawSweeper review

What this changes

Refresh the telemetry receiver’s public-name vocabulary from released OpenClaw metadata and add a CI check for releases without a reviewed snapshot.

Merge readiness

✅ Ready for maintainer review

This refresh remains necessary: current main still excludes the newly documented public names. Exact-head checks pass, rebase continuity is verified, and no actionable patch defect was found.

Priority: P2
Reviewed head: c2dd9130f6157ab8b561e261d1ee185daad46f0f

Review scores

Measure Result What it means
Overall readiness 🐚 platinum hermit (4/6) A focused, maintainable repair with verified retained history, rebase continuity, and successful exact-head checks.
Proof confidence 🌊 off-meta tidepool Not applicable: The MEMBER-authored PR is exempt from ordinary contributor proof. Reported regeneration exercises the changed generator, and exact-head CI provides supplemental validation; production ingestion is explicitly unprobed. No stored-data contract changes.
Patch quality 🐚 platinum hermit (4/6) No actionable review findings were identified.

Verification

Check Result Evidence
Real behavior Not applicable Not applicable: The MEMBER-authored PR is exempt from ordinary contributor proof. Reported regeneration exercises the changed generator, and exact-head CI provides supplemental validation; production ingestion is explicitly unprobed. No stored-data contract changes.
Evidence reviewed 9 items Pinned introduced change: Reviewed the seven-file delta from pinned main to the exact original PR head. Raw head parentage matches the supplied main SHA; the changelog preserves both the refresh and merged list-truncation entries.
Current-main necessity and release status: GitHub still identifies 23066fd as main. Its generated vocabulary has 188 names and omits github, code-mode-quickjs, and session-share. The target release endpoint returned no releases. The merged #27 fixes list truncation rather than vocabulary freshness.
Retained metadata and runtime boundary: Independent read-only metadata comparison confirms 14 additions, no removals, unchanged historical snapshot and legacy aliases, and an exact generated-source match. The existing parser consumes this vocabulary before analytics serialization; storage columns, upload bounds, and consent paths are unchanged.
Findings None None.
Security None None.

How this fits together

The telemetry receiver filters optional feature reports through a compiled list of public names before recording analytics. The generator derives that list from reviewed OpenClaw packaging metadata, provider declarations, and official catalogs.

flowchart TD
 A[Released OpenClaw metadata] --> B[Snapshot generator]
 B --> C[Reviewed retained snapshots]
 C --> D[Compiled public vocabulary]
 E[Optional feature reports] --> F[Validate and filter names]
 D --> F
 F --> G[Analytics records]
 H[Latest release check] --> C
Loading

Before merge

None.

Agent review details

Security

None.

Review metrics

Metric Value Why it matters
Public vocabulary 188 to 202 names; 14 added, 0 removed Expands public-name retention while preserving previously admitted names.
Production and test LOC production +35/-2; tests +63/-2; CI +7; provenance metadata +314 Production growth supports the released metadata contract and independent freshness check.

Technical review

Best possible solution:

Keep public-name admission based on reviewed immutable snapshots, preserve historical names, and detect release drift through the existing CI workflow.

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

Yes, from source: main’s compiled vocabulary omits the named public plugins, and the existing parser filters those names out before analytics serialization. No runtime reproduction was executed during this read-only review.

Is this the best way to solve the issue?

Yes. Extending the existing retained snapshots and adapting their generator is a narrow repair that preserves historical admission and avoids runtime discovery.

AGENTS.md: not found in the target repository.

Codex review notes: model internal, reasoning medium; reviewed against 23066fd08500.

Labels

Label changes:

No label changes.

Label justifications:

  • P2: Repairs a bounded telemetry omission without changing core agent operation or update availability.
  • rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🌊 off-meta tidepool and patch quality is 🐚 platinum hermit.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Not applicable: The MEMBER-authored PR is exempt from ordinary contributor proof. Reported regeneration exercises the changed generator, and exact-head CI provides supplemental validation; production ingestion is explicitly unprobed. No stored-data contract changes.

Evidence

What I checked:

  • Pinned introduced change: Reviewed the seven-file delta from pinned main to the exact original PR head. Raw head parentage matches the supplied main SHA; the changelog preserves both the refresh and merged list-truncation entries. (CHANGELOG.md:5, c2dd9130f615)
  • Current-main necessity and release status: GitHub still identifies 23066fd as main. Its generated vocabulary has 188 names and omits github, code-mode-quickjs, and session-share. The target release endpoint returned no releases. The merged fix(telemetry): retain every reported public feature name #27 fixes list truncation rather than vocabulary freshness. (src/public-vocabulary.ts:3, 23066fd08500)
  • Retained metadata and runtime boundary: Independent read-only metadata comparison confirms 14 additions, no removals, unchanged historical snapshot and legacy aliases, and an exact generated-source match. The existing parser consumes this vocabulary before analytics serialization; storage columns, upload bounds, and consent paths are unchanged. (data/public-vocabulary.json:290, c2dd9130f615)
  • Affirmative upstream dependency contract: The generator directly imports OpenClaw’s listBundledPluginPackArtifacts and now exports its shared packaging policy alongside the relocated provider metadata. This establishes dependence on openclaw/openclaw’s released packaging contract; no Codex runtime or harness dependency is present. (scripts/public-vocabulary.mjs:64, c2dd9130f615)
  • Verified released source: GitHub’s latest-release endpoint reports v2026.9.7, and its commit endpoint resolves that tag to c074824a27c96d3983043f9eeb33823cd1772d8c. Inspected the released provider declarations, packaging helper, shared exclusion policy, and official plugin catalog. The helper imports the newly exported shared policy and excludes non-packaged and root-excluded plugin directories. (scripts/lib/bundled-plugin-build-entries.mjs:5, c074824a27c9)
  • Re-review continuity: The earlier review contained no findings or published rank-up moves. GitHub tree identities establish unchanged scripts, metadata, and workflow subtrees; individual blob identities establish unchanged generated vocabulary and generator tests since d7831a8. Local comparison could not load that older object, so continuity was verified through GitHub Git objects instead. (src/public-vocabulary.ts:3, c2dd9130f615)

Likely related people:

  • vincentkoc: Suggested for follow-up; no historical authorship or introduction is verified. (role: unverified routing candidate; confidence: low)
  • steipete: 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-10-01T05:03:20.678Z sha d7831a8 :: needs maintainer review before merge. :: none

@vincentkoc
vincentkoc force-pushed the fix/telemetry-vocabulary-release-freshness-20261001 branch from d7831a8 to c2dd913 Compare October 1, 2026 06:42
@vincentkoc

Copy link
Copy Markdown
Member Author

@clawsweeper re-review

Please review exact head c2dd9130f6157ab8b561e261d1ee185daad46f0f after rebasing onto the merged list-truncation fix. Only the overlapping changelog entry required resolution; both entries are preserved. The vocabulary implementation and tests are unchanged. Fresh CI is running.

@clawsweeper

clawsweeper Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

🦞👀
Exact review queued.

Re-review progress:

@vincentkoc
vincentkoc marked this pull request as ready for review October 1, 2026 06:47
@vincentkoc
vincentkoc merged commit 6a44044 into main Oct 1, 2026
5 checks passed
@vincentkoc
vincentkoc deleted the fix/telemetry-vocabulary-release-freshness-20261001 branch October 1, 2026 06:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P2 Normal priority bug or improvement with limited blast radius. 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