Skip to main content

Witful

Witful is the Python library and CLI for Identity, a user-owned policy and learning layer for intelligent agents. It turns reviewed guidance, sourced lessons, and observed decisions into validated, searchable records that engineers and agents can reuse across projects.

Witful supplies the collection and review tooling. The executing agent applies relevant guidance within its granted authority; people decide which teachings to accept. Git versions the source records, while configured CI and runtime hooks validate changes and check review coverage.

Table of contents

Install

Requires Python 3.12+ on macOS or Linux, excluding Python 3.14.1.

pip install witful
witful --help

Use witful init ./my-collection to create an empty collection when you need a new one. Keep existing collections in place and pass --repo to the relevant commands. See CLI contracts and first run.

Install witful[postgres] to enable the optional PostgreSQL storage adapter.

Responsibilities

The workflow is to retrieve applicable guidance, perform authorized work, record what happened, and review the result against that guidance. Witful supports the record and review steps through these capabilities:

  • Validate the attrs/cattrs hierarchy and append-only journals.
  • Index lessons in SQLite or optional PostgreSQL.
  • Preserve concise decisions and source snapshots for reproducible replay.
  • Record observed applications, tool use, and project checkpoints.
  • Track explicit runtime provenance, reconcile pending tasks, and compare native evidence across instances.
  • Render plots from recorded evidence and explicitly export selected awareness figures.
  • Check publication inputs with the PII scanner and configurable deny terms.
  • Install and synchronize encrypted, signed private collections.
  • Isolate concurrent sleeves, sign backups, and reconcile their histories before closure.

Source journals remain owned by the collection. Generated proposals require review before they become accepted lessons. Application counts describe recorded use; completion checks establish review coverage. Evidence quality, permission checks, and runtime enforcement remain responsibilities of the people and integrations using those outputs.

Guides

Architecture and collection conventions, CLI, awareness figures, private collection setup, multisleeving, observed instances, security, and development.

Hierarchy terminology

The hierarchy is Identity -> Discipline -> Skill -> Lesson -> Insight. An Insight is a concrete, reusable takeaway from a sourced Lesson. The Python type is Insight, and lessons and catalog annotations expose an insights tuple.

New catalogs use version 2 and the insights field. Version-1 catalogs with lemmas remain readable and serialize with their original spelling, preserving content-addressed snapshots and decision chains. To migrate a current catalog, change its version to 2 and rename each annotation's lemmas key to insights together. Keep concept IDs unchanged. Do not edit historical journals or snapshots.

Checkpoint comparisons retain their existing digest representation, so the rename alone does not count as learning. Current plots and CLI output use Insight; existing concept IDs remain stable. Historical replay still requires acknowledgment of renderer changes before producing different plot bytes.

Metadata

Release files for witful 0.5.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for witful 0.5.1
File Size Uploaded
witful-0.5.1.tar.gz 196.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for witful 0.5.1
File Interpreter ABI Platform
witful-0.5.1-py3-none-any.whl Python 3 none any Details

Total release size: 480.5 kB

Release files / witful-0.5.1.tar.gz

Download URL witful-0.5.1.tar.gz
Size 196.8 kB
Tags Source
SHA-256 checksum
How to use checksums
b0f9f417a8d7906930c7c6e9d8c47217603858e5fc4782d3919ef95a9f036faa
BLAKE2b-256 checksum
How to use checksums
d2d1fe8f2ec73c8ff4965bcff086690b21166af1e461412aad000ee0685ac5de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.5.1 CPython/3.14.8 Linux/6.17.0-1022-azure

Release files / witful-0.5.1-py3-none-any.whl

Download URL witful-0.5.1-py3-none-any.whl
Size 283.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fc857ba6aecfed93939f44e34135d4a3ce2a985dc6e33052aaf729ed13810b4b
BLAKE2b-256 checksum
How to use checksums
6c882977a35547cb1eac5e9f09cf82d27f5e2cb9c1d4c6f4d24af8ffec7d4335
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.5.1 CPython/3.14.8 Linux/6.17.0-1022-azure

Release history Release notifications | RSS feed

This release

0.5.1 This release

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.3

2 release 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