feat(yachay): notebooks reproducibles — yachay-core + demo
yachay-core: notebook como secuencia de celdas (orden de lectura) + DAG de dependencias (orden de ejecución). Celdas markdown/código/embed con content_hash BLAKE3; editar una propaga staleness a descendientes; digest Merkle por celda (content_hash ‖ digests upstream) y notebook_digest que certifica reproducibilidad. Demo CLI en apps/yachay. 14 tests. Sin kernel ni UI, #![forbid(unsafe_code)]. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
//! `yachay-core` — el núcleo de los notebooks reproducibles.
|
||||
//!
|
||||
//! Un notebook de yachay es a la vez una secuencia de celdas (el orden
|
||||
//! de lectura) y un DAG de dependencias (el orden de ejecución). Editar
|
||||
//! una celda marca obsoletas a sus descendientes; un digest Merkle
|
||||
//! certifica que dos corridas del mismo notebook producen lo mismo —
|
||||
//! reproducibilidad verificable, no prometida.
|
||||
//!
|
||||
//! - [`cell`] — la [`Cell`] y su clase ([`CellKind`]: markdown, código,
|
||||
//! o un embed de otro módulo brahman).
|
||||
//! - [`notebook`] — el [`Notebook`]: DAG, staleness y digest.
|
||||
//!
|
||||
//! Sin kernel, sin ejecución real, sin UI — tipos puros. La ejecución de
|
||||
//! código y el render de los embeds van en capas superiores.
|
||||
|
||||
#![forbid(unsafe_code)]
|
||||
|
||||
pub mod cell;
|
||||
pub mod notebook;
|
||||
|
||||
pub use cell::{Cell, CellId, CellKind, CellState};
|
||||
pub use notebook::Notebook;
|
||||
Reference in New Issue
Block a user