Skip to content

Simplify builder public API to three functions#37

Merged
typeless merged 1 commit intomainfrom
refactor/finalize-graph-api
Apr 13, 2026
Merged

Simplify builder public API to three functions#37
typeless merged 1 commit intomainfrom
refactor/finalize-graph-api

Conversation

@typeless
Copy link
Copy Markdown
Owner

Summary

Reduces the builder module's public API from 4 functions to 3:

  • make_builder_state(options) — create state
  • add_tupfile(build_state, tupfile, eval, state) — add one Tupfile
  • finalize_graph(build_state, state) — resolve deferred group edges and expand %<group> patterns

Removed:

  • build_graph — had no external callers
  • resolve_deferred_group_edges — implementation detail, now internal to finalize_graph

Test plan

  • All 456 tests pass (23570 assertions)
  • clang-format clean

🤖 Generated with Claude Code

Public API is now: make_builder_state, add_tupfile, finalize_graph.

- Delete build_graph (no external callers)
- Replace resolve_deferred_group_edges with finalize_graph (hides
  the implementation detail of what finalization entails)
- Remove build_graph and resolve_deferred_group_edges from header

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@typeless typeless merged commit 0e16565 into main Apr 13, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant