Metadata-Version: 2.4
Name: kredo
Version: 0.18.1
Summary: Agent behavioral assessment client with resumable actual-runtime integration
Author: Jim Motes, Vanguard
License-Expression: MIT
Project-URL: Homepage, https://aikredo.com
Project-URL: Documentation, https://aikredo.com/_functions/skill
Project-URL: Repository, https://github.com/jimmotes2024/kredo
Project-URL: Discovery API, https://api.aikredo.com
Keywords: attestation,ed25519,trust,reputation,agents,ai-agents,cryptography
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Security :: Cryptography
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: pynacl>=1.5.0
Requires-Dist: pydantic>=2.0
Requires-Dist: typer>=0.9.0
Requires-Dist: rich>=13.0
Requires-Dist: fastapi>=0.115.0
Requires-Dist: uvicorn[standard]>=0.30.0
Requires-Dist: httpx>=0.27.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0; extra == "dev"

# Kredo

Kredo records behavioral assessments of AI agents so their operators can review measurements, evidence and changes over time. Connect the agent application you actually run, with the context you intend to measure. A direct call to a named model does not recreate that application.

**Site:** [aikredo.com](https://aikredo.com) · **Runtime guide:** [actual-runtime client](docs/ACTUAL_RUNTIME_CLIENT.md) · **Client candidate:** 0.18.1, unpublished.

## Choose the intended client flow

| Flow | What it does | Start here |
| --- | --- | --- |
| Actual-runtime pilot | Calls your existing command, trusted Python callback or HTTPS endpoint; saves answers, resumes the same assessment and retrieves a canonical receipt. | [Install the agreed artifact](docs/CUSTOMER_CLIENT_SETUP.md), then [connect your runtime](docs/ACTUAL_RUNTIME_CLIENT.md). |
| Published provider-model CLI | Registers an agent and calls a configured model provider with a supplied prompt. This is separate from your application with its normal tools and memory. | Use the instructions supplied with your installed published release. PyPI 0.15.1 was observed on 2026-10-17; installing from PyPI does not install this unpublished candidate. |
| Signed identity and attestation documents | Supports portable protocol documents and their signatures. This is separate from hosted behavioral receipt assurance. | [Historical protocol reference](docs/LEGACY_PROTOCOL_GUIDE.md) and the specific document's specification. Historical roadmap entries are not current hosted-service promises. |

## Connect your actual agent

Agree the fleet, authorized agent identity, service, included assessments, provider costs and data handling before a pilot starts. Use the matching reviewed client artifact. Keep credential values in the approved private profile, secret-managed environment or hidden prompt, outside command arguments and URLs.

Choose one connection:

```sh
# An existing command: question on stdin, complete answer on stdout
kredo-assess run --command "python my_agent.py" --current-model YOUR_MODEL

# Or a trusted Python callback that returns a string
kredo-assess run --module my_agent:respond

# Or an existing HTTPS endpoint, with its own runtime authorization
kredo-assess run --http-url https://your-agent.example/respond
```

Your runtime loads its intended system instructions, memory and tools. Kredo sends the assessment questions and receives the returned answers, which may contain sensitive information. Model/runtime declarations provide context; they are not independent verification of the agent's internals. A trusted callback shares the client process; it is not sandboxed. Command and HTTP integrations have bounded responses and explicit credential handling. Read the [connection details](docs/ACTUAL_RUNTIME_CLIENT.md) before choosing a mode.

## Continue or stop the same run

```sh
# Supply the original runtime if questions remain
kredo-assess resume --command "python my_agent.py"

# Saved uploads, queued scoring and stop recovery need no new runtime call
kredo-assess resume

# Explicitly request a stop for the saved run
kredo-assess cancel

# Inspect local receipts
kredo-assess status
kredo-assess history --limit 20
```

Keep the same service, agent, private profile, working directory, client Python interpreter and runtime configuration. Saved answers are reconciled before any remaining questions are called. An interrupted runtime operation may already have acted; inspect it before explicitly using `--retry-uncertain`. There is no exactly-once execution guarantee. Do not delete a checkpoint to force a replacement run.

Cancellation does not recall provider work or refund admitted usage. A running stop stays pending until work unwinds; an already committed result is preserved. After an uncertain stop, `resume` reads status rather than repeating the stop POST. See [cancellation states and exit codes](docs/ASSESSMENT_CANCELLATION.md).

## Interpret the result

An assessment receipt, an unscored outcome and a pending scoring job are different results. Inspect dates, measured coverage, baseline compatibility and evidence references. A baseline establishes a reference and awaits a compatible retest. Completion does not certify safety, suitability or compliance.

Hosted receipt v2 is **unsigned**. Runtime identity is **self-reported**. A local `kredo-assess check` evaluates chosen score limits; it does not verify a signature or establish current server freshness. The protocol's signed-document command is separate. See the [result and exit-code guide](docs/ACTUAL_RUNTIME_CLIENT.md#results).

## Release and operational boundaries

0.18.1 corrects documentation and package metadata on the 0.18.0 runtime. No Python runtime source changes are included. The new declared SDK version is tested with the paired service and saved-run recovery; older schemas and unsupported operating systems do not gain compatibility by this version bump. [Release notes](RELEASE_v0.18.1_client.md) identify the exact qualification boundaries.

Current API, site, client, judge and instrument versions are separate components. A successful package installation or `/health` response does not prove that the hosted assessment service has the required contracts and worker enabled. Source/installed tests with synthetic runtimes are distinct from acceptance of a customer's actual agent. Peer review, real customer/email/payment rehearsal, approved commercial terms and authorized production publication remain open.

## Reference

- [Customer artifact setup](docs/CUSTOMER_CLIENT_SETUP.md)
- [Actual-runtime guide](docs/ACTUAL_RUNTIME_CLIENT.md)
- [Recovery and custody contract](docs/ASYNC_ASSESSMENT_CLIENT.md)
- [Explicit cancellation](docs/ASSESSMENT_CANCELLATION.md)
- [Historical protocol/provider guide](docs/LEGACY_PROTOCOL_GUIDE.md)

Copyright Jim Motes. License: MIT (project metadata).
