feat(sandokan-core): B1.1 — contrato del orquestador

Primer crate de la Fase B. Define SOLO el contrato del orquestador
sandokan (library horizontal embebible, no daemon supremo):

- Intent / ExecContext / IsolationLevel — qué orquestar
- ExecHandle — referencia a una entidad encarnada
- LifecycleEvent / TelemetryFrame — observabilidad (wire types)
- EngineError — taxonomía de fallas
- trait Engine — run/stop/list/status/telemetry (poll-based, sin
  streams sobre trait objects, para que las 3 impls lo cumplan
  uniformemente)

Las impls concretas (LocalEngine, DaemonEngine, RemoteEngine) vendrán
en crates separados (sandokan-local, sandokan-daemon, sandokan-remote).

3 tests verdes. cargo check --workspace verde.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
sergio
2026-05-20 00:38:22 +00:00
parent f8a2547b45
commit af5d4a1f22
8 changed files with 272 additions and 0 deletions
Generated
+12
View File
@@ -10127,6 +10127,18 @@ dependencies = [
"winapi-util",
]
[[package]]
name = "sandokan-core"
version = "0.1.0"
dependencies = [
"async-trait",
"brahman-card",
"sandokan-lifecycle",
"serde",
"thiserror 2.0.18",
"ulid",
]
[[package]]
name = "sandokan-lifecycle"
version = "0.1.0"