[package] name = "jouleclaw-usecase-reverse" version.workspace = true edition.workspace = true license.workspace = true repository.workspace = true authors.workspace = true description = "Brownfield reverse-engineering of jouleclaw-usecase::UseCase from existing code or text. UseCaseReverser trait + a typed CodeBundle / ReverseRequest / ReverseResult shape so the model invocation lives behind the trait (caller picks an L3/L4 tier or a deterministic extractor); the in-tree HeuristicReverser is the deterministic reference (regex over Markdown headings) so tests stay reproducible. The Martinelli brownfield workflow as a first-class primitive." [dependencies] jouleclaw-usecase = { path = "../jouleclaw-usecase" } async-trait = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } thiserror = { workspace = true } regex = { workspace = true } [dev-dependencies] tokio = { workspace = true, features = ["macros", "rt"] }