From 5f8c9c8e0e3a3707487f48183b40e2d18bd1bd90 Mon Sep 17 00:00:00 2001 From: "Joseph T. French" Date: Wed, 21 Oct 2026 11:39:23 -0500 Subject: [PATCH] feat: the holon with lineage as a report download format ReportDownloadFormat gains HOLON_JSONLD_LINEAGE: the holon with its #lineage graph, the ledger behind a report's frozen figures, for the graph's own members. Schema refreshed against the robosystems branch feature/lineage-exporter; waits on the robosystems release that carries it. Claude-Session: https://claude.ai/code/session_013UXnatpnbiixt1ZVHfdZAP --- robosystems_client/graphql/generated/enums.py | 1 + robosystems_client/graphql/schema.graphql | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/robosystems_client/graphql/generated/enums.py b/robosystems_client/graphql/generated/enums.py index 2e9800a4..38f7b4c6 100644 --- a/robosystems_client/graphql/generated/enums.py +++ b/robosystems_client/graphql/generated/enums.py @@ -9,5 +9,6 @@ class ReportLifecycle(str, Enum): class ReportDownloadFormat(str, Enum): HOLON_JSONLD = "HOLON_JSONLD" + HOLON_JSONLD_LINEAGE = "HOLON_JSONLD_LINEAGE" XBRL_2_1 = "XBRL_2_1" TAVI = "TAVI" diff --git a/robosystems_client/graphql/schema.graphql b/robosystems_client/graphql/schema.graphql index 6e25166f..69728795 100644 --- a/robosystems_client/graphql/schema.graphql +++ b/robosystems_client/graphql/schema.graphql @@ -762,8 +762,11 @@ type Query { The only way to download a report's bundle. Every format resolves to a short-lived presigned S3 URL which the client follows directly — the field returns the URL, never the bytes. The holon is stamped at - publish time; the Tavi and XBRL are materialized and cached on first - request. `expiresIn` + publish time; the Tavi, the XBRL and the holon with lineage are + materialized and cached on first request. `HOLON_JSONLD_LINEAGE` carries + the books behind the report's frozen figures, so it is for this graph's + members only: a report shared in from another graph raises + `REPORT_BUNDLE_NOT_AVAILABLE` for it. `expiresIn` is the URL's lifetime in seconds, bounded 60-3600. Returns null when the report doesn't exist; raises @@ -4416,6 +4419,7 @@ type ReportBundleDownload { enum ReportDownloadFormat { HOLON_JSONLD + HOLON_JSONLD_LINEAGE XBRL_2_1 TAVI }