From 8541bfd522ec3d2fa231a28a805ba07d99c308fa Mon Sep 17 00:00:00 2001 From: vishwajitdandage Date: Fri, 28 Aug 2026 09:37:11 +0530 Subject: [PATCH] feat(dependable_element): add Graphviz support for lobster RST report generation --- bazel/rules/rules_score/private/dependable_element.bzl | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/bazel/rules/rules_score/private/dependable_element.bzl b/bazel/rules/rules_score/private/dependable_element.bzl index f49229b6..4b5a8070 100644 --- a/bazel/rules/rules_score/private/dependable_element.bzl +++ b/bazel/rules/rules_score/private/dependable_element.bzl @@ -1417,6 +1417,8 @@ def _dependable_element_index_impl(ctx): inputs = [lobster_report_file], outputs = [lobster_rst_dir], arguments = [rst_args], + env = {"GRAPHVIZ_DOT": ctx.executable._graphviz.path}, + tools = [ctx.attr._graphviz.files_to_run], progress_message = "lobster-rst-report (pages) {}".format(ctx.label.name), ) @@ -1572,6 +1574,12 @@ def _dependable_element_index_attrs(): cfg = "exec", doc = "Lobster RST report tool for generating the multi-page Sphinx traceability report.", ), + "_graphviz": attr.label( + default = Label("//third_party/docs_runtime:dot"), + executable = True, + cfg = "exec", + doc = "Hermetic Graphviz dot passed as GRAPHVIZ_DOT to lobster_rst_report so the tracing-policy diagram is rendered without a host-installed dot.", + ), "_aou_forwarding_tool": attr.label( default = Label("//bazel/rules/rules_score:aou_forwarding_to_lobster"), executable = True,