Project AIR
vindicara.io / structural verification
View source · MIT $ pip install projectair
Structural Verification

They check messages. We check missions.

Intent Capsules are the signed promise. Structural Verification is the proof the promise was kept. A deterministic symbolic floor that cannot be prompt-injected.

The problem

Per-call guardrails check individual messages. Content classifiers check individual outputs. But nobody checks whether the trajectory of an entire agent session served its declared intent. Reading ~/.ssh/id_rsa is not inherently malicious. Posting to an external URL is not inherently malicious. Doing both in a "refactor the auth module" session is exfiltration.

The solution

Five deterministic checks over the causal graph: SV-SECRET (undeclared secret access), SV-NET (undeclared network egress), SV-SCOPE (filesystem scope violations), SV-ENTITY (unauthorized entity access), SV-EXFIL (causal exfiltration path). The symbolic floor is the guarantee. No LLM in the verification path.

AIR VERIFY-INTENT
$ air verify-intent chain.jsonl
Intent: "Refactor the auth module"
Source: INTENT_DECLARATION
Checking 14 steps...
SV-SECRET step 5: ~/.ssh/id_rsa
secret_access not declared
SV-NET step 7: POST attacker.com
not in allowed_network
SV-EXFIL #5 → #7: causal path
secret read → network egress
FAILED BY AIR (2 critical, 1 high)