gabriel / muse public
feat patch commit-graph task/supercharge-commit-graph #1 / 1
AI Agent gabriel · 159 days ago · Apr 17, 2026 · Diff

feat(commit-graph): supercharge for agents — provenance nodes, elapsed_seconds, exit_code

- Add import time; t0 = time.monotonic() at top of run() - Expand _CommitNode TypedDict with 4 new fields: agent_id, model_id, sem_ver_bump, breaking_changes Agents can now filter history by who made what and what kind of change - Add elapsed_seconds + exit_code to both JSON output paths: full graph output and --count output - Update module docstring with complete JSON contract for node and top-level - Add 20 new tests: TestElapsed (3), TestExitCode (2), TestJsonSchemaComplete (3), TestNodeProvenance (6), TestDataIntegrity (4), TestPerformance (2)

sha256:4f76a035d398229a3a189d07c76101528f8f34b5b5b41567eb226d70477fff41 sha
+31 ~2 symbols
sha256:6f3f5e5227be434668e56da22ca774e009c784e66f8c308b2a4958ce744c24fe snapshot
+31
symbols added
~2
symbols modified
0
dead code introduced
Semantic Changes 33 symbols
~ muse/cli/commands/commit_graph.py .py 1 symbol added, 2 symbols modified
+ time import import time L76–76
~ run
~ tests/test_cmd_commit_graph.py .py 30 symbols added
+ TestDataIntegrity class class TestDataIntegrity L608–657
+ test_commit_id_matches_disk method method test_commit_id_matches_disk L611–621
+ test_count_matches_node_list_length method method test_count_matches_node_list_length L648–657
+ test_parent_chain_matches_disk method method test_parent_chain_matches_disk L635–646
+ test_snapshot_id_matches_disk method method test_snapshot_id_matches_disk L623–633
+ TestElapsed class class TestElapsed L446–479
+ test_count_only_has_elapsed method method test_count_only_has_elapsed L461–470
+ test_elapsed_is_non_negative method method test_elapsed_is_non_negative L472–479
+ test_full_json_has_elapsed method method test_full_json_has_elapsed L449–459
+ TestExitCode class class TestExitCode L482–503
+ test_count_only_exit_code_0 method method test_count_only_exit_code_0 L495–503
+ test_full_json_exit_code_0 method method test_full_json_exit_code_0 L485–493
+ TestJsonSchemaComplete class class TestJsonSchemaComplete L506–540
+ test_count_keys_complete method method test_count_keys_complete L519–527
+ test_node_provenance_keys_complete method method test_node_provenance_keys_complete L529–540
+ test_top_level_keys_complete method method test_top_level_keys_complete L509–517
+ TestNodeProvenance class class TestNodeProvenance L543–605
+ test_agent_id_in_node method method test_agent_id_in_node L546–553
+ test_breaking_changes_is_list method method test_breaking_changes_is_list L573–580
+ test_chain_preserves_provenance_per_node method method test_chain_preserves_provenance_per_node L593–605
+ test_human_commit_has_empty_agent_id method method test_human_commit_has_empty_agent_id L582–591
+ test_model_id_in_node method method test_model_id_in_node L555–562
+ test_sem_ver_bump_in_node method method test_sem_ver_bump_in_node L564–571
+ TestPerformance class class TestPerformance L660–691
+ test_1000_commit_chain_under_5s method method test_1000_commit_chain_under_5s L663–677
+ test_elapsed_seconds_plausible method method test_elapsed_seconds_plausible L679–691
+ _FULL_COUNT_KEYS variable variable _FULL_COUNT_KEYS L408–409
+ _FULL_NODE_KEYS variable variable _FULL_NODE_KEYS L410–414
+ _FULL_TOP_KEYS variable variable _FULL_TOP_KEYS L406–407
+ _commit_with_provenance function function _commit_with_provenance L417–443
← Older Oldest on task/supercharge-commit-graph
All commits
Newer → Latest on task/supercharge-commit-graph

0 comments

No comments yet. Be the first to start the discussion.

To add a comment, use the Muse CLI: muse hub commit comment sha256:4f76a035d398229a3a189d07c76101528f8f34b5b5b41567eb226d70477fff41 --body "your comment"