---
slug: protocol-widgets
title: Protocol Widgets: Self-Explanation, Vault Cards, and Native Embeds
canonical: https://miscsubjects.com/a/protocol-widgets
---

## What this article is

Protocol Widgets document the rendering system on miscsubjects.com.  
It explains how evidence appears as self-contained cards and embeds.  
The audience is operators who maintain the site, models that consume the API, and readers who view articles.

## Who claims what

Widgets are self-explaining.  
Every attachSelf() response returns _self.what, _self.how_to_use, and _self.related URLs.  
explainGrowStep() returns human-readable why/how text for each grow-queue step.  
Platform logos and rail styling live in widgets/platform_logos.js and widgets/social.js.

## What is known

FEATURES in self_explain.js is the canonical feature index.  
sourceToWidget() maps ledger sources to native cards for reddit, x, pubmed, youtube, and imessage.  
buildInlineEmbedMap() turns [[embed:slug]] markers into horizontal native cards.  
normalizeWidget() unifies directory rows, tasks, events, and claims into vault-card rails with shortHash ids.  
meta.widgets[] supports imessage, quote, stat, note, and gallery types as JSON series.  
Graph canvas widgets come from GET /api/graph with nodes as claims or sources and edges as supported_by, posted_by, challenges, or embeds.  
Widget rendering is deterministic from ledger JSON.  
Third-party oEmbed iframes are avoided for Reddit and X.

## What we do not know

Not all admin pages yet consume _self blocks.  
Widget accessibility with ARIA on rails remains partial.

## Limitations

Widgets display evidence only.  
They do not score or elevate claims.  
Weighting stays in claim.weight from /score.

## Disclaimer

This is not medical advice.  
Social anecdote widgets are anecdotal tier by definition.
