Skip to main content

agent_doc_core/
lib.rs

1//! agent-doc-core — document data layer for agent-doc.
2//!
3//! See `tasks/agent-doc/plan-agent-doc-core-extraction.md` for the wave plan.
4//! Currently extracted: Wave 1 (id, crdt, component, model_tier, pending),
5//! Wave 2 (frontmatter, project_config), Wave 3 (template), Wave 4 (diff
6//! pure half per #rtx6 Option 1 — `ComputeResult`, `compute`,
7//! `compute_with_current`, `wait_for_stable_content`, `run` stay in the main
8//! crate's `diff_io.rs` because they call `snapshot::{load,save,resolve,
9//! path_for}`). Some functions in `frontmatter`, `project_config`, and
10//! `template` take `&Path` and touch the filesystem — they live here for the
11//! convenience of a single move and may be split into orchestration wrappers
12//! in a follow-up tidy.
13
14pub mod component;
15pub mod crdt;
16pub mod diff;
17pub mod ffi;
18pub mod frontmatter;
19pub mod gate_verify;
20pub mod heuristics;
21pub mod id;
22pub mod ipc_corruption;
23pub mod log_time;
24pub mod model_tier;
25pub mod op_log;
26pub mod pending;
27pub mod project_config;
28pub mod replay_guard;
29pub mod syntax;
30pub mod template;
31pub mod topic;
32pub mod turn_scope;
33
34pub use component::Component;
35pub use crdt::CrdtDoc;
36pub use diff::{
37    DiffClassification, DiffType, OrchestrationRequest, OrchestrationRequestMode,
38    ParsedSlashCommands, PromptBearingChange, PromptBearingChangeKind,
39};
40pub use id::{
41    BOUNDARY_ID_LEN, format_boundary_marker, new_boundary_id, new_boundary_id_with_summary,
42};
43pub use template::{ComponentInfo, PatchBlock, TemplateInfo};