Files
alkblobs/Cargo.toml
T
glm-5.3-flash 423c4cbf5c docs(record): the ADR-020 record corrections — the docs describe landed reality; the 0.2.0 bump (§Decision 9, wave 14)
Code-side record corrections, last of the ADR-020 implementation
round's tasks: no current-surface document advertises a deleted shape
or the superseded wire posture.

- README.md: the opening hash description restated around put_as and
  family-explicit Key::from_bytes construction (the wave-13 gate's
  put_git_object / from_git_oid_hex / documented-scoping phrasing
  dropped); the body's Store::put reads and the quick-start fence moved
  to the one seam (matching tests/readme_examples.rs, already on the
  seam); the docs bullet's ADR range 001-020.
- fuzz/README.md: the key_encoding target's surface shrunk to the
  landed cluster (from_bytes/as_bytes, the Algorithm registry mapping,
  the explicit Algorithm::derive) — the from_git_oid_hex / Key::derive
  / Digest::derive entries and the length-selects-family hex-posture
  clause dropped; the invariant list aligned with fuzz/shared's own
  doc header.
- tests/conformance/README.md: INV-1's pinning text names put_as.
- ops-surface.md / store-api.md / hashing-and-keys.md: already
  described the landed shapes exactly (their WHAT text rode the
  implementation commits); the "Reviewed pending the implementation
  round's verification" banners flipped to landed (verified by the
  wave-14 pinning test, the conformance family legs, and the fuzz
  key_encoding invariants).
- CHANGELOG.md: the [0.2.0] entry — the wire break (tag-prefixed key
  hex, bare hex dead, mandatory put claims, the {token, key} response)
  and the facade break (put, put_git_object, from_git_oid_hex,
  Digest::derive, Key::derive removed; put_as added), the ADR-020 ref,
  and the refreshed Verified counts.
- Cargo.toml: version = "0.2.0" (no shim, no dual-form period);
  fuzz/Cargo.lock follows the bump.

Verification: cargo test (default) 219 green (unit 156, conformance
54, git-interop 7, README examples 2) and cargo test --all-features
against the live pg harness 476 green, both clippy variants
(-D warnings), cargo fmt --check, cargo doc --no-deps,
cargo publish --dry-run --allow-dirty (0.2.0 packages), and the fuzz
corpora replay gate 7/7 — all green.

Task: tasks/record-corrections-adr-020.md (status: completed).
2026-10-19 01:12:50 +00:00

51 lines
1.6 KiB
TOML

[package]
name = "alkblobs"
version = "0.2.0"
edition = "2021"
rust-version = "1.88"
license = "MIT OR Apache-2.0"
description = "Content-addressed blob storage: multi-hash put/get/verify store with pluggable backends, transport- and protocol-agnostic"
repository = "https://git.alk.dev/alkdev/alkblobs"
readme = "README.md"
keywords = ["blobs", "content-addressed", "storage", "git", "gix"]
categories = ["asynchronous", "filesystem", "database"]
exclude = [".opencode/", "AGENTS.md", "docs/reviews/", "docs/research/", "docs/plans/", "tasks/", "docs/sdd_process.md", "fuzz/"]
[workspace]
members = ["."]
exclude = ["fuzz"]
[lib]
name = "alkblobs"
[features]
default = ["mem", "sqlite"]
sqlite = ["dep:rusqlite"]
postgres = ["dep:tokio-postgres", "dep:deadpool-postgres"]
mem = []
pg-lo = ["dep:tokio-postgres", "dep:deadpool-postgres"]
ops = ["dep:alkcall", "dep:serde", "dep:serde_json", "dep:getrandom"]
[dependencies]
tokio = { version = "1", default-features = false, features = ["rt", "sync", "io-util", "macros", "time"] }
thiserror = "2"
parking_lot = "0.12"
alkcall = { version = "0.10", optional = true }
deadpool-postgres = { version = "0.14", optional = true }
getrandom = { version = "0.4", optional = true }
hex = "0.4"
rusqlite = { version = "0.40", features = ["bundled"], optional = true }
serde = { version = "1", features = ["derive"], optional = true }
serde_json = { version = "1", optional = true }
sha1 = "0.10"
sha2 = "0.10"
tokio-postgres = { version = "0.7", optional = true }
[target.'cfg(unix)'.dependencies]
libc = "0.2"
[dev-dependencies]
async-trait = "0.1"
tokio = { version = "1", default-features = false, features = ["rt-multi-thread"] }