feat(sandokan): CLI de prueba + fix wire serialization

apps/sandokan (binario `sandokan`): CLI para probar el orquestador.
Subcomandos: daemon, run <exec> [args], list, status, telemetry, stop.

Fix: Intent serializaba Card directo, pero Card tiene un campo
`#[serde(flatten)] extensions` incompatible con postcard ("sequence
length must be known"). Intent::card ahora usa #[serde(with)] que
proyecta Card↔WireCard en el límite de serialización (las extensions
locales se descartan al cruzar el wire — comportamiento correcto).

Smoke test verificado end-to-end: daemon + run /bin/sleep + list +
status Running + telemetry + stop + status Killed.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
sergio
2026-05-20 15:05:03 +00:00
parent 590572b5bb
commit 94ea0eaa53
6 changed files with 182 additions and 0 deletions
Generated
+12
View File
@@ -10139,6 +10139,18 @@ dependencies = [
"tokio",
]
[[package]]
name = "sandokan-cli"
version = "0.1.0"
dependencies = [
"anyhow",
"brahman-card",
"clap",
"sandokan",
"tokio",
"ulid",
]
[[package]]
name = "sandokan-core"
version = "0.1.0"