hephaestus/crates/heph-core/src/lib.rs
Erich Blume d749c2a428 heph-core: Organizational list, health, journal (§6, §7)
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>
2026-05-31 20:40:33 -07:00

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;