Portfolio · Project 10

Alexander CHERNOV

Associate Principal Data Engineer · Agentic AI & scientific data systems

← the whole portfolio
10

Batch records as typed programs

2025 – present · AstraZeneca

Approval is a node, not a convention — typed ports, only same-typed ones connect, and human approval sits inside the grammar.

The node-graph designer: typed ports on the left, a process-model node feeding an LLM reason node, and Approval as a first-class node in the Control group rather than a workflow convention.
The node-graph designer: typed ports on the left, a process-model node feeding an LLM reason node, and Approval as a first-class node in the Control group rather than a workflow convention.

Batch records are authored as documents and executed as programs, and the gap between the two is where validation effort goes. This is a visual builder for master and executed batch records in Rust and React, including a browser-only build with no backend at all, so the authoring surface works where a server cannot be deployed.

The grammar is a visual pipeline with a type system: boxes are nodes, arrows are typed edges — rows, table, scalar, signal — and only same-typed ports may be wired. Every recipe instantiates one spine: source, pre-process, reason (AI), approve (human), sink. Human approval is a first-class node in the grammar rather than a workflow convention bolted on afterwards — the same conclusion as the pooling gate above, reached independently in a different domain. Records are governed in git: review, environment promotion, rollback.

Underneath it, twenty years back to pharmaceutical manufacturing execution systems in validated GxP environments.

No public URL — internal system.