Skip to main content

persona_wire/
lib.rs

1//! persona-wire — CLI + migration hub for the 15-crate persona-wire
2//! workspace. persona-wire is a graph engine over persona × SoT ×
3//! workflow context routing; the workspace splits into (a) the pure
4//! domain / application / infrastructure core (`persona-wire-core`),
5//! (b) the MCP server library (`persona-wire-mcp`) that wraps the core
6//! for `serve_stdio`, (c) ten `persona-wire-adapter-*` crates that
7//! dispatch scheme-tagged URIs (`github://`, `mcp://`, `mini-app://`,
8//! `notion://`, `obsidian://`, `persona-pack://`, `rss://`, `slack://`,
9//! `sqlite://`, `todoist://`), and (d) shared infrastructure
10//! (`persona-wire-transport-http` for reqwest+rustls, and
11//! `persona-wire-credentials` for the Env→Keyring provider chain).
12//!
13//! This crate (the `persona-wire` binary itself) is the thin CLI
14//! surface: it hosts three binary targets — `persona-wire` (the
15//! unified subcommand entry point including `persona-wire mcp` which
16//! dispatches into `persona-wire-mcp::serve_stdio`), `pw-migrate` (the
17//! migration driver over the framework below), and
18//! `migrate_id_to_ulid` (a deprecated alias of `pw-migrate` kept for
19//! release-note continuity). Only modules that need to be shared
20//! across those binaries (or used by external integration tests) live
21//! in `lib.rs`; the CLI wiring proper lives in `main.rs` / `bin/`.
22//!
23//! The shared surface here is the [`migrations`] module, which holds
24//! the numbered schema migration framework consumed by `pw-migrate`.
25
26pub mod migrations;