v0.0.15¶
Changed: Provenance Schema and Lazy IO¶
Rework of provenance models for correctness and scalability.
is_source/is_sinkflags replacenode_type TEXTonnode_executions. A node can now be source AND sink simultaneously. Composite status is derived from child runs (no column needed).sink_outputs_jsonadded todag_runs— consolidated sink outputs are persisted when a run completes.IoPayloadmodel —input_json/output_jsonfields moved into a lazy-loadedio: IoPayload | Noneon bothNodeExecutionandDagRun. Inspection queries (inspect_run,get_recent_runs) no longer load JSON blobs by default.load_io(dag_run, node_labels=...)— new method populatesioon aDagRunand selected nodes in a single DB round-trip. Does not recurse into sub-DAGs.- Composite node input recording —
DagRunnernow records actual upstream data asinput_jsoninstead of the{"composite": "MapNode"}placeholder.
New: End-to-End Engine Test¶
test_lyth_e2e.py— full lifecycle test: startslythengine, waits for triggers, stops via SIGTERM, verifies provenance records and PID file cleanup. Marked@slow.
Documentation¶
- Added posts section to website, converted Show HN post to markdown.
- Restructured releases nav to show only 3 most recent in sidebar.