Metadata-Version: 2.4
Name: gitvow-provider-facts
Version: 0.1.0
Summary: gitvow provider answering gate questions from a derived fact store of routes, gates and callers.
Author-email: Nikhil Bora <nikhil@wirevow.com>
License: Apache-2.0
Project-URL: Homepage, https://wirevow.dev/gitvow-provider-facts
Project-URL: Repository, https://github.com/wirevow/gitvow-provider-facts
Keywords: gitvow,provenance,policy,ai-agents,git
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: dev
Requires-Dist: pytest>=8; extra == "dev"
Requires-Dist: pytest-cov>=5; extra == "dev"
Requires-Dist: ruff>=0.6; extra == "dev"
Requires-Dist: bandit[toml]>=1.7; extra == "dev"
Requires-Dist: pip-audit>=2.7; extra == "dev"
Requires-Dist: mypy>=1.10; extra == "dev"
Dynamic: license-file

# gitvow-provider-facts

A [gitvow](https://wirevow.dev/gitvow/) provider that answers the gate's questions from a derived fact store of your services: which routes exist, how each is gated, and who calls it.

With it, an agent that adds an endpoint the authorization layer does not cover, or removes one that other services call, is stopped before the file changes, and the message names the whitelist pattern or the calling services.

```sh
pip install gitvow-provider-facts
```

```json
"providers": [{
  "name": "topology",
  "command": "gitvow-provider-facts --store /var/lib/topology/facts.db --service orders",
  "questions": ["route_gate", "route_callers", "gate_bearing"]
}]
```

```
$ gitvow ask route_callers /v1/orders --path src/api/OrdersResource.java
topology: yes — called by client-orch (OrdersClient.java:88) POST; called by billing-worker (sync.py:41) GET; store built 2026-09-08 (1 day old)
decision: CONFIRM
```

No runtime dependencies: Python 3.9+ and sqlite3 from the standard library. The provider holds no knowledge of its own; it reads a store you build. It never writes to the store and never contacts the network.

Documentation: **https://wirevow.dev/gitvow-provider-facts/** · Protocol it implements: [gitvow provider protocol](https://wirevow.dev/gitvow/reference/provider-protocol/)

Apache-2.0.
