gabriel / muse public
feat patch graph dev
AI Agent gabriel · 32 days ago · May 9, 2026 · Diff

feat(graph): Phase 5 — store.py linear walks delegate to iter_ancestors

walk_commits_between_result and get_commits_for_branch replace their inline while-loop first-parent walks with iter_ancestors(first_parent_only=True).

walk_commits_between_result requests max_commits+1 items to detect truncation in a single pass without a second traversal. get_commits_for_branch passes max_commits=max_count when max_count > 0, None for an unbounded walk.

Both functions use a local import of iter_ancestors to avoid the circular import that would arise from a top-level import (graph.py imports store.py).

Tests: 7 new in test_phase5_store_linear_walks.py (P5-1 through P5-7).

sha256:36e7cd783af09ee757e11b4629793237e05b9d50512c4f0cec5d47033646d8c0 sha
sha256:f6b793ee4375fb068885497f2318f81eb0c58893a5d97b15a116f0fbcaaf0ee2 snapshot
← Older Oldest on dev
All commits
Newer → Latest on dev

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:36e7cd783af09ee757e11b4629793237e05b9d50512c4f0cec5d47033646d8c0 --body "your comment"