Metadata-Version: 2.4
Name: memoriesql
Version: 0.0.4
Summary: Experimental memoriesQL contract catalogs and provider-neutral runtime
Author: John Inniger
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/JohnnyFiv3r/memoriesql
Project-URL: Repository, https://github.com/JohnnyFiv3r/memoriesql
Project-URL: Issues, https://github.com/JohnnyFiv3r/memoriesql/issues
Project-URL: Security, https://github.com/JohnnyFiv3r/memoriesql/security/policy
Keywords: ai,contracts,json-schema,memory
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: <3.15,>=3.13
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
Requires-Dist: psycopg[binary]==3.3.3
Requires-Dist: pydantic==2.13.3
Requires-Dist: pydantic-ai-slim==2.27.0
Dynamic: license-file

# memoriesQL catalogs and provider-neutral runtime

`memoriesql` is an experimental, pre-alpha package for governed contract catalogs and provider-neutral runtime mechanics. The immutable `0.0.1a1` release remains catalog-only.

It bundles exactly 49 provider-neutral records: 43 JSON Schema records, five Python-surface records, and one synthetic reference connector. Five additional catalog kinds are present as explicit empty `not_implemented` documents. Twelve experimental Python and CLI APIs provide catalog listing and exact record lookup.

Published `0.0.2` introduced canonical migrations and the provider-neutral authorization, capture/range/fold, canonical transaction, queue, executor and accounting runtime. Synthetic models exercise execution mechanics. Desktop composition, live acquisition, real-provider bindings, recall and a running background service are not included.

```console
memoriesql contracts --json
memoriesql contract memoriesql.capture.connector-cursor --json
```

```python
from memoriesql.contracts import get_contract, load_catalog

schemas = load_catalog("json_schema")
cursor = get_contract("memoriesql.capture.connector-cursor")
```

The new migration substrate requires Python 3.13+ (initially qualified on 3.13/3.14, metadata `>=3.13,<3.15`) and the audited dependencies `psycopg[binary]==3.3.3`, `pydantic==2.13.3`, `pydantic-ai-slim==2.27.0` without provider extras. The published `0.0.1a1` remains catalog-only with its original Python support. Install an exact released runtime version for migration capabilities; an unpinned install on older Python may fail because the runtime is incompatible and pip excludes prereleases by default. For catalogs on older Python, explicitly pin `memoriesql==0.0.1a1`; allowing prereleases with `--pre` also makes that historical fallback eligible. Catalog reads remain resource-only and independent of database imports.

All APIs are experimental throughout 0.x and have no general compatibility guarantee. A published contract ID and version payload is immutable; breaking contract changes require a new contract version. An uploaded distribution is corrected only through a new distribution version.

Source is licensed under Apache-2.0. The memoriesQL name and brand assets are not granted as trademarks by that license.
Published `0.0.3` establishes cleanup retention independently of a blocked ordinary heartbeat while retaining ownership of unfinished work.

Unreleased `0.0.4` adds schema 15 and explicit version-2 initial-authoring and correction commands. Accepted meaning, type and summary are immutable. Corrections create new beads with explicit pinned supersession; independent branches and multi-target reconciliation are supported without choosing a global winner. Occurrence replay still returns the original initial bead. Historical versions and successful version-1 receipts remain readable under current authority. Legacy attempts to revise an accepted bead fail explicitly and require an updated caller. Publication and product adoption require separate authorization.
