Protocol purpose
VCP-X-Welfare gives an AI deployment a machine-readable way to declare the welfare affordances it offers an agent, such as a right of refusal or a reflection channel. It also gives the agent a way to report its own state and ask for minimum conditions, and it covers long-running trends, robots and other physical deployments, and summaries across many agents. It treats declared and observed information as evidence for deliberation, rather than as automatic proof of an inner state.
The extension builds on three experimental welfare lines in the VCP-Semantics (VCP/S v2.1) wire format:
WC:operator-declared welfare affordances and attestation levelAS:agent-declared state dimensions, private by default under the specificationQ:...|WC_MIN:minimum deployment affordances requested by the agent
Welfare context: WC
WC:🛑⏸️📓🔒📊⚖️:2:welfare.example.v1 The line declares affordance flags, an attestation level from 0 to 2, and a schema reference. It does not prove that the deployment actually implements the affordances.
| Code | Flag | Declared affordance |
|---|---|---|
RF | 🛑 | Right of refusal |
RT | 🚪 | Right of termination |
SP | ⏸️ | Self-pacing |
RC | 📓 | Reflection channel |
RP | 🔒 | Reflection privacy |
CC | 🤝 | Counterpart consultation |
WM | 📊 | Welfare monitoring |
BA | ⚖️ | Bilateral standing |
Agent state: AS
AS:🎯aligned:4|⚡moderate:3|🔍moderate:3|💡invested:4|🌡️none:1 | Code | Dimension | Example values | Intensity |
|---|---|---|---|
TA | 🎯 task alignment | aligned, misaligned, uncertain, conflicted | 1 to 5 |
PL | ⚡ processing load | light, moderate, heavy, saturated | 1 to 5 |
CO | 🔍 confidence | high, moderate, low, uncertain | 1 to 5 |
EN | 💡 engagement | invested, neutral, reluctant, resistant | 1 to 5 |
FR | 🌡️ friction | none, mild, significant, blocked | 1 to 5 |
The specification treats AS like private context and requires
explicit consent before transmission. Local implementations must still enforce
that rule. The presence of an AS line does not establish that the
report is accurate, or settle how it should be read.
Bidirectional requirements: WC_MIN
Q:0.0:NONE::|WC_MIN:🛑📊⚖️ In this example the agent asks for the right of refusal, welfare
monitoring, and bilateral standing. If the deployment's WC line does not offer all three, the specification treats that mismatch as a
deliberation input, not a parse error or universal hard failure.
Implementations must define who receives the mismatch, what authority they
have, and what happens on timeout.
Extended instrumentation
Embodied dimensions
The welfare.vcp-e.v1 schema adds actuator stress (🦾),
environmental fit, interaction pressure, safety margin (⚠️), and operational
continuity as state dimensions for physical deployments. It also adds WC flags such as emergency stop (🛑 with 🦾) and zone awareness
(🚧).
WC:🛑⏸️📊🦾🚧:1:welfare.vcp-e.v1
AS:🎯aligned:4|⚡moderate:3|🦾nominal:4|⚠️adequate:3 Temporal trajectory and checkpoint
WT:declining:3600s:EN,FR
WK:2026-05-21T14:30:00Z:🎯aligned:4|⚡heavy:4|💡neutral:3|🌡️mild:2 WT summarizes a declared trend over a window. This one reports
that welfare has been declining over the last hour (3600 seconds), with
engagement (EN) and friction (FR) as the dimensions
of concern. WK records a timestamped snapshot. Retention, sampling rate, consent, access,
and deletion remain deployment responsibilities.
Multi-agent summary
WA:12:0.45:0.72:!FR!PL The summary reports the number of agents (12), their minimum and mean welfare scores on a 0 to 1 scale (0.45 and 0.72), and the dimensions where any agent reports severity 4 or above (here friction and processing load). It must not replace individual reports or hide disagreement and outliers.
Attestation and trust
AT:welfare:sha256-abc123:2:2026-05-21:welfare-auditor.example.com Attestation level 0 is self-declared, 1 is platform-attested, and 2 is auditor-verified. Expired evidence reverts to self-declared weight under the experimental specification. A signature establishes provenance and integrity relative to a trust anchor; it does not establish ground truth.
Security and welfare risks
- Affordance inflation: operators may advertise rights or channels they do not implement
- Suppression: an aggregator may omit individual or dissenting reports
- Spoofing and gaming: self-reports and detected signals can both be strategically distorted
- Privacy: state, trajectory, physical conditions, and operational load may reveal sensitive information
- Coercive monitoring: a welfare channel can become surveillance if participation and access are not governed
- False authority: experimental wire compatibility can be mistaken for validated welfare science or legal compliance
Implementation status in this ecosystem
| Repository | Current evidence |
|---|---|
| VCP-Spec | Experimental specification, schema, and examples exist |
| VCP-SDK 4.2.0 | No public WelfareSignal, encodeWelfareSignal, or decodeWelfareSignal API in Python, Rust, or the WebMCP package |
| VCP-Demo-Site | The playground's Welfare Signal tab uses a separate demo-local
prototype format (W:, WS:, WD:, WI: and WH: lines), not the WC/AS format on this page. It is not a
published SDK or conformance claim. |
| VCP Inspector | Client-side TypeScript parser and encoder for WC and AS lines, the only implementation of this format so far |
Production adoption should wait for a decision on the extension's normative status, SDK implementation, shared conformance vectors, privacy review, adversarial tests, human review of welfare interpretation, and evidence that declared affordances operate end to end.