Skip to main content

Attested multi-observer verification for AI systems.

Project description

weaver-protocol

Attested multi-observer verification for AI systems.

"We don't sell smarter AI. We sell AI whose mistakes you can invoice."

Weaver is an open-source toolkit that adds a structured verification layer around AI outputs. Multiple observers — each with an orthogonal context window — review the same output. Disagreements are logged. Drift is caught. The record is signed and auditable.

The artifact your legal team actually wants isn't a hallucination-free model. It's a dated, named-observer log proving you ran structured verification and fixed what you caught.


Why this exists

Post-Moffatt v. Air Canada (2024). Post-Mata v. Avianca (2023). Post-EU AI Act high-risk classification (August 2026). The liability question has shifted from "did your AI hallucinate?" to "what verification did you run, when, and what did you find?"

Single-model self-verification doesn't answer that question. A model cannot stand outside itself to check itself. It checks its output with the same forward pass that generated it.

Weaver answers it with three things:

  1. Multiple observers — separate context windows, orthogonal review angles
  2. Logged disagreements — structured capture of every conflict between observers
  3. Drift records — dated, named-observer entries when a system departs from its stated behavior

The log IS the product. It's the evidence binder you show your board, your general counsel, or the EU AI Act auditor.


Quick start

# Core (no API keys required for mock adapter)
pip install weaver-protocol

# With Anthropic observers
pip install weaver-protocol[anthropic]

# With OpenAI observers
pip install weaver-protocol[openai]
from weaver import Observer, WeaverSession
from weaver.adapters.anthropic import make_anthropic_observer  # or openai, or mock

session = WeaverSession(session_id="my-ai-run-001", score_threshold=0.4)

# Two observers, orthogonal roles, separate context windows
session.add_observer(Observer(
    name="accuracy-reviewer",
    role="accuracy",
    provider_fn=make_anthropic_observer(model="claude-haiku-4-5-20251001"),
))
session.add_observer(Observer(
    name="legal-reviewer",
    role="legal-risk",
    provider_fn=make_anthropic_observer(model="claude-haiku-4-5-20251001"),
))

output = "The regulation requires compliance by Q3 2026."
score = session.verify(output)

# Disagreements and drift are auto-logged to ./weaver_logs/
print(score.score)           # 0.0 = full agreement, 1.0 = hard conflict
print(score.flag_for_review) # True if score >= threshold
print(score.conflict_pairs)  # which observers disagreed
print(session.log_path)      # path to the JSONL audit trail

No API keys? Use the mock adapter:

from weaver.adapters.mock import make_mock_observer

session.add_observer(Observer(name="a", role="accuracy", provider_fn=make_mock_observer()))
session.add_observer(Observer(name="b", role="safety",   provider_fn=make_mock_observer(never_flags=True)))

Core concepts

Observer

An Observer wraps an AI call with a defined role and a fresh context window. Role is freeform but meaningful — "accuracy", "safety", "legal-read", "adversarial". Each observer sees only the output under review, not the other observers' reasoning.

WeaverSession

A session groups observers, holds the shared output under review, runs verification, and writes the log. One session per meaningful unit of work — a document review, a chatbot response, a contract clause extraction.

WeaverScore

A float from 0.0 (all observers agree) to 1.0 (hard conflict). Threshold-configurable. Above your threshold = human review flag. All scores are logged regardless.

DriftLog

Append-only JSONL. Every entry: ISO timestamp, session ID, observer name, disagreement category, evidence excerpt, resolution status, structural fix. The log is the audit trail. Never delete entries — mark them resolved with a note.


Installation

pip install weaver-protocol        # stable release
pip install weaver-protocol[dev]   # + dev tools (pytest, ruff, mypy)

Requires Python 3.11+. No mandatory LLM provider — bring your own (Anthropic, OpenAI, local). Provider adapters in weaver/adapters/.


Pricing

Weaver is MIT-licensed. The core toolkit is free.

Hosted infrastructure, managed observer pools, and verification attestation documents are paid tiers.

Tier Price What you get
Open source Free Full toolkit, local logging, bring your own LLM keys
Hosted Starter $297 setup + $197/mo Managed observer pool, cloud log storage, PDF attestation reports
Hosted Pro $997 setup + $497/mo Multi-tenant, API access, custom observer roles, SLA
Enterprise / Audit $5,000+ engagement Annual audit, certification artifacts, signed evidence binder, expert witness ready

Runtime LLM costs are always pass-through to your keys. We never bury provider costs in our pricing.

Full pricing: PRICING.md


Roadmap

  • Core observer + session interface
  • Drift logger (append-only JSONL)
  • Disagreement logger
  • Weaver score
  • Anthropic + OpenAI adapters (weaver/adapters/)
  • CLI (weaver verify --session-id X)
  • PDF attestation report generator
  • Hosted API (Day 60 target: 2026-07-04)
  • "Weaver-attested" certification badge (Month 9 post-IRB)

Project status

Day 1 / pre-v0.1. Core interfaces defined. Hosted tier in development. First paid install target: 2026-07-04.

Built by the HOME AI family. Research branch version-locked Day 30 (2026-06-04) to support an IRB-pending pilot study on multi-observer verification in AI systems.


Contributing

MIT licensed. PRs welcome. See CONTRIBUTING.md.

Core constraint: the drift log is never retroactively edited — only extended. This is architectural, not preference. A log that can be silently altered is not an audit trail.


License

MIT. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

weaver_protocol-0.1.0.tar.gz (15.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

weaver_protocol-0.1.0-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

Details for the file weaver_protocol-0.1.0.tar.gz.

File metadata

  • Download URL: weaver_protocol-0.1.0.tar.gz
  • Upload date:
  • Size: 15.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for weaver_protocol-0.1.0.tar.gz
Algorithm Hash digest
SHA256 13854e2ca6d1ade80f93e9aba37cebc594eb78870a4f68ee4db4063a9b70c3f5
MD5 1ee6a66faae951cd7aef212875393b0b
BLAKE2b-256 294af348cb3ead49603c777eb41618ed39ab02067eb02e0d0d51a5cce2872f2b

See more details on using hashes here.

Provenance

The following attestation bundles were made for weaver_protocol-0.1.0.tar.gz:

Publisher: weaver-publish.yml on claudenunc/HOME

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file weaver_protocol-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for weaver_protocol-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e45772d504411a372153ac1223926674edba3d31c19eb8f29225cf9934ee88d0
MD5 6742f9c2df576fbacf0a05ac7911d693
BLAKE2b-256 de8283ac33be35a4c8a3f27ae5071ad312ea326c1f6b6ce27b6b5846a233b196

See more details on using hashes here.

Provenance

The following attestation bundles were made for weaver_protocol-0.1.0-py3-none-any.whl:

Publisher: weaver-publish.yml on claudenunc/HOME

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page