Skip to main content

nusy_kanban/
lib.rs

1//! nusy-kanban — Arrow-native kanban engine for NuSy.
2//!
3//! Provides:
4//! - **Config** — parse `.yurtle-kanban/config.yaml` (dual boards, WIP limits, state graphs)
5//! - **Schemas** — Arrow table definitions for items, relations, runs
6//! - **Item Types** — 12 types across development and research boards
7//! - **ID Allocation** — sequential, conflict-safe ID assignment
8//! - **State Machine** — valid transitions, WIP limit enforcement
9//! - **CRUD** — create, read, update, delete items with audit trail
10//! - **Relations** — cross-item and cross-board links
11//! - **Persistence** — Parquet-backed load/save
12//! - **Query** — NL + structured filter extraction
13//! - **Display** — terminal table and board rendering
14//! - **Export** — markdown + next-id output
15//! - **Migration** — parse Yurtle markdown files into Arrow tables
16
17pub mod backup;
18pub mod base64;
19#[cfg(feature = "client")]
20pub mod client;
21pub mod comments;
22pub mod config;
23pub mod critical_path;
24pub mod crud;
25pub mod display;
26pub mod embeddings;
27pub mod experiment_runs;
28pub mod export;
29pub mod file_index;
30#[cfg(feature = "pr")]
31pub mod git_cli;
32pub mod hdd;
33pub mod hooks;
34pub mod id_alloc;
35pub mod item_type;
36#[cfg(feature = "client")]
37pub mod mcp_server;
38pub mod migrate;
39#[cfg(feature = "client")]
40pub mod nats_training_queue;
41pub mod persist;
42pub mod persistence;
43#[cfg(feature = "pr")]
44pub mod pr_cli;
45pub mod query;
46pub mod relations;
47pub mod schema;
48#[cfg(feature = "pr")]
49pub mod source_cli;
50pub mod state_machine;
51pub mod stats;
52pub mod templates;
53pub mod theme;
54pub mod training_queue;
55pub mod turtle_builder;
56pub mod validate;
57
58pub use comments::CommentsStore;
59pub use config::{BoardConfig, ConfigFile};
60pub use crud::{CreateItemInput, CrudError, KanbanStore};
61pub use hdd::{
62    build_registry, create_experiment, create_hypothesis, create_idea, create_literature,
63    create_measure, create_paper, query_experiment_queue, traverse_relations, validate_hdd,
64};
65pub use id_alloc::{allocate_id, allocate_id_from_str, max_id_for_type};
66pub use item_type::ItemType;
67pub use migrate::{MigrateResult, migrate_boards};
68pub use persistence::{
69    GitBackupMetrics, HealthMetrics, PersistenceConfig, PersistenceEngine, SaveMetrics,
70};
71pub use relations::RelationsStore;
72pub use schema::{comments_schema, items_schema, relations_schema, runs_schema};
73pub use state_machine::{check_wip_limit, validate_transition};