Skip to main content

Module datalog

Module datalog 

Source
Expand description

Per-turn logging: writes each user request and agent response to a markdown file under a configurable root, with one subdirectory per project so multiple projects don’t pile their logs into a single bucket.

Default layout: $ATOMCODE_HOME/datalog//YYYY-MM-DD_HH-MM-SS.md $ATOMCODE_HOME/datalog//llm/YYYY-MM-DD_HH-MM-SS_sss.json

Project slug = sanitized cwd basename + 8-char sha256 prefix of the canonical cwd path. The hash suffix prevents collisions when two unrelated projects share a basename (e.g. ~/work/foo vs ~/personal/foo).

Content mirrors what the user sees on screen. Every write operation flushes immediately so logs survive crashes.

Configured via [datalog] in $ATOMCODE_HOME/config.toml:

  • enabled = false — disables logging entirely (writer becomes a no-op)
  • dir = "<path>" — root directory; project slug is always appended underneath. Accepts absolute, ~/…, or relative paths. Default "$ATOMCODE_HOME/datalog".

Structs§

DatalogWriter
Accumulates log entries for a single turn, flushing to disk after each operation.