Stuck events, handled
Cache → DLQ → replay → Kill API, in production
Decision lineage is the trail from a rule in the code back to the trigger, the constraint, the alternative that was ruled out, and the decision someone made. Virgo keeps that trail attached. You see why something is the way it is instead of guessing or asking around.
Months later, all that is left of a decision is the result and a scatter of stray artifacts across tools. The design doc, the incidents, the change that mattered are still out there, but nothing connects them, so you are left guessing.
Cache → DLQ → replay → Kill API, in production
Replays carry a mandatory is_replay flag
DLQ routing, replay, and recovery land together
Injection workers on the poison-pill path; publishers unified
Repo-type events jam the pipeline; workers sit blocked
Recovery endpoints refined; cache storage optimized
Errors injected on purpose; marking the event unblocks the queue
Unblocking by hand: delete the topic or advance offsets
Why do we mark events as poison pills?
Virgo links those scattered artifacts back into one history: the trouble, the strategy, the design, the escape hatch, and where it landed. It reconstructs the whole evolution, end to end.
Repo-type events jam the pipeline; workers sit blocked
Unblocking by hand: delete the topic or advance offsets
Cache event and request IDs; route failing data to a DLQ
Replays carry a mandatory is_replay flag
One unified request topic; Redis holds events for recovery
Injection workers on the poison-pill path; publishers unified
A /kill endpoint force-terminates events that wedge a worker
Errors injected on purpose; marking the event unblocks the queue
The now-mandatory is_replay flag trips validation first
DLQ routing, replay, and recovery land together
Recovery endpoints refined; cache storage optimized
Cache → DLQ → replay → Kill API, in production
Ask why over MCP. Virgo walks the trail as a graph: every milestone returns the piece it holds, and the agent assembles the reason it is shaped that way.
One traced decision guides the engineer weighing a change and keeps the agent from undoing a settled call.
See why a decision was made, what it ruled out, and what depends on it before you touch it. You stop re-debating settled calls and rediscovering constraints the hard way.
Give an agent the decision and its constraints. It works within them rather than reintroducing an approach the team already reverted. Virgo retrieves the lineage at query time, over MCP. Any agent reasons from the real history.
Roughly 3x fewer iterations in code generation when the prior decision and its constraints are available.