release-readme: the root README written last, honestly — crate family table with per-engine honest postures (ADR-016 compile-time identity, deployment.md as the boundary), mem-carried usage sketch compile-checked and executed against the real API, contract-suite pointer (three engines, one pinned contract), license note; LICENSE-MIT + LICENSE-APACHE per the family pattern (substrate notice untouched per ADR-018); CHANGELOG seeded with the 0.1.0 contract-v1 entry; per-crate readme wiring decided + landed (pointer-style per-crate readmes, readme fields wired on the four published crates); honesty trace list in task Notes; task -> completed
This commit is contained in:
1 parent
f5e0e8e199
commit
260fb31707
13 files changed
+599
-2
No files matched your search
@@ -0,0 +1,46 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this crate are documented here. The format is
|
||||
based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and
|
||||
this crate adheres to [Semantic Versioning](https://semver.org/).
|
||||
|
||||
## [0.1.0] - 2026-10-11
|
||||
|
||||
Initial crates.io release of the alkstore family: one reactive store
|
||||
contract (the pinned contract v1 surface) with three engine
|
||||
implementations.
|
||||
|
||||
The core crate (`alkstore`) defines the unified trait surface —
|
||||
notify/listen with transactional wake discipline, streams with
|
||||
per-consumer offsets and consumer-invoked `trim_to`, queues with
|
||||
visibility-timeout claims, backoff, dead-lettering and the opt-in
|
||||
retention sweep, TTL named locks, the outbox helper
|
||||
(`outbox_enqueue_tx` + `run_once`), the `@every` scheduler, and the
|
||||
caller-held `TxHandle` seam (drop = rollback) — plus the value types,
|
||||
error taxonomy, and the naming / reserved-namespace contract. No
|
||||
runtime capability surface: engine identity is compile-time, and the
|
||||
deployment honesty lives in the engine crates' postures plus the
|
||||
documented deployment matrix ([ADR-016]).
|
||||
|
||||
Three engines ship the same contract v1 surface:
|
||||
|
||||
- `alkstore-sqlite` — single-host, file-backed, over rusqlite and the
|
||||
forked honker-core substrate carried in-tree (bridged sync/async seam,
|
||||
`data_version` watcher wake).
|
||||
- `alkstore-postgres` — multi-host native, natively async over
|
||||
tokio-postgres + deadpool-postgres with a dedicated non-pooled
|
||||
LISTEN connection per LISTEN-ing process.
|
||||
- `alkstore-mem` — honest-ephemeral in-process state: full contract v1,
|
||||
no durability, never fleet-valid; the wasm32-compile-clean family
|
||||
member.
|
||||
|
||||
All three engines run the same contract-suite rows
|
||||
(`alkstore-contract-suite`) against their own factory — three engines,
|
||||
one pinned contract. The contract version is the core crate's semver
|
||||
([ADR-017]); this 0.1.0 release closes the pre-release contract-change
|
||||
window, and ADR-017 §2's class-1 amendment events terminate at it.
|
||||
|
||||
[0.1.0]: https://git.alk.dev/alkdev/alkstore/releases/tag/v0.1.0
|
||||
|
||||
[ADR-016]: docs/architecture/decisions/016-deployment-honesty.md
|
||||
[ADR-017]: docs/architecture/decisions/017-contract-versioning.md
|
||||
Reference in new issue
Block a user