1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
// Author: Julian Bolivar
// Version: 1.0.0
// Date: 2026-07-18
// Lints de panic/bounds-safety: SOLO en producción. Los tests usan
// `unwrap`/`expect`/indexing idiomáticamente (un fallo en un test ES el test
// fallando, que es el comportamiento correcto).
//! Headless: superficie no-interactiva de magi-rs (modo CI/CD + backend de IA).
//!
//! MS1 aloja los errores de dominio ([`HeadlessError`]) y los tipos compartidos
//! del contrato de salida (módulo `types`, declarados aquí para evitar
//! forward-refs entre tareas TDD). El parser, el formateo, los logs y los exit
//! codes llegan en las tareas posteriores de MS1. Todos los módulos son
//! `pub`: el runner de MS2 vive en el crate del binario y solo puede alcanzar
//! API `pub` de la lib (un bin no puede llegar a `pub(crate)`).
pub
pub use HeadlessError;
/// Re-export del fuzz entrypoint del sanitizer para el target externo
/// `fuzz_sanitize_error` (Task 10 / REQ-H35). `#[doc(hidden)]`: no ensancha la
/// API pública documentada, sólo la hace alcanzable desde el crate `fuzz/`.
pub use fuzz_sanitize_error_entrypoint;
/// Re-export del fuzz entrypoint de la matriz de política de tiers para el
/// target externo `fuzz_policy` (MS2 Task 10 / REQ-H35). `#[doc(hidden)]`: misma
/// convención — alcanzable desde `fuzz/` sin ensanchar la API documentada.
pub use fuzz_policy_entrypoint;