Parallax

Claimed versus observed: the gap is the product.

The LLM is a sensor, not a judge. The model turns messy reality into typed claims that carry their evidence. Deterministic code verifies those claims, makes every decision and computes every number. Humans approve anything that acts.

What it measures

Parallax reads two pictures of a project: what the tickets claim is done, and what the commit history shows was actually worked on.

The Drift Index is the measured gap between those two pictures for each stream of work, so a workstream claimed finished with no activity behind it rises to the top.

The morning brief is assembled only from computed statistics, and every number in it traces back to a stored figure.

Published limits

verbatim from EVAL.md, produced by a real eval run On synthetic project histories with planted drift, the drifting workstream ranks highest in every case (1.0), healthy controls stay at 0.0 below the 0.35 alert floor (1.0), every numeric token in the generated brief traces to a stored statistic (1.0), and the drift index stays within its declared range (1.0); the histories are synthetic, so it does not measure drift detection on a real project.

This is an API

There is no web application here. Every endpoint below is JSON, and both reads and writes require a bearer token; unauthenticated requests are refused with 401. The interactive schema at /docs is deliberately public so the route map can be read without credentials.

methodpathwhat it does
POST/api/v1/projectscreate a project and its workstreams
POST/api/v1/projects/{id}/claimed/importimport claimed items
POST/api/v1/projects/{id}/observed/importimport observed commits
POST/api/v1/projects/{id}/drift/computecompute the Drift Index
GET/api/v1/projects/{id}/driftstored drift rows
GET/api/v1/workstreams/{id}/driftdrift for one workstream
POST/api/v1/projects/{id}/briefgenerate the morning brief
GET/api/v1/projects/{id}/brieflatest brief
POST/api/v1/briefs/{id}/narratenarrate the brief (key-gated)

Links

version 0.3.2 · commit f87d338 · built 2026-08-03T02:41:12Z · environment production
Values are baked from build arguments. unknown means the image was built without them, which is reported rather than replaced with a plausible-looking string.