[package] name = "jouleclaw-annotate" version.workspace = true edition.workspace = true license.workspace = true repository.workspace = true authors.workspace = true description = "Sub-artifact annotation primitive — select a span in a deliverable (text range, spreadsheet cell range, slide region, DOM selector) and ask the agent to explain or edit just that span. The OpenAI Codex annotations shape (Nov 2026 launch). Composes with jouleclaw-revise for scored iteration, jouleclaw-contract for verification, jouleclaw-mission for multi-feature workflows. Pure types + trait; backends (model-backed, deterministic) plug in via the Annotator trait." [dependencies] async-trait = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } thiserror = { workspace = true } blake3 = { workspace = true } [dev-dependencies] tokio = { workspace = true, features = ["macros", "rt"] }