chore(nakui): alinear nakui-core con [workspace.package] y deps compartidas

Cleanup de drift de convenciones: nakui-core era el unico crate del
monorepo que manteia version, edition y thiserror hardcoded, mientras
el resto heredaba del workspace y usaba thiserror v2. Eso significaba
que un bump global de version o edition se olvidaba sistematicamente
de nakui.

Cambios:
- [package]: version, edition, rust-version, license, authors, publish
  -> todos *.workspace = true. Agregado description (convencion).
- Deps compartidas migradas a { workspace = true }: serde, serde_json,
  thiserror (v1->v2), tokio, ulid, sha2.
- uuid migrado a { workspace = true, features = ["serde"] } — la feature
  serde no esta en el workspace dep porque nakui es el unico user;
  queda local opt-in en lugar de inflar el dep comun.
- Deps especificas de nakui (sin comparticion posible): rhai, petgraph,
  surrealdb permanecen inline con version local.

Verificacion: cargo build -p nakui-core verde tras el bump thiserror
v1->v2 — los 14+ enums de error de nakui no requirieron ajustes
(derive backwards-compat para patrones simples). cargo test -p
nakui-core --lib: 27/27 verdes.

Bonus en este commit: discovery.rs movio el import Ulid a #[cfg(test)]
porque el refactor a Card::new lo dejo unused en module-scope.
This commit is contained in:
Sergio
2026-05-09 02:49:41 +00:00
parent 4c9e4c3962
commit 79d42aba28
4 changed files with 48 additions and 11 deletions
+20 -9
View File
@@ -1,7 +1,12 @@
[package]
name = "nakui-core"
version = "0.1.0"
edition = "2021"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
authors.workspace = true
publish.workspace = true
description = "Nakui — ERP modular: graph runtime, executor de scripts Rhai, persistencia opcional SurrealDB."
[features]
default = []
@@ -11,20 +16,26 @@ default = []
persistent = ["surrealdb/kv-surrealkv"]
[dependencies]
serde = { version = "1", features = ["derive"] }
serde_json = "1"
# Workspace-shared (versión y features alineadas con el resto del monorepo).
serde = { workspace = true }
serde_json = { workspace = true }
thiserror = { workspace = true }
tokio = { workspace = true }
ulid = { workspace = true }
sha2 = { workspace = true }
# uuid del workspace ya activa "v4"; le sumamos "serde" para soporte
# de derive en structs propios de nakui.
uuid = { workspace = true, features = ["serde"] }
# Específicas de nakui — no compartidas con otros crates del workspace,
# por lo que se mantienen inline (versión local).
rhai = { version = "1.20", features = ["serde"] }
uuid = { version = "1", features = ["v4", "serde"] }
thiserror = "1"
petgraph = "0.6"
sha2 = "0.10"
surrealdb = { version = "2", default-features = false, features = ["kv-mem"] }
tokio = { version = "1", features = ["rt", "macros"] }
# Brahman protocol — presencia ante el Init cuando `nakui run` arranca.
brahman-card = { path = "../../../core/brahman-card" }
brahman-sidecar = { path = "../../../shared/brahman-sidecar" }
ulid = { version = "1" }
[[bin]]
name = "nakui"