Repository navigation
Dr.Egeria statement of applicability commands and control reports (Egeria 6.3) - #493
Merged
Merged
Conversation
Adds a Security Officer command family for the Egeria 6.3 statement of applicability types (odpi/egeria-workspaces#702 hand-off, step 2): - Create/Update Statement of Applicability, with Certification Standard (GovernedBy) and Scoped By (ScopedBy) relationship sync. - Link/Unlink Control Applicability. Egeria's attach replaces the relationship properties wholesale when the control is already linked (confirmed live), so the processor merges with the existing properties by default; Merge Update false replaces them. - Report specs Statement-of-Applicability-Controls (one row per control) and Statement-of-Applicability-Implementation-Summary (applicable controls by implementation status, analytic function, chartable), backed by new SecurityOfficer.get_statement_of_applicability_controls and get_control_implementation_summary. Both accept a GUID or qualified name. Templates, generated report specs, a Dr.Egeria test document and micro-tests included. Verified end to end against the 2026-10-26 egeria-platform:latest quickstart with throwaway controls (since deleted). Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
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
Step 2 of the pyegeria/Dr.Egeria support asked for in odpi/egeria-workspaces#702 (
design-docs/HANDOFF_pyegeria_statement_of_applicability.md), building on theSecurityOfficermethods from #492.commands_security_officer_compact.json, processors inmd_processing/v2/security_officer.py):Create/Update Statement of Applicability: Display Name, Qualified Name, Description, Version Identifier, Scope, Review Date, Authors, Content Status.Certification Standardlinks the certification type through GovernedBy, andScoped Bylinks the elements it covers through ScopedBy. If an attribute is left out, its links are left alone. WithMerge Update: false, links the command no longer lists are removed.Link/Unlink Control Applicability: Is Applicable, Justification, Inclusion Reasons, Implementation Status, Implementation Description, Review Date, Label, Description.Certification StandardandScoped Byinstead ofCertification TypeandScope Elements. Attribute names are shared across all families at runtime, and those two already exist with different meanings: one is required, the other is a Dictionary.Merge Update: falsereplaces them.Statement-of-Applicability-Controls: one row per control. LIST gives the auditor's markdown table and DICT gives spreadsheet rows.Statement-of-Applicability-Implementation-Summary: applicable controls counted by implementation status. It's an analytic function, so BAR and PIE outputs give a chart.soa_guid, which accepts a GUID or a qualified name.SecurityOfficer.get_statement_of_applicability_controlsandget_control_implementation_summary. Alsooverview_metrics.control_implementation_summary, registered in the analytic function registry.Statement-of-Applicability-DrE-*specs, a Dr.Egeria test document (dr_test_security_officer.md, added torun_dr_tests.py), and a Security Officer entry indocs/dr_egeria_manual.md.Verification
omvs_audit.py --service security-officeragainst the updated.httpfiles: 22 OK, 0 mismatches, 0 missing.validate_compact_specs: 0 errors.dr_egeria_attribute_consumption_audit.py --family "Security Officer": 0 findings.Known gaps
View Reportcan't run report specs backed by an analytic function:_async_run_reportonly handlesfunction. That's an existing gap, and it affects the analytic demo specs too. So the summary spec runs throughexec_report_specand the SDK, but not fromView Report.Create Statement of Applicabilityreports SUCCESS even when a GovernedBy or ScopedBy link fails. The failure is only recorded as a related result, which matches how the other processors behave.Not in this PR
🤖 Generated with Claude Code