package n7n:fix-deps@0.1.0;
// Детектор concern-а — дзеркало `harness::pipeline::DetectFn`
// (`Arc<dyn Fn() -> BoxFuture<'static, Result<Vec<Violation>, String>>>`).
//
// Wasm-компонент тут можливий БЕЗ застережень: детектор — чисто
// обчислювальна перевірка репозиторію (текст/AST/структура дерева), не
// зовнішній тулчейн. Перевірено на `7n-rules/crates/rules-core`
// (`crate::concerns::*`, 58 native-концернів, реєстр `run_concern`) — див.
// доккоментар `verify.wit` для точних цифр, які стосуються обох поверхонь
// однаково (детектор і verify на Rust-боці буквально той самий виклик,
// `run_concern`, лише обгорнутий по-різному: `rules_fix::detect::run_canonical`
// проти `rules_fix::verify::canonical_report`).
interface detector {
use types.{violation};
/// Один прогін детектора. `error(...)` — інфраструктурний збій самого
/// виклику (не "порушення лишилось") — дзеркало
/// `Result<Vec<Violation>, String>`.
detect: func() -> result<list<violation>, string>;
}
/// World одного детектор-компонента: read-only доступ до репозиторію через
/// вузький `host-fs` (доккоментар `host.wit`), жодного права запису.
world detector-plugin {
import host-fs;
export detector;
}