Skip to main content

CyanDoor

Decision intelligence for AI agents.
Better decisions, learned from outcomes.

CI Python 3.12+ Apache-2.0

CyanDoor is building an outcome-trained decision layer for AI agents: connect decision-time evidence and eligible candidate actions with downstream outcomes, then use trustworthy history to guide the next choice.

Current release

Version 0.1.0 is an early, deliberately narrow Decision-Evidence foundation. It provides typed, deterministic candidate-set manifests: describe candidate identities, freeze the ordered set before outcomes are observed, calculate its canonical digest, and verify later that the sealed manifest has not changed.

It does not yet include runtime connectors, persistence, Decision Audit/headroom, policy learning, cloud sync, or automatic agent optimization. Coding agents are the initial evidence environment, not the long-term product boundary.

Install

Requires Python 3.12 or newer.

pip install cyandoor

Real example

from datetime import UTC, datetime

from cyandoor import (
    CandidateSetMember,
    DraftCandidateSetManifest,
    seal_candidate_set,
    verify_candidate_set,
)

now = datetime.now(UTC)
draft = DraftCandidateSetManifest(
    candidate_set_id="verification-strategies",
    candidate_set_version="1",
    decision_space_id="execution_strategy",
    members=(
        CandidateSetMember(
            order_index=0,
            candidate_id="run-tests-first@1",
            action_identity_digest="sha256:" + "1" * 64,
        ),
        CandidateSetMember(
            order_index=1,
            candidate_id="inspect-failure-first@1",
            action_identity_digest="sha256:" + "2" * 64,
        ),
    ),
    created_at=now,
)

sealed = seal_candidate_set(
    draft,
    eligibility_rule_id="default",
    eligibility_rule_version="1",
    evidence_eligibility_cutoff_at=now,
    sealed_at=now,
)

assert verify_candidate_set(sealed)

Why Decision Evidence?

Traces reconstruct a run. CyanDoor focuses on the choice inside it: what was available and eligible, what was selected, what evidence existed at the cutoff, and whether that record remains verifiable after the outcome is known.

The long-term relationship is:

decision-time evidence + eligible candidate actions + historical outcomes
-> better next decision

Product breadth belongs in neutral architecture. Public availability belongs only in tested capabilities.

Design principles

  • agent-agnostic contracts, with integrations claimed only after validation;
  • explicit provenance and evidence-strength states;
  • immutable, strictly validated models;
  • deterministic canonical serialization and digests;
  • no causal or improvement claim without supporting evidence.

The public website and expanded documentation are being developed in cyandoor/cyandoor-web. Until its canonical domain is live, this README remains the release-accurate technical starting point.

Contributing and status

The repository is in early alpha. Use GitHub Issues for focused bug reports and technical discussion.

License

CyanDoor is licensed under the Apache License 2.0.

Evidence is the beginning. Better decisions are the outcome.

Download files

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

Source Distribution

cyandoor-0.1.0.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

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

cyandoor-0.1.0-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cyandoor-0.1.0.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for cyandoor-0.1.0.tar.gz
Algorithm Hash digest
SHA256 eee660f897d33959c713a5fec316296bcf3a424eb5e43a30505a73178a5df423
MD5 dffb5aac1bfc68821e6ceb430019ec2f
BLAKE2b-256 b6b5b10209efaedf9d07668f228f8a6593683dfdd4436537d43c0e3394889c22

See more details on using hashes here.

Provenance

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

Publisher: publish.yml on cyandoor/cyandoor

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

File details

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

File metadata

  • Download URL: cyandoor-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for cyandoor-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 476f7e083f61d91c99652a15a7cc53ac6588ff3caaa0fbf48265b9f73e5fda1f
MD5 ffd772c50a8c00f146a80d1963b293f2
BLAKE2b-256 f40921d07c22a4b8035105c907899afac8e28230641b675b74e437159cc2715c

See more details on using hashes here.

Provenance

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

Publisher: publish.yml on cyandoor/cyandoor

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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page