Skip to content

Statement of applicability support in SecurityOfficer (Egeria 6.3) - #492

Merged
dwolfson merged 1 commit into
odpi:mainfrom
dwolfson:feature/statement-of-applicability
Oct 26, 2026
Merged

dwolfson merged 1 commit into
odpi:mainfrom
dwolfson:feature/statement-of-applicability

Conversation

@dwolfson

Copy link
Copy Markdown
Member

Summary

Step 1 of the pyegeria/Dr.Egeria support asked for in the hand-off notes in odpi/egeria-workspaces#702 (design-docs/HANDOFF_pyegeria_statement_of_applicability.md).

  • SecurityOfficer: the nine new statement-of-applicability operations as sync + async methods — create_statement_of_applicability, create_statement_of_applicability_from_template, update_statement_of_applicability, delete_statement_of_applicability, get_statements_of_applicability_by_name, find_statements_of_applicability, get_statement_of_applicability_by_guid, link_control_applicability, detach_control_applicability. All built on the shared _async_*_request helpers. ControlApplicability is not multi-link, so re-linking a control updates the existing relationship; that's documented on the link method.
  • Models: StatementOfApplicabilityProperties (AuthoredReferenceable + scope, reviewDate), ControlApplicabilityProperties, ControlImplementationStatus enum.
  • DataDiscovery.delete_annotation: body now optional, matching the other delete methods (raised in the security-annotations hand-off).

Verification

  • Paths, request-body classes and JSON field names checked against the oak2026 branch of mandy-chessell/egeria (Egeria-api-security-officer.http, SecurityOfficerResource.java, StatementOfApplicabilityProperties.java, ControlApplicabilityProperties.java, ControlImplementationStatus.java). Those Egeria changes aren't on odpi/egeria main yet.
  • omvs_audit.py --service security-officer against that .http: missing 9 → 0, no mismatches.
  • New tests/micro-tests/test_security_officer_soa.py (14 tests, transport captured); full micro-tests suite passes (1506).
  • Not yet tested live: needs a platform built from oak2026.

Not in this PR

  • Control-table report spec (controls come back in otherRelatedElements, so it needs a custom extractor) and the Dr.Egeria SoA commands — next.
  • Security annotation models, report specs and Dr.Egeria commands.

🤖 Generated with Claude Code

https://claude.ai/code/session_014eEt3edgniAhaVunSFDQgq

Egeria 6.3 adds StatementOfApplicability and the ControlApplicability
relationship to the Security Officer view service (odpi/egeria-workspaces#702
hand-off). Adds the nine operations - create, create from template, update,
delete, get by name, find, get by GUID, link/detach control applicability -
as sync and async methods built on the shared request helpers, plus the
StatementOfApplicabilityProperties / ControlApplicabilityProperties models
and the ControlImplementationStatus enum.

Paths, bodies and field names checked against Mandy's oak2026 branch
(Egeria-api-security-officer.http, SecurityOfficerResource.java and the
properties classes). omvs_audit on security-officer against that .http:
missing 9 -> 0.

Also makes DataDiscovery.delete_annotation's body optional, like the other
delete methods.

Claude-Session: https://claude.ai/code/session_014eEt3edgniAhaVunSFDQgq
Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
@dwolfson
dwolfson merged commit 4cf1098 into odpi:main Oct 26, 2026
5 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