nomograph-workflow 0.1.0

Shared workflow layer for nomograph claim-substrate tools: Store adapter, phase state machine, v1 legacy detection, cross-tool helpers.
Documentation
//! nomograph-workflow — shared layer between claim-substrate tools.
//!
//! Extracted from duplicated adapter code in synthesist and lattice
//! (both tools wrapped `nomograph_claim::Store` with near-identical
//! thin adapters). Consolidated here so:
//!
//! - `Store` (the adapter) is a single source of truth. When
//!   `nomograph_claim::Store` evolves, synthesist and lattice pick up
//!   the change through one file, not two.
//! - The [`phase`] state machine (workflow phases) has a clear owner.
//!   Future tools (seer) can call `workflow::phase::check_phase` to
//!   enforce the same rules synthesist does.
//! - v1 legacy detection lives in one place; every tool that reads a
//!   project directory picks up the same prescriptive migration error.
//!
//! # What belongs here
//!
//! Things that MORE THAN ONE nomograph tool needs, AND that are tied
//! to the claim substrate's conventions. In practice:
//!
//! - The `<repo_root>/claims/` discovery walk (same for every tool)
//! - The `user:local:<user>[:session]` asserter convention
//! - Schema validation at the append boundary
//! - The phase state machine (synthesist + future seer)
//! - Legacy-v1 detection
//! - Cross-tool helpers: `parse_tree_spec`, `today`, `json_out`
//!
//! # What does NOT belong here
//!
//! - Per-tool CLI handlers (stay in synthesist / lattice)
//! - Tool-specific claim types (Campaign, etc. — still just appended
//!   through `Store::append` with a [`ClaimType`](nomograph_claim::ClaimType))

pub mod helpers;
pub mod legacy;
pub mod phase;
pub mod store;

pub use helpers::{json_out, parse_tree_spec, today};
pub use legacy::{find_legacy_v1_db, legacy_migration_error};
pub use phase::{Phase, check_phase};
pub use store::{CLAIMS_DIR, Store};