Skip to main content

Crate vbl_runtime

Crate vbl_runtime 

Source
Expand description

vbl-runtime — motor de tick da VerboLang (Etapa 2, PLAN §2.2).

Componentes (FORMAL §4):

  • ledger: log termodinâmico com cadeia SHA-256;
  • fxp/sim: barramento de I/O (trait) + simulador determinístico;
  • form: forma ativa (horizonte absoluto, manutenção, retenção);
  • scheduler: fila de prazos (min-heap por horizon/maintenance);
  • engine: loop de tick — regras na ordem declarada, prazos depois;
  • main_interp: bloco main (keep/act/every);
  • loader: AST → runtime + validação contra o registro do FXP;
  • persist: equilibrium em suporte estável (.vl canônico + SHA-256);
  • json: serialização JSON determinística (auditoria do Caderno).

Re-exports§

pub use ledger::Ledger;
pub use ledger::ChainLedger;
pub use ledger::LedgerEvent;
pub use production_ledger::jsonl_from_binary;
pub use production_ledger::verify;
pub use production_ledger::verify_binary;
pub use production_ledger::verify_jsonl;
pub use production_ledger::ProductionLedger;
pub use production_ledger::VerificationReport;
pub use production_ledger::Summary;
pub use engine::Engine;
pub use form::ActionRt;
pub use form::Form;
pub use form::Maintenance;
pub use form::RuleRt;
pub use form::CANONICAL_POETIC_VALUE;
pub use fxp::ActOutcome;
pub use fxp::ActorLimits;
pub use fxp::SensorFailure;
pub use fxp::Fxp;
pub use fxp::Limit;
pub use fxp::Registry;
pub use fxp::SensorInfo;
pub use fxp::Value;
pub use loader::load;
pub use loader::validate;
pub use main_interp::MainInterpreter;
pub use main_interp::StmtRt;
pub use sim::FxpSimulator;

Modules§

engine
O engine — governo do movimento (FORMAL §4.2).
form
Forma ativa no runtime (FORMAL §4.1).
fxp
FXP (Flux Protocol) — barramento de I/O que unifica sensores (entrada) e atores (saída) (FORMAL §4.4/§6).
json
JSON mínimo (apenas serialização) para o Caderno — objetos com chaves em ordem de classificação (BTreeMap), determinismo total, zero dependências.
ledger
O Caderno — sistema de auditoria termodinâmica (FORMAL §4/§6; AGENTS §1.4).
loader
Carregador: AST → runtime (formas, reviews e bloco main).
main_interp
Bloco main — intérprete de keep/act/every (FORMAL §3).
persist
Persistência de equilibrium (FORMAL §4.1): “na inicialização, o runtime recarrega as equilibrium persistidas cujo horizon não venceu”.
production_ledger
Caderno de produção (Etapa 4 — PLAN §4.1; AGENTS §1.4).
scheduler
Escalonador por fila de prazos (FORMAL §4.2): min-heap por horizon/maintenance_deadline — O(log N) por mutação e varredura O(N + vencidos) por tick. O relógio é virtual e injetável: o engine passa now a cada tick (1 tick ≈ 1 s virtual; em teste o simulador avança instantaneamente).
sim
Simulador físico determinístico do FXP (esqueleto da Etapa 1, PLAN §6.5 — evolui para módulo próprio na Etapa 3).