Log
The log is the centralized state of an eval - each component interacts with it:
- the proxy writes inputs, outputs and errors to it
- the simulation reads from it to generate referential inputs and writes to it to manage stateful effects.
- the audit reads from it to surface signals, and the writes back to it to record them
It is implemented as SQLite. The rngo eval CLI command will put the log's DB file in the eval's directory.
Schema
The database schema is a public interface that is primarily used by signals, which are configured using direct SQL queries against the log.
Additionally, external scripts may query the log to aid in additional evaluation or signal discovery.
CREATE TABLE inputs (
id INTEGER NOT NULL,
effect TEXT NOT NULL,
offset INTEGER NOT NULL,
data TEXT NOT NULL
);
CREATE TABLE outputs (
channel TEXT NOT NULL,
input_id INTEGER,
timestamp TEXT NOT NULL,
level TEXT NOT NULL,
data TEXT NOT NULL
);
CREATE TABLE metadata (
type TEXT NOT NULL,
input_id INTEGER,
effect TEXT,
offset INTEGER,
attribute TEXT,
data TEXT
);inputshas one row per input generated by an effectoutputshas one row per output received by a channel. An interactive output references the input that caused it withinput_id; otherwise it is null.metadatarecords additional information about the simulation, such as its start / end times and errors