Skip to content

feat(pyegeria,dr-egeria): add Data Standards types (Egeria PR #9300) - #349

Merged
dwolfson merged 6 commits into
odpi:mainfrom
dwolfson:feature/data-standards-types-pr9300
Sep 8, 2026
Merged

feat(pyegeria,dr-egeria): add Data Standards types (Egeria PR #9300)#349
dwolfson merged 6 commits into
odpi:mainfrom
dwolfson:feature/data-standards-types-pr9300

Conversation

@dwolfson

@dwolfson dwolfson commented Sep 8, 2026

Copy link
Copy Markdown
Member

Summary

Adds SDK and Dr.Egeria support for the new Data Standards types from
odpi/egeria#9300:

  • pyegeria: Investigation classification pair on ProjectManager
    (set/clear_project_as_investigation), NamingStandardsVocabulary
    classification pair on GlossaryManager
    (set/clear_glossary_as_naming_standards_vocabulary), and the four new
    DataScope/DataLens datetime properties (dataValidityStartTime/EndTime,
    dataCoverageStartTime/EndTime) documented in classification_explorer.py
    and governance_officer.py sample bodies.
  • Dr.Egeria: registered Investigation/NamingStandardsVocabulary in
    curation.py's CLASSIFICATION_METHODS/CURATION_CLASSIFICATION_CLIENTS,
    added the 4 new Classify/Declassify commands to
    commands_curation_compact.json via the Spec Editor's REST API, and
    regenerated basic/advanced templates via refresh_specs.
  • docs/dr_egeria_manual.md updated to document the additions.

Caveats

Endpoint/property shapes were taken directly from the egeria PR #9300 diff on
GitHub, since this checkout's .http ground truth files haven't been updated
for this PR yet. validate_compact_specs currently fails its live-server
OM_TYPE check for both new types since the target server doesn't have the new
type archive deployed yet — re-verify against a live server once it does.

Test plan

  • pytest -m unit passes
  • pytest tests/micro-tests/test_gen_report_specs.py passes
  • Dispatcher registration verified: all 4 new commands route to
    CurationClassifyProcessor
  • Live-server verification once the new type archive is deployed

🤖 Generated with Claude Code

dwolfson and others added 6 commits September 6, 2026 17:12
pyproject.toml declares mcp >=0.1 but pyegeria/core/mcp_server.py imports
mcp.server.mcpserver.MCPServer, which requires mcp>=2.0 (confirmed live:
this dev venv has mcp==2.0.0 installed and the import works; the module
path doesn't exist in the 0.x/1.x mcp package line). Found by Egeria
Advisor rebuilding its demo deployment against pyegeria 6.1.10 -- worked
fine because they pinned mcp==2.1.1 explicitly, not because pyegeria's
own floor would have caught an older mcp.

Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
…spec

format_set_executor.py's `token` parameter (ISSUE-86 — let a caller that
already holds an Egeria bearer token run a report without a password) is on
main with no dedicated test.

These tests existed only on an unpushed local branch,
claude/cranky-chebyshev-be2494, alongside a second, parallel implementation
of the same feature that main had meanwhile gained by another route.
Pushing that branch would have added a duplicate implementation; the tests
were the part worth keeping, so they are salvaged here on their own.

They were written against that branch's `_authenticate_client()` helper,
which main does not have — verified they pass unchanged against main's
inline implementation (7 passed), so they test the behaviour rather than
that refactor's shape.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
commands_project_compact.json's `Project Type` attribute declares six
valid_values (Project, Campaign, Task, PersonalProject, StudyProject,
Experiment) and describes four — `Project`, which is also the attribute's own
default_value, and `Experiment` are both missing from the prose.

The machine-readable list is correct: it matches Egeria 6's Project
classifications in OpenMetadataType.java (model 0130). Only the description is
behind.

It has propagated. gen_md_cmd_templates and gen_dr_help render the description,
so 25 files in the main tree carry the sentence verbatim — the source JSON plus
24 generated artifacts, 16 of which ship as user-facing templates. Notably
sample-data/templates/{basic,advanced}/Projects/Create_Experiment.md tells the
reader Experiment is not a supported value, and the generated help tables
contradict themselves in a single row by printing the prose beside the
valid_values column.

Logged, not fixed, per the standing rule for this repo. The entry carries a
suggested replacement description worded from the Egeria type definitions
themselves, the regenerate-and-propagate steps, and a note to check whether any
other compact-command attribute enumerates its valid_values in prose — the same
latent defect wherever it exists.

Found while mapping Resource Explorer's investigation classifications onto
Egeria's.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
Adds SDK and Dr.Egeria support for the new Data Standards types:

- pyegeria: Investigation classification pair on ProjectManager
  (set/clear_project_as_investigation), NamingStandardsVocabulary
  classification pair on GlossaryManager
  (set/clear_glossary_as_naming_standards_vocabulary), and the four new
  DataScope/DataLens datetime properties (dataValidityStartTime/EndTime,
  dataCoverageStartTime/EndTime) documented in classification_explorer.py
  and governance_officer.py sample bodies.
- Dr.Egeria: registered Investigation/NamingStandardsVocabulary in
  curation.py's CLASSIFICATION_METHODS/CURATION_CLASSIFICATION_CLIENTS,
  added the 4 new Classify/Declassify commands to
  commands_curation_compact.json via the Spec Editor's REST API, and
  regenerated basic/advanced templates via refresh_specs.
- docs/dr_egeria_manual.md updated to document the additions.

Endpoint/property shapes were taken directly from the egeria PR #9300
diff on GitHub, since this checkout's `.http` ground truth files haven't
been updated for this PR yet. validate_compact_specs currently fails its
live-server OM_TYPE check for both new types since the server doesn't
have the type archive deployed yet -- re-verify once it does.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KYNxABE3SRUT5cXbpmrfU2
Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
@dwolfson
dwolfson merged commit 8d7ae0a into odpi:main Sep 8, 2026
2 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