Store results in MotherDuck
honest-agent reads and writes a MotherDuck database directly: nothing to download or upload, and several jobs can write at the same time.
1. Create a service account for the results
Section titled “1. Create a service account for the results”A service account is a MotherDuck user for programs rather than people. Give the results their own, so neither you nor the agent being evaluated writes to them by accident.
- Create the service account: in MotherDuck, Settings → Service Accounts. See MotherDuck’s guide, Create and configure service accounts.
- Create a token for it: on the service account’s page, Create token, type Read/Write (honest-agent writes the results). MotherDuck shows the token only once.
- Put the token in
HONEST_AGENT_RESULTS_TOKEN: in.envon your machine, or a secret in CI.
2. Point the config at it
Section titled “2. Point the config at it”At the top level of honest_agent_config.yml:
results_path: md:honest_agent_resultsThe database is created in the service account on the first run. Use a database only
for honest-agent: it creates its own tables there (results, traces, tool_calls,
and the raw schema).
Check it with honest-agent debug: its “Results store” line connects with the token
and says whether the database exists yet.
3. Look at the results in MotherDuck (optional)
Section titled “3. Look at the results in MotherDuck (optional)”honest-agent report and honest-agent serve already show everything. To also query
the results in MotherDuck’s own web page, note that the database belongs to the service
account: logged in as yourself, you won’t see it until it’s shared with you.
Share it from the service account, read-only and only with the people who should see it,
since the results hold what your agent’s tools returned. Run this as the service account,
for example in the DuckDB CLI (duckdb md:) with the service account’s token in the
motherduck_token environment variable. Don’t put the token in the command itself: it
would stay in your shell history.
create share honest_agent_results_share from honest_agent_results (access restricted, update automatic);Then, logged in as yourself, attach the share with the link create share returned:
attach 'md:_share/...' as honest_agent_results;select * from honest_agent_results.main.results;update automatic keeps the share in step with new runs. See MotherDuck’s
sharing overview,
create share
and grant read on share.
