Skip to main content
It cannot say “this route has four callers in two other services” or “this endpoint would be reachable without authentication”. Those are facts about the codebase, and they live outside the repository the agent is editing. A provider is a program that answers such questions for the gate. gitvow defines the questions and the answer shape; the provider owns the knowledge. gitvow ships none of that knowledge, only the contract and a small example.

Questions the gate asks

Route literals are quoted strings beginning with /, without spaces, that appear in the edit’s text. The gate sees the agent’s intent from the tool call before the file changes.

What the agent sees

The evidence is the provider’s, verbatim, so the agent can put a precise question to the person rather than a vague one.

Failure behaviour

A provider that is missing, times out, crashes or returns something unparseable yields confirm, never allow, and the log records which provider failed. An unknown answer is treated as no evidence and does not block on its own.

Where providers come from

Anyone can write one: a script over a facts database, an HTTP client to an internal service, a query against a code graph. The reference example in the repository reads a static JSON facts file and exists to show the contract and to drive the tests. gitvow-provider-facts is that production shape: a provider over a derived fact store of routes, gates and calls, in its own project.