Context
From DoltHub Discord feedback (2026-04-03, Tim Sehn & Zach Musgrave): use dolt_history_<table> system tables instead of sequential dolt_diff calls for showing object evolution over time.
Currently get_authentication_trail tracks the EPICAL pipeline lifecycle, but not how the actual data changed across commits. dolt_history_rr_object fills that gap natively.
Scope
- New MCP tool:
get_object_history(object_id, limit=50) — queries dolt_history_rr_object filtered by ID, returns commit hash, timestamp, committer, and object state per commit
- New MCP tool:
get_relation_history(relation_id, limit=50) — queries dolt_history_rr_relation + dolt_history_rr_relation_assertion
- ~50-80 lines in
tools_dolt.py, following existing patterns
- Include
limit parameter (default 50) — Tim noted this can get slow with thousands of commits
Notes
- If history queries become slow at scale, file a GitHub issue at dolthub/dolt per Zach's invitation
- Small effort, high value — validates Dolt usage and provides good demo material
Context
From DoltHub Discord feedback (2026-04-03, Tim Sehn & Zach Musgrave): use
dolt_history_<table>system tables instead of sequentialdolt_diffcalls for showing object evolution over time.Currently
get_authentication_trailtracks the EPICAL pipeline lifecycle, but not how the actual data changed across commits.dolt_history_rr_objectfills that gap natively.Scope
get_object_history(object_id, limit=50)— queriesdolt_history_rr_objectfiltered by ID, returns commit hash, timestamp, committer, and object state per commitget_relation_history(relation_id, limit=50)— queriesdolt_history_rr_relation+dolt_history_rr_relation_assertiontools_dolt.py, following existing patternslimitparameter (default 50) — Tim noted this can get slow with thousands of commitsNotes