VALP is not tied to a user’s local agents. The protocol is a control loop for autonomous work.
The first-principles question is:
When an intelligent system claims a task is done, what evidence makes that claim trustworthy?
VALP answers with visible intent, routing, execution, evidence, correction, approval, synthesis, audit, and learning.
valp audit is the controller check.automation-policy.jsoncontext-pack.jsonrouting-feedback.jsonrouting-feedback.json is the routing-facing history consumed by the reference
CLI. Its workspace index is only an index: before a record can influence a new
route, the CLI resolves the task-local record and checks task identity,
completion gates, review, approval, verification, and referenced evidence.
The resulting history is a prior for candidate scoring, never an assignment or
proof of current capability.
learning-feedback.jsonLearning feedback is a separate, evidence-backed proposal record. It does not write to the registry, capability passport, protocol, schema, overlay, skill, memory, or runtime adapter by itself. An accepted proposal must pass the relevant review, approval, and change-control path; a live skill, plugin, memory, MCP, or agent-configuration change becomes a separately scoped task with explicit user approval and fresh delegation evidence.
Learning feedback can explain or propose improvements to future routing, but it
is not authority. The reference CLI’s directly consumable routing prior comes
from validated routing-feedback history. Every new task still performs fresh
capability, provider, context, and permission scans; current observations win
over historical feedback.
Workspace feedback indexes are also not authority. A positive history entry must resolve to matching task-local feedback, passed completion gates, and existing evidence before it can influence routing.
old success + missing current tool -> do not route
old success + approval risk -> stop for approval
old failure + repaired current capability -> route with lower confidence
old context gap + similar task -> include the missing context in context-pack
This keeps VALP intelligent without letting stale memory override current evidence.
Full automation means:
continue automatically while evidence proves the loop is healthy
stop automatically when evidence, approval, context, runtime, or scope gates fail
It does not mean silent high-risk execution. The safer automation is the one that knows exactly when to stop.