feat(pyegeria,dr-egeria): add Data Standards types (Egeria PR #9300) - #349
Merged
Merged
Conversation
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>
2 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds SDK and Dr.Egeria support for the new Data Standards types from
odpi/egeria#9300:
Investigationclassification pair onProjectManager(
set/clear_project_as_investigation),NamingStandardsVocabularyclassification pair on
GlossaryManager(
set/clear_glossary_as_naming_standards_vocabulary), and the four newDataScope/DataLensdatetime properties (dataValidityStartTime/EndTime,dataCoverageStartTime/EndTime) documented inclassification_explorer.pyand
governance_officer.pysample bodies.Investigation/NamingStandardsVocabularyincuration.py'sCLASSIFICATION_METHODS/CURATION_CLASSIFICATION_CLIENTS,added the 4 new Classify/Declassify commands to
commands_curation_compact.jsonvia the Spec Editor's REST API, andregenerated basic/advanced templates via
refresh_specs.docs/dr_egeria_manual.mdupdated to document the additions.Caveats
Endpoint/property shapes were taken directly from the egeria PR #9300 diff on
GitHub, since this checkout's
.httpground truth files haven't been updatedfor this PR yet.
validate_compact_specscurrently fails its live-serverOM_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 unitpassespytest tests/micro-tests/test_gen_report_specs.pypassesCurationClassifyProcessor🤖 Generated with Claude Code