post-cortex-core 0.3.0

Core domain library for post-cortex: lock-free conversation memory, semantic search, knowledge graph, and storage backends. Transport-agnostic — no axum/tonic/rmcp.
Documentation
[package]
name = "post-cortex-core"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
description = "Core domain library for post-cortex: lock-free conversation memory, semantic search, knowledge graph, and storage backends. Transport-agnostic — no axum/tonic/rmcp."
keywords = ["conversation", "memory", "semantic-search", "lock-free", "knowledge-graph"]
categories = ["data-structures", "database-implementations", "concurrency"]
readme = "README.md"
documentation = "https://docs.rs/post-cortex-core"

[dependencies]
# post-cortex-core is the dependency root. Only the proto crate (for
# FreshnessEntry / SourceReference types referenced from the domain
# layer) and lightweight stdlib-adjacent crates.
post-cortex-proto.workspace = true

# Core async runtime + serialisation
anyhow.workspace = true
serde.workspace = true
serde_json.workspace = true
schemars.workspace = true
bincode.workspace = true
uuid.workspace = true
chrono.workspace = true
tokio.workspace = true
tokio-util.workspace = true
futures.workspace = true
thiserror.workspace = true
async-trait.workspace = true
regex.workspace = true
# Phase 4 — services::PostCortexService trait carries serde-able request/
# response types; tracing instrumentation lives at the impl side in
# post-cortex-memory.

# Lock-free + concurrency primitives
dashmap.workspace = true
crossbeam-channel.workspace = true
crossbeam-queue.workspace = true
arc-swap.workspace = true
atomic_float.workspace = true
parking_lot.workspace = true
rayon.workspace = true
num_cpus.workspace = true
rand.workspace = true

# Domain
petgraph.workspace = true

# Observability
log.workspace = true
tracing.workspace = true

[dev-dependencies]
tokio-test.workspace = true
tempfile.workspace = true
criterion.workspace = true
proptest.workspace = true
serial_test.workspace = true
tokio-stream.workspace = true

[features]
default = []
# Placeholder for Phase 10 — the otel feature toggles between no-op tracing
# layers and the full OTLP exporter stack. Wired with deps in Phase 10.
otel = []

[lints]
workspace = true