AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
The backend your coding agent can actually operate. Single binary. Deny-by-default. MCP-native.
Developer toolsGo · HTMLGitHub @dibakshya01OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Agent-native backend-as-a-service: a deny-by-default policy engine, self-correcting errors, and native MCP — in a single Go binary.
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
The agent-native backend.
A backend-as-a-service built for AI coding agents — deny-by-default policies,
self-correcting errors, one-call introspection, and native MCP — in a single Go binary.
Generic backends were built for humans clicking dashboards. Coding agents operate
through APIs — and generic backends fail them in three ways: they fail silently,
they leak data through missing access rules, and they're undiscoverable. Purple
Sparrow is designed so an agent can drive it correctly and recover on its own.Read the full README ↗Generic backends were built for humans clicking dashboards. Coding agents operate through APIs — and generic backends fail them in three ways: they fail silently, they leak data through missing access rules, and they're undiscoverable. Purple Sparrow is designed so an agent can drive it correctly and recover on its own.
| 🛡️ Secure by default | Access is deny-by-default. An app-layer policy engine compiles rules into parameterized SQL with USING and WITH CHECK. Fuzz-tested; the compiler never emits a raw literal. |
| 🧭 Self-correcting | Every error carries machine-readable remediation + next_actions. When an agent hits a wall, the response tells it how to get past it. |
| 🔎 Discoverable | GET /meta returns the whole backend's shape in one call. Docs are served over the API. An advisor lints the config. |
| 🪶 Runs anywhere | One static binary + embedded SQLite — zero dependencies for a solo dev. Point PS_DATABASE_URL at Postgres to scale. Same code, same behavior (CI proves parity). |
| 🔌 MCP-native | purplesparrow mcp exposes the whole backend as tools for Cursor, Claude, and friends. |
# one static binary, embedded SQLite — no external services
CGO_ENABLED=0 go build -o purplesparrow ./cmd/purplesparrow
PS_ADMIN_API_KEY=ps_sk_dev ./purplesparrow # → 127.0.0.1:8787
ADMIN="Authorization: Bearer ps_sk_dev"
# create a table (id + created_at are automatic)
curl -s -H "$ADMIN" -X POST localhost:8787/v1/tables \
-d '{"name":"todos","columns":[{"name":"title","type":"text"},{"name":"owner_id","type":"text"}]}'
# access is deny-by-default — grant a policy, then use records
curl -s -H "$ADMIN" -X POST localhost:8787/v1/policies \
-d '{"table":"todos","action":"select","roles":["anon"],"using":"true"}'
curl -s -H "$ADMIN" -X POST localhost:8787/v1/tables/todos/records -d '{"title":"ship","owner_id":"u1"}'
curl -s localhost:8787/v1/tables/todos/records
# introspect · read docs · lint config
curl -s -H "$ADMIN" localhost:8787/meta
curl -s localhost:8787/docs
curl -s -H "$ADMIN" localhost:8787/advisor
Connect an agent: purplesparrow mcp-config prints a client config snippet;
purplesparrow mcp runs the MCP stdio server.
Agents (MCP · CLI · REST)
│
HTTP gateway — request-id · authn · recovery · access-log · security-headers
│
Data+Records · Auth · Storage · Functions · Realtime · Agent layer · Dashboard
│
┌───────────────── Policy engine (deny-by-default, USING + WITH CHECK) ─────────────────┐
│ the authorization boundary — one place to get right │
└───────────────────────────────────────────────────────────────────────────────────────┘
│
DataEngine · BlobStore · FuncRunner · EventBus ports
│
SQLite + local FS (solo) | Postgres + S3 (scale)
/.serve / mcp / mcp-config / version.GET /openapi.yaml and kept in lock-step with the code by a route-parity test.Beta. The full feature surface is built and tested end-to-end — review it before trusting it with regulated data.
go test -race, go vet, staticcheck, govulncheck — all green. Postgres parity proven in CI.make build # single static binary
make test # go test -race ./...
make check # fmt + vet + staticcheck + govulncheck + test (matches CI)
Spec-driven, deny-by-default, tests required — see CONTRIBUTING.md. Report vulnerabilities privately via SECURITY.md, not public issues.
Apache-2.0. Built in the open. Not affiliated with any other backend platform.