Skip to content

Commit b877bbb

Browse files
committed
docs(rfc): add feed telemetry addendum
1 parent 89cf322 commit b877bbb

1 file changed

Lines changed: 56 additions & 3 deletions

File tree

rfcs/0009-hosted-feeds-for-plugins-and-skills.md

Lines changed: 56 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ authors:
55
- Patrick
66
- Gio
77
created: 2026-06-18
8-
last_updated: 2026-06-22
8+
last_updated: 2026-06-23
99
status: draft
1010
issue:
1111
rfc_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
562562
endpoint would break onboarding and plugin discovery. With it, hosted feeds add
563563
freshness 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

567616
1. 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.
587636
10. 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

Comments
 (0)