Skip to content

feat(core): add dependency-free graph serialization - #891

Open
Whxuan0701 wants to merge 1 commit into
apache:mainfrom
Whxuan0701:agent/graph-to-dict
Open

Whxuan0701 wants to merge 1 commit into
apache:mainfrom
Whxuan0701:agent/graph-to-dict

Conversation

@Whxuan0701

Copy link
Copy Markdown

Expose a compact graph representation that external tools can consume without installing Graphviz or Burr's tracking dependencies.

Changes

  • add Graph.to_dict() with action, input, tag, and transition metadata
  • add ApplicationGraph.to_dict() with an explicit entrypoint and application_graph type
  • preserve action and transition declaration order while sorting set-like metadata
  • document that the compact export is distinct from the tracking ApplicationModel persistence format
  • cover deterministic ordering, required and optional inputs, conditions, and JSON round trips

How I tested this

  • pre-commit run --all-files
  • python -m pytest tests --ignore=tests/integrations/persisters --ignore=tests/integrations/test_bip0042_bedrock.py -q (645 passed, 1 skipped)
  • python -m sphinx -T -W --keep-going -b dirhtml -d <doctrees> -D language=en . <html> from docs/

Notes

This intentionally omits action source code. It is a dependency-free metadata export, not a replacement for the tracking subsystem's persisted graph schema.

Checklist

  • PR has an informative and human-readable title (this will be pulled into the release notes)
  • Changes are limited to a single goal (no scope creep)
  • Code passed the pre-commit check & code is left cleaner/nicer than when first encountered.
  • Any change in functionality is tested
  • New functions are documented (with a description, list of inputs, and expected output)
  • Placeholder code is flagged / future TODOs are captured in comments
  • Project documentation has been updated if adding/changing functionality.

@github-actions github-actions Bot added area/core Application, State, Graph, Actions area/website burr.apache.org website labels Aug 18, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/core Application, State, Graph, Actions area/website burr.apache.org website

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant