Canon

A bright core inside a ring, joined by curved bundles of fine lines to five small rings around it, with dashed lines linking the small rings to each other.A bright core inside a ring, joined by curved bundles of fine lines to five small rings around it, with dashed lines linking the small rings to each other.

command-line tool that packages memory for AI assistants

Canon turns explicit local memory records and typed atoms into provider-neutral continuity capsules for Codex, Claude Code, and other agent hosts. It previews target readiness, exports Canon Markdown or capsule JSON, and rewrites only declared local instruction-file regions when a caller chooses an owned surface.

Status
active
Access
install
Release
v0.4.2 on GitHub and PyPI as flywheel-canon
Checked
2026-09-26

Who it is for

Audiences

  • agent-system engineers
  • developer-operations maintainers
  • teams moving context across agent hosts

Deployment contexts

  • local agent workspaces
  • Codex and Claude Code instruction surfaces
  • offline release-review handoffs

Inputs and outputs

Inputs

  • Record JSONL and CanonAtom JSONL inputs
  • target adapter, target profile, and workspace path
  • optional owned instruction-file region for local updates

Outputs

  • capsule preview with readiness and source-state hashes
  • Canon Markdown, capsule JSON, readiness JSON, or bundle export
  • optional owned-region update with undo receipt

Run or evaluate

See it work, step by step An animated walkthrough with the real commands and output from the repository.

Entrypython -m pip install flywheel-canon==0.4.2; canon --json preview --workspace . --records records.jsonl --atoms atoms.jsonl --target codex-cli

README example inputs Use the README example beside the first command to create records.jsonl and atoms.jsonl before running preview or export.

Verificationcanon check; canon --json export --workspace . --records records.jsonl --atoms atoms.jsonl --target codex-cli --format bundle --out bundle

Inspect the public source

Architecture and relationships

Related records

Architecture, dependencies, and relationship notes

Dependencies

None declared in the public registry.

Relation-backed claims

No relation-backed claims are registered for this system.

Current evidence

Canon v0.4.2

Verified

How we know

The v0.4.2 GitHub release was published on 26 September 2026 (Pacific time) and attaches the wheel, the source archive and SHA256SUMS.txt. The wheel and source archive digests in SHA256SUMS.txt match the digests PyPI reports for flywheel-canon 0.4.2. The release redacts every ingest, scrubs query excerpts before cutting them, counts transcript paths instead of listing them, and reports a purge as purged only when its scrub finished.

flywheel-canon 0.4.2 on PyPI

Verified

How we know

PyPI serves flywheel-canon 0.4.2. PyPI dates the upload 27 September 2026 in UTC, which is 26 September in Pacific time. A clean virtual environment installed it from PyPI on 26 September 2026, and pip reported the installed version as 0.4.2. This is distribution evidence; it does not establish that every feature works on every platform.

Canon v0.1.0

Verified

How we know

The v0.1.0 GitHub release resolves to commit c9ee6b33d89bd9cf8b2b214523f2b4ada77f75a0 and publishes canon-0.1.0-py3-none-any.whl SHA-256 939639e91414bfe163c43ea689f1a5ddf348254c1989fa54b08c5f2b3849246f, canon-0.1.0.tar.gz SHA-256 99fe489ef7ca2a8243d24a46c1de6abe597ecc5019ddf5276a5f27201e27ee2a, and SHA256SUMS.txt SHA-256 05112cf7f5829744b191e56f4e08ac002fb3a5dd3dcc82ca7bd00c776b6bb195. Distribution is GitHub-only; no PyPI release is claimed.

Canon 0.1.0 source

Verified

How we know

The v0.1.0 tagged source contains the Canon CLI for selected local memory records, typed atoms, provider-targeted preview, stdout exports, and declared instruction-surface bundle writes.

How we know

The README documents canon --json preview plus Canon Markdown, capsule JSON, and bundle export commands from explicit local records and atoms. It also states that preview and stdout exports are portable while new bundle creation currently requires Windows with the confined native writer.

Limitations and authorization boundaries

  • Preview and export read explicit local JSONL inputs. They do not import provider auth, private databases, ChatGPT web state, Claude web state, credentials, or native provider history.
  • Preview and stdout exports are portable across supported Python platforms; creating a new three-file bundle currently requires Windows with the confined native writer.
  • A capsule preserves declared context and omissions. It does not prove host enforcement or future provider behavior.
  • Canon publishes on PyPI as flywheel-canon. The PyPI name canon-memory belongs to another publisher.
  • flywheel-canon 0.2.0 and later releases before 0.4.2 are affected by GHSA-48rq-xjfx-6j4f; install 0.4.2 or later. The advisory does not name the GitHub-only 0.1.0 release.

Authorization boundary. Use only records, atoms, and local surfaces you are authorized to read or update; do not export private provider state, credentials, or unpublished memory banks into public artifacts.