Fase 6 — lenguaje de consulta del sistema (SDD 08 §6)
Forma `kind:value`: `bin`, `file`, `pin`, `service`, `depends`. El evaluador acepta un EvalContext con BaseRef, fs_root y path_env para re-rootear contra un overlay o prefix sin tocar el FHS real. `depends:` implementa un parser ELF64 LE mínimo que recorre PT_DYNAMIC para extraer DT_NEEDED, suficiente para los binarios estáticos+dinámicos del lab. - hammer-core::query: parse(expr) + eval(term, ctx) + eval_str(expr, ctx). - proto: Command::Query gana `expr: Option<String>`. - AgentClient::query_expr: equivalente a query_file pero por el bus. - hammerd: maneja `what="expr"` invocando query::eval_str. - CLI: `hammer query <expr> [--base-ref] [--fs-root]` evalúa en proceso. Tests: 18 unit en `hammer-core::query::tests` (parse, eval con fs_root, ELF gated en `HAMMER_HOST_ELF_TESTS`), 1 e2e en `hammerd::bus_e2e` (query_expr_evaluates_against_host_path).
This commit is contained in:
+4
-2
@@ -118,8 +118,10 @@ pre-requisito de validación.
|
||||
- 1 e2e del cliente contra un *stub* del bus (handshake + Compile→BuildReady + Modified
|
||||
asíncrono).
|
||||
- [ ] Traductor LLM real (Claude API u otro), opcional vía feature flag o crate aparte.
|
||||
- [ ] Lenguaje de consulta del sistema (SDD 08 §6) para que la IA refiera servicios y
|
||||
archivos sin rutas frágiles.
|
||||
- [x] Lenguaje de consulta del sistema (SDD 08 §6) para que la IA refiera servicios y
|
||||
archivos sin rutas frágiles. Forma `kind:value` (`bin`, `file`, `pin`, `service`,
|
||||
`depends`), evaluable local (`hammer query <expr>`) y remoto vía bus
|
||||
(`Command::Query{what:"expr"}`). Parser ELF64 mínimo para extraer `DT_NEEDED`.
|
||||
- [ ] Bucle de auto-reparación (cliente reacciona a `Crashed` con un nuevo plan).
|
||||
- **Hecho cuando:** una intención en lenguaje natural produce un cambio probado en overlay,
|
||||
presentado para `commit` humano. ✅ Demostrado por `hammer ai` con `MockTranslator`:
|
||||
|
||||
Reference in New Issue
Block a user