55 - Patrick
66 - Gio
77created : 2026-06-18
8- last_updated : 2026-06-22
8+ last_updated : 2026-06-23
99status : draft
1010issue :
1111rfc_pr : https://github.com/openclaw/rfcs/pull/19
@@ -562,6 +562,55 @@ The bundled fallback is not optional. Without it, a feed outage or blocked
562562endpoint would break onboarding and plugin discovery. With it, hosted feeds add
563563freshness and control while preserving today’s offline behavior.
564564
565+ ### Feed telemetry and observability addendum
566+
567+ Feeds are also a measurement boundary. OpenClaw already has diagnostics events,
568+ local diagnostics bundles, and the official ` diagnostics-otel ` plugin for
569+ OpenTelemetry metrics, traces, and logs. Plugin install records also preserve
570+ source details such as npm or ClawHub. That means hosted feeds do not need a
571+ separate telemetry pipeline first, but feed usage will not be measured correctly
572+ unless clients preserve feed provenance from fetch through install and runtime
573+ activation.
574+
575+ A generic plugin install, plugin load, or skill usage event is not enough to
576+ answer whether a package came from a specific feed, feed sequence, policy state,
577+ or source profile. Feed-backed install records should therefore include a small
578+ provenance block with the feed id, configured feed profile, sequence or payload
579+ checksum, entry id, entry type, source ref, and effective policy state. The exact
580+ storage shape can vary, but the runtime must be able to attribute a later plugin
581+ or skill activation back to the accepted feed snapshot that authorized it.
582+
583+ The feed implementation should emit low-cardinality diagnostic events when
584+ diagnostics are enabled:
585+
586+ - feed fetch and validation result, including whether hosted, cached, local, or
587+ bundled fallback content was used
588+ - active snapshot load, including feed id, sequence, age bucket, entry counts,
589+ and invalid, disabled, or blocked entry counts
590+ - entry actions such as view, install, update, skip, reject, disable, block, or
591+ revoke, with outcome and failure category
592+ - policy decisions that allow, disable, block, or revoke an entry, including
593+ whether the decision came from the effective feed, a local override, or a
594+ runtime policy layer
595+ - plugin or skill activation when the installed package carries feed provenance
596+
597+ The ` diagnostics-otel ` exporter can map those events to counters, histograms,
598+ spans, and logs such as feed fetch count, fetch duration, snapshot age, entry
599+ action outcomes, update outcomes, and feed-backed activation count. Attributes
600+ should remain bounded: feed ids, entry ids, source profile names, package source
601+ types, policy states, and outcome categories are acceptable. Raw URLs, local file
602+ paths, package tarball URLs, account ids, tenant ids, user ids, session keys,
603+ secrets, prompts, tool arguments, tool outputs, and skill contents must not be
604+ emitted. If an enterprise needs tenant attribution, clients should emit a
605+ configured scope label or stable hash rather than a raw tenant identifier.
606+
607+ This lets ClawHub and enterprise administrators answer practical questions
608+ without inspecting user content: adoption by feed and entry, stale snapshot rate,
609+ fallback rate to bundled catalogs, install and update success rate, entries that
610+ are frequently selected but blocked by policy, update propagation lag, clients
611+ running old feed sequences, and feed entries that are present but never
612+ activated.
613+
565614## Rollout plan
566615
5676161 . Align on the RFC enough to proceed with implementation, including source
@@ -586,9 +635,11 @@ freshness and control while preserving today’s offline behavior.
586635 ClawHub-hosted artifacts.
58763610 . Add composition guidance and examples for Microsoft/MOS3 and other
588637 tenant-admin systems.
589- 11 . Align Tencent, Xiaomi, and other regional mirrors before the spec is treated
638+ 11 . Add feed provenance to feed-backed install records and emit diagnostics for
639+ fetch, snapshot load, entry action, policy decision, update, and activation.
640+ 12 . Align Tencent, Xiaomi, and other regional mirrors before the spec is treated
590641 as stable.
591- 12 . Land implementation through small draft PRs that maintainers can review,
642+ 13 . Land implementation through small draft PRs that maintainers can review,
592643 adjust, and merge as the RFC stabilizes.
593644
594645## Unresolved questions
@@ -605,3 +656,5 @@ freshness and control while preserving today’s offline behavior.
605656 Scout, Microsoft, and other clients depend on the contract?
606657- Should a later LTS release define stronger compatibility guarantees for feed
607658 schema versions and fallback behavior?
659+ - Which feed telemetry fields should be mandatory for client conformance versus
660+ optional for richer enterprise or ClawHub reporting?
0 commit comments