Skip to main content

CAIXA_KEY_DEPS_DEV

Constant CAIXA_KEY_DEPS_DEV 

Source
pub const CAIXA_KEY_DEPS_DEV: &str = "depsDev";
Expand description

Canonical camelCase JSON/YAML top-level key for crate::Caixa’s deps_dev axis — the dev-only dependency list that the M0 base package model already exposes (peer of the runtime :deps list, but excluded from published lacres and consumer builds). The Rust field is snake_case deps_dev; the #[serde(rename_all = "camelCase")] attribute on crate::Caixa maps it to the camelCase JSON key "depsDev" this constant pins.

crate::Caixa::to_lisp threads the manifest through serde_json::to_value(self) → tatara_lisp::domain::json_to_sexp, so the emitted JSON key is the load-bearing byte-string the round-trip consumes on its way back to the kebab-case :deps-dev author surface. Until this lift landed the byte-string "depsDev" was structurally implicit in the #[serde(rename_all = "camelCase")] derive attribute at crate::Caixa with no compile-time link to any downstream .get(<key>) consumer or drift-detection pin — a future crate::Caixa field rename (deps_devdev_deps matching Cargo’s verbatim dev-dependencies axis, deps_devdeps_test matching a hypothetical per-test-target vocabulary flip) OR a #[serde(rename_all = "…")] attribute flip (any of which would silently break every Caixa::to_lisp round-trip and the future M4 operator-side manifest ingest that reaches for depsDev via Value::get(...)) would surface at consumer parse time as a silently-absent JSON key defaulting to Vec::new(), far from the rename’s commit and with no field naming the drift.

Peer of M2_KEY_UPGRADE_FROM on the sibling top-level crate::Caixa multi-word camelCase-renamed serialized-key axis — both are snake_case → camelCase renames the rename_all derive produces on the M0 crate::Caixa surface. Alongside SUPERVISOR_KEY_MAX_RESTARTS ("maxRestarts", 40cc4e5) and SUPERVISOR_KEY_RESTART_WINDOW ("restartWindow", 40cc4e5) — which pin the two supervisor-tree top-level multi-word keys the crate::Caixa surface flattens up — this const closes the last of the four multi-word top-level crate::Caixa serde-derived JSON keys still lacking a lifted &'static str peer. Same “one canonical byte-string per typed serialized-key axis” discipline every peer [M2_KEY_*] / M3_KEY_PLACEMENT / [SUPERVISOR_KEY_*] const carries.