4d50bfc587
- crates/modules/nakui/core/: el crate nakui-core (4 bins, tests).
Deps directas (serde, rhai, surrealdb, petgraph, sha2, uuid, tokio,
thiserror v1) — no convertidas a workspace = true en esta pasada.
- crates/modules/nakui/modules/{inventory,sales,treasury}/: datos
declarativos del dominio (nsmc.json, schema.k, morphisms/) que el
crate consume — no son crates.
cargo check -p nakui-core: 0 errores.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
32 lines
890 B
JSON
32 lines
890 B
JSON
{
|
|
"module": "inventory",
|
|
"morphisms": [
|
|
{
|
|
"name": "recibir_stock",
|
|
"inputs": [
|
|
{ "role": "stock", "entity": "Stock" }
|
|
],
|
|
"reads": ["stock.cantidad", "stock.sku_id"],
|
|
"writes": ["stock.cantidad", "MovimientoStock"],
|
|
"depends_on": [],
|
|
"script": "morphisms/recibir_stock.rhai"
|
|
},
|
|
{
|
|
"name": "transferir_stock",
|
|
"inputs": [
|
|
{ "role": "source", "entity": "Stock" },
|
|
{ "role": "dest", "entity": "Stock" }
|
|
],
|
|
"reads": ["source.cantidad", "source.sku_id", "dest.cantidad", "dest.sku_id"],
|
|
"writes": ["source.cantidad", "dest.cantidad", "TransferenciaStock"],
|
|
"invariants": {
|
|
"conserve": [
|
|
{ "entity": "Stock", "field": "cantidad", "group_by": "sku_id" }
|
|
]
|
|
},
|
|
"depends_on": [],
|
|
"script": "morphisms/transferir_stock.rhai"
|
|
}
|
|
]
|
|
}
|