CHANGELOG.md
LICENSE
MANIFEST.in
README.md
pyproject.toml
docs/art/canon-header.svg
docs/art/canon.art.json
docs/art/record-table.svg
docs/art/surface-lane.svg
docs/art/verdict-lane.svg
project-docs/F0-DECISIONS.md
project-docs/F0-DECLARED-DROPS.md
project-docs/F0-LAYERING.md
project-docs/F0-SCHEMA.md
project-docs/F0-SECTION-OWNERSHIP.md
project-docs/F1-BACKENDS.md
project-docs/F1-DECISIONS.md
project-docs/M4-CANON-CHECK.md
project-docs/M4-DECISIONS.md
project-docs/M4-EXPANDED-SCOPE-PROPOSAL-20260831.md
project-docs/M4-TRANSPORT.md
project-docs/M4-VAULT-READER.md
project-docs/M4-VERSIONS.md
project-docs/MCP-DECISIONS.md
project-docs/R0-DECISIONS.md
project-docs/R1-DECISIONS.md
project-docs/R2-DECISIONS.md
project-docs/V2-DECISIONS.md
project-docs/V3-DECISIONS.md
project-docs/V4-DECISIONS.md
src/canon/__init__.py
src/canon/__main__.py
src/canon/adapter.py
src/canon/atom.py
src/canon/blocks.py
src/canon/bootstrap.py
src/canon/bootstrap_report.py
src/canon/bootstrap_runtime.py
src/canon/bootstrap_runtime_cache.py
src/canon/bootstrap_runtime_error.py
src/canon/bootstrap_runtime_inputs.py
src/canon/bootstrap_sources.py
src/canon/bootstrap_state_root.py
src/canon/bootstrap_validation.py
src/canon/bootstrap_witness_store.py
src/canon/bootstrap_witness_store_posix.py
src/canon/canon_check.py
src/canon/canonical_json.py
src/canon/canonmd.py
src/canon/canonpack.py
src/canon/capsule.py
src/canon/capsule_build.py
src/canon/capsule_rules.py
src/canon/capsule_types.py
src/canon/capsule_validation.py
src/canon/cli.py
src/canon/cli_artifacts.py
src/canon/cli_compile.py
src/canon/cli_context_purge.py
src/canon/cli_context_text.py
src/canon/cli_export.py
src/canon/cli_export_support.py
src/canon/cli_files.py
src/canon/cli_format.py
src/canon/cli_handoff.py
src/canon/cli_import.py
src/canon/cli_init.py
src/canon/cli_parser.py
src/canon/cli_publish.py
src/canon/cli_rescue.py
src/canon/cli_workspace.py
src/canon/cli_workspace_author.py
src/canon/cli_workspace_common.py
src/canon/cli_workspace_parser.py
src/canon/client_capture.py
src/canon/client_capture_payload.py
src/canon/client_capture_stop.py
src/canon/concurrency.py
src/canon/concurrency_capability.py
src/canon/concurrency_errors.py
src/canon/concurrency_lock.py
src/canon/concurrency_lock_backend.py
src/canon/concurrency_posix.py
src/canon/concurrency_windows.py
src/canon/concurrency_windows_api.py
src/canon/context_access.py
src/canon/context_audit.py
src/canon/context_mcp.py
src/canon/context_migrate.py
src/canon/context_purge.py
src/canon/context_purge_report.py
src/canon/context_query.py
src/canon/context_records.py
src/canon/context_related.py
src/canon/context_retention.py
src/canon/context_scrub.py
src/canon/context_selection.py
src/canon/context_store.py
src/canon/doctor.py
src/canon/drift.py
src/canon/exit_codes.py
src/canon/export_output.py
src/canon/fidelity.py
src/canon/frontmatter.py
src/canon/import_policy.py
src/canon/import_review.py
src/canon/import_review_safety.py
src/canon/layering.py
src/canon/local_mcp.py
src/canon/omission.py
src/canon/path_policy.py
src/canon/persona_thesis.py
src/canon/readiness.py
src/canon/reconcile.py
src/canon/reconcile_gate.py
src/canon/reconcile_run.py
src/canon/region.py
src/canon/registry.py
src/canon/replay.py
src/canon/rescue.py
src/canon/rescue_artifacts.py
src/canon/rescue_output.py
src/canon/retention.py
src/canon/retention_receipts.py
src/canon/retention_safety.py
src/canon/schema.py
src/canon/secret_quarantine.py
src/canon/source_safe_read.py
src/canon/source_state.py
src/canon/source_state_cache.py
src/canon/surface.py
src/canon/textblock.py
src/canon/textblock_scope.py
src/canon/textutil.py
src/canon/transform.py
src/canon/undo.py
src/canon/undo_io.py
src/canon/undo_posix.py
src/canon/undo_posix_core.py
src/canon/undo_posix_files.py
src/canon/undo_receipts.py
src/canon/validator.py
src/canon/validator_workspace.py
src/canon/vault.py
src/canon/vault_fidelity.py
src/canon/vault_mirror.py
src/canon/vault_read_fidelity.py
src/canon/vault_reader.py
src/canon/versions.py
src/canon/versions_migrate.py
src/canon/versions_pin.py
src/canon/witness.py
src/canon/writing_gate.py
src/canon/backends/__init__.py
src/canon/backends/base.py
src/canon/backends/files.py
src/canon/backends/flywheel.py
src/canon/backends/mneme.py
src/canon/backends/sqlite.py
src/canon/transport/__init__.py
src/canon/transport/base.py
src/canon/transport/capabilities.py
src/canon/workspace/__init__.py
src/canon/workspace/authoring.py
src/canon/workspace/backflow.py
src/canon/workspace/backflow_brief.py
src/canon/workspace/brief.py
src/canon/workspace/brief_items.py
src/canon/workspace/describe.py
src/canon/workspace/extract.py
src/canon/workspace/gitconfig.py
src/canon/workspace/hosts.py
src/canon/workspace/identity.py
src/canon/workspace/import_claude.py
src/canon/workspace/import_claude_chain.py
src/canon/workspace/import_codex.py
src/canon/workspace/import_common.py
src/canon/workspace/import_project.py
src/canon/workspace/import_source.py
src/canon/workspace/import_write.py
src/canon/workspace/ledger.py
src/canon/workspace/moves.py
src/canon/workspace/pool.py
src/canon/workspace/rows.py
src/canon/workspace/scrub.py
src/canon/workspace/scrub_rules.py
src/canon/workspace/scrub_shape.py
src/canon/workspace/store.py
src/canon/workspace/store_io.py
src/canon/workspace/switch.py
src/canon/workspace/switch_host.py
src/canon/workspace/target_fidelity.py
src/canon/workspace/targets.py
src/flywheel_canon.egg-info/PKG-INFO
src/flywheel_canon.egg-info/SOURCES.txt
src/flywheel_canon.egg-info/dependency_links.txt
src/flywheel_canon.egg-info/entry_points.txt
src/flywheel_canon.egg-info/requires.txt
src/flywheel_canon.egg-info/top_level.txt
tests/test_backend_base.py
tests/test_blocks.py
tests/test_blocks_chain_unchanged.py
tests/test_canon_check.py
tests/test_client_capture.py
tests/test_client_capture_scope.py
tests/test_client_capture_stop.py
tests/test_concurrency.py
tests/test_context_docs.py
tests/test_context_hostile_rows.py
tests/test_context_identifier_query.py
tests/test_context_mcp.py
tests/test_context_mcp_egress.py
tests/test_context_purge.py
tests/test_context_purge_cli.py
tests/test_context_purge_cli_outcomes.py
tests/test_context_purge_closure.py
tests/test_context_purge_faults.py
tests/test_context_purge_mcp.py
tests/test_context_purge_select.py
tests/test_context_related_events.py
tests/test_context_retention.py
tests/test_context_salted_put.py
tests/test_context_scrub.py
tests/test_context_store.py
tests/test_context_store_identity.py
tests/test_declared_drops.py
tests/test_doctor_cli.py
tests/test_drift.py
tests/test_export_rescue_cli.py
tests/test_fidelity.py
tests/test_files_backend.py
tests/test_flywheel_backend.py
tests/test_frontmatter.py
tests/test_import_policy.py
tests/test_import_review.py
tests/test_layering.py
tests/test_local_mcp.py
tests/test_mcp_check.py
tests/test_mneme_backend.py
tests/test_module_entry.py
tests/test_orchestration.py
tests/test_persona_thesis.py
tests/test_reconcile.py
tests/test_reconcile_gate.py
tests/test_reconcile_run.py
tests/test_region.py
tests/test_registry.py
tests/test_replay.py
tests/test_repo_art.py
tests/test_retention.py
tests/test_schema_roundtrip.py
tests/test_selective_continuity_cli.py
tests/test_soul.py
tests/test_source_safe_read.py
tests/test_sqlite_backend.py
tests/test_surface.py
tests/test_textblock.py
tests/test_textutil.py
tests/test_transport_base.py
tests/test_transport_conformance.py
tests/test_validator.py
tests/test_vault.py
tests/test_vault_fidelity.py
tests/test_vault_mirror.py
tests/test_vault_reader.py
tests/test_vault_reader_fidelity.py
tests/test_versions.py
tests/test_versions_migrate.py
tests/test_workspace_backflow.py
tests/test_workspace_backflow_review.py
tests/test_workspace_cli.py
tests/test_workspace_handoff.py
tests/test_workspace_handoff_markdown.py
tests/test_workspace_handoff_review.py
tests/test_workspace_identity.py
tests/test_workspace_import.py
tests/test_workspace_import_checkout.py
tests/test_workspace_import_review.py
tests/test_workspace_kinds.py
tests/test_workspace_moves.py
tests/test_workspace_scrub.py
tests/test_workspace_scrub_forms.py
tests/test_workspace_scrub_headers.py
tests/test_workspace_scrub_names.py
tests/test_workspace_scrub_query.py
tests/test_workspace_scrub_shape.py
tests/test_workspace_scrub_time.py
tests/test_workspace_scrub_userinfo.py
tests/test_workspace_store.py
tests/test_workspace_switch.py
tests/test_workspace_switch_codex_home.py
tests/test_workspace_switch_review.py
tests/test_workspace_targets.py
tests/test_writing_gate.py
tests/fixtures/layering_expected.json
tests/fixtures/layering_pool.json
tests/fixtures/bootstrap/atoms.jsonl
tests/fixtures/bootstrap/readiness_fail_missing_goal.json
tests/fixtures/bootstrap/readiness_pass.json
tests/fixtures/bootstrap/records.jsonl
tests/fixtures/bootstrap/secret_atoms.jsonl
tests/fixtures/foundation/CANON.expected.md
tests/fixtures/foundation/adapter_a2a_artifact_guided.json
tests/fixtures/foundation/adapter_codex_cli_native_advisory.json
tests/fixtures/foundation/adapter_mcp_readonly_guided.json
tests/fixtures/foundation/atom_active_goal.json
tests/fixtures/foundation/atom_conflict.json
tests/fixtures/foundation/atom_constraint.json
tests/fixtures/foundation/atom_frontier_state.json
tests/fixtures/foundation/atom_permission.json
tests/fixtures/foundation/atom_prohibition.json
tests/fixtures/foundation/atom_unknown.json
tests/fixtures/foundation/bootstrap_witness_pass.json
tests/fixtures/foundation/capsule_handoff_full.json
tests/fixtures/foundation/capsule_minimal_needle.json
tests/fixtures/foundation/omission_budget_noncritical.json
tests/fixtures/foundation/readiness_probe.json
tests/fixtures/foundation/transform_summary.json
tests/fixtures/records/adr_decision.json
tests/fixtures/records/episodic_memory.json
tests/fixtures/records/personality_block.json
tests/fixtures/records/research_artifact_ref.json
tests/fixtures/records/synthesized_persona_l3.json
tests/fixtures/transcripts/claude_code_session.jsonl
tests/fixtures/transcripts/codex_rollout.jsonl