Skip to content

Support the Egeria 6.3 information supply chain mermaid graphs - #503

Merged
dwolfson merged 2 commits into
odpi:mainfrom
dwolfson:feature/isc-6.3-mermaid-graphs
Oct 28, 2026
Merged

dwolfson merged 2 commits into
odpi:mainfrom
dwolfson:feature/isc-6.3-mermaid-graphs

Conversation

@dwolfson

Copy link
Copy Markdown
Member

Summary

Egeria 6.3 returns up to five mermaid graphs on an InformationSupplyChainElement retrieved with addImplementation=true, each present only if it has content (from Mandy Chessell's note on the 6.3 ISC graphs). This PR makes pyegeria render all five.

Key Title
iscImplementationMermaidGraph ISC Implementation Graph (context, solution-component design, implementation status)
iscDataMeshMermaidGraph ISC Data Mesh Graph (new)
iscSystemFabricMermaidGraph ISC System Fabric Graph (new)
iscDataFabricMermaidGraph ISC Data Fabric Graph (new)
iscDataMappingMermaidGraph ISC Data Mapping Graph (new)

Changes

  • Graph keys: the four new keys and titles are added to MERMAID_GRAPHS / MERMAID_GRAPH_TITLES (kept aligned) and to MERMAID_ATTRIBUTE_KEYS.
  • Fix: MERMAID_ATTRIBUTE_KEYS held "iscimplementationGraph", which matches no field the server has ever sent, so the ISC implementation graph printed as raw text in reports. It now uses iscImplementationMermaidGraph.
  • Older servers: before 6.3 the server wrote iscimplementationMermaidGraph (Jackson lower-cased the leading "ISC"). Graph keys are now matched case-insensitively, exact match first, in both the report-column and MERMAID output paths.
  • Common-Mermaid / Common-Mermaid-Prop-Value: a column for each new graph. The Prop-Value key iscImplementationGraph is fixed.
  • Information-Supply-Chain-DrE-Basic/Advanced: these generated specs now show the five graphs in the ALL format and offer a MERMAID format. The columns come from a new GENERATED_EXTRA_COLUMNS table in gen_report_specs.py, not from the compact spec. The graphs are server-returned values, so adding them as compact-spec attributes would turn them into authorable template fields. Regenerated with refresh_specs --merge-reports; only these two specs change.
  • HTML report page: loads mermaid@11 instead of @10, which can't parse Egeria's @{ shape: … } node syntax, so no Egeria graph drew there. This predates 6.3.
  • Docs and tests: the docs table of recognised keys and the solution-architect functional test use the 6.3 key.

Testing

  • Micro-tests: 1564 collected, 0 failed. New tests cover the 6.3 keys rendering, the pre-6.3 lower-case key, aligned key/title lists, and the generated ISC spec columns.
  • Live, 2026-10-28, read-only, on the rebuilt quickstart platform (Egeria main abe31272, which includes the 6.3 ISC graph change) as erinoverview on qs-view-server. find_information_supply_chains("SAMPLE Information Supply Chain", add_implementation=True) under lineage_visible() returned SAMPLE-InformationSupplyChain:Deployment-Status-Demonstration with all five isc*MermaidGraph keys. REPORT output with Information-Supply-Chain-DrE-Basic rendered 5 mermaid fences, and Common-Mermaid rendered 6 (plus mermaidGraph), with no graph text left outside a fence. The MERMAID format rendered all 5.
  • Not live-tested: the pre-6.3 lower-case key (unit-tested only) and the HTML page in a browser.

🤖 Generated with Claude Code

https://claude.ai/code/session_015pdMuTg6FmqPWeapeXM54g

dwolfson and others added 2 commits October 28, 2026 07:23
Egeria 6.3 returns up to five mermaid graphs on an
InformationSupplyChainElement retrieved with addImplementation=true,
each present only if it has content.

- Add iscDataMeshMermaidGraph, iscSystemFabricMermaidGraph,
  iscDataFabricMermaidGraph and iscDataMappingMermaidGraph to
  MERMAID_GRAPHS / MERMAID_GRAPH_TITLES (kept aligned) and to
  MERMAID_ATTRIBUTE_KEYS.
- Replace "iscimplementationGraph" in MERMAID_ATTRIBUTE_KEYS, which
  matched no field the server sends, with iscImplementationMermaidGraph,
  so the ISC implementation graph is fenced instead of printed raw.
- Look mermaid graph keys up case-insensitively: servers before 6.3
  wrote iscimplementationMermaidGraph.
- Common-Mermaid and Common-Mermaid-Prop-Value: add a column per new
  graph; fix the Prop-Value key (iscImplementationGraph ->
  iscImplementationMermaidGraph).
- HTML report page: load mermaid@11 instead of mermaid@10, which cannot
  parse Egeria's @{ shape: ... } node syntax.
- Docs table and the solution-architect functional test use the 6.3 key.

From Mandy Chessell's note on the 6.3 ISC graphs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015pdMuTg6FmqPWeapeXM54g
Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
… specs

Generated report specs take their columns from the Create command's
attributes, which are inputs. The ISC graphs are server-returned values,
so adding them as compact-spec attributes would turn them into authorable
template fields. Instead, gen_report_specs gets a GENERATED_EXTRA_COLUMNS
table of display-only columns, appended to the ALL format and offered as
a MERMAID format. refresh_specs keeps them on every regeneration.

Information Supply Chain gets the five Egeria 6.3 ISC graphs. Regenerated
with refresh_specs --merge-reports; only Information-Supply-Chain-DrE-Basic
and -Advanced change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015pdMuTg6FmqPWeapeXM54g
Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
@dwolfson
dwolfson merged commit 00d1437 into odpi:main Oct 28, 2026
5 checks passed
dwolfson added a commit to dwolfson/egeria-python that referenced this pull request Oct 28, 2026
REPORT section headings for the ISC graphs (odpi#503) read "Isc Data Mesh
Graph": camel_to_title_case only keeps words listed in REPORT_ACRONYMS
upper-case. Add "ISC". This also lets _is_mermaid_attribute's
name-based fallback match the "ISC ..." entries in MERMAID_GRAPH_TITLES.
Replaces the backlog entry added in the previous commit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015pdMuTg6FmqPWeapeXM54g
Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
dwolfson added a commit that referenced this pull request Oct 28, 2026
…MNS; backlog item (#505)

* docs: GENERATED_EXTRA_COLUMNS, generated spec naming, backlog item

- dr_egeria_manual, CLAUDE.md, AGENTS.md: generated report spec columns
  come from the Create command's attributes; display-only
  server-returned columns (the ISC mermaid graphs, #503) go in
  GENERATED_EXTRA_COLUMNS in gen_report_specs.py, not the compact spec.
  The manual also notes the -DrE-Basic/-DrE-Advanced suffix is required.
- BACKLOG: a bare "...-DrE" report spec name silently falls back to the
  default report.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015pdMuTg6FmqPWeapeXM54g
Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>

* docs(backlog): ISC graph headings render as "Isc ..." in REPORT output

camel_to_title_case only keeps words listed in REPORT_ACRONYMS
upper-case, and "ISC" isn't one of them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015pdMuTg6FmqPWeapeXM54g
Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>

* fix(view): keep "ISC" upper-case in report headings

REPORT section headings for the ISC graphs (#503) read "Isc Data Mesh
Graph": camel_to_title_case only keeps words listed in REPORT_ACRONYMS
upper-case. Add "ISC". This also lets _is_mermaid_attribute's
name-based fallback match the "ISC ..." entries in MERMAID_GRAPH_TITLES.
Replaces the backlog entry added in the previous commit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015pdMuTg6FmqPWeapeXM54g
Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>

---------

Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
@dwolfson
dwolfson deleted the feature/isc-6.3-mermaid-graphs branch October 30, 2026 16:35
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