generated from eblume/project-template
Round out the local query surface ahead of the distributed layer: - list(scope, attention, include_blue): the Organizational survey — outstanding committed tasks incl. backlog, with project/attention filters and an include_blue toggle. - health(): working-set tensions surfaced honestly — orange / active (white+orange+red) / on-deck (blue) counts; conflict_count + sync_status reserved for sync. - journal.open_or_create(date): deterministic id in (owner, ISO-date) (§3.1) so offline replicas converge; idempotent; rejects non-ISO dates. - Exposed over RPC (list / health / journal.open_or_create). 6 integration tests; 76 total green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
32 lines
1.1 KiB
Rust
32 lines
1.1 KiB
Rust
//! `heph-core` — the Hephaestus core library.
|
|
//!
|
|
//! Data model, the [`Store`](store::Store) abstraction + local SQLite store,
|
|
//! query engine, markdown extraction, recurrence, and (later) the sync engine.
|
|
//! See `docs/reference/tech-spec.md` for the canonical specification.
|
|
//!
|
|
//! The library is synchronous and side-effect-light. All time enters through an
|
|
//! injected [`Clock`](clock::Clock) (tech-spec §2) so ranking and recurrence are
|
|
//! deterministic.
|
|
|
|
pub mod clock;
|
|
pub mod error;
|
|
pub mod export;
|
|
pub mod extract;
|
|
pub mod model;
|
|
pub mod ranking;
|
|
pub mod recurrence;
|
|
pub mod sqlite;
|
|
pub mod store;
|
|
|
|
pub use clock::{Clock, FixedClock};
|
|
pub use error::{Error, Result};
|
|
pub use export::{render as render_export, ExportFile, NodeExport};
|
|
pub use extract::{extract, ContextItem, Extraction};
|
|
pub use model::{
|
|
deterministic_id, Attention, Health, Link, LinkType, NewNode, NewTask, Node, NodeKind, Task,
|
|
TaskState,
|
|
};
|
|
pub use ranking::{rank, Dimension, RankedTask, RANKING};
|
|
pub use recurrence::{next_occurrence, reset_checkboxes};
|
|
pub use sqlite::LocalStore;
|
|
pub use store::Store;
|