Skip to content

[Task]: Add persistent governance and audit providers #21

Description

@rian-be

Summary

Add production-oriented persistence providers for governance request data and correlated audit/history records.

Goal

Move governance persistence beyond in-memory stores and make request lifecycle data durable in real deployments.

Problem

Current in-memory implementations are good for tests, examples, and early runtime shaping, but they are not enough for operational governance. Once approved execution, stale handling, and decision history matter, request data must survive process boundaries and correlate with audit/history records.

Scope

  • Add Entity Framework Core provider for governance request storage and query flows
  • Add PostgreSQL-oriented governance provider package
  • Add persistent audit/history provider where governance execution outcomes correlate with request data
  • Consider optional hot-path caching only after the primary providers are stable

Design Expectations

  • Provider boundaries should remain compatible with storage-agnostic write and query contracts.
  • Governance request data and runtime audit/history should be correlatable through stable identifiers.
  • Providers should preserve optimistic concurrency semantics already introduced in governance storage.
  • Database-specific concerns should not leak back into the governance abstractions surface.

Acceptance Criteria

  • Governance request storage has at least one persistent provider
  • Audit/history persistence can correlate with governance request outcomes
  • Provider boundaries remain compatible with storage-agnostic contracts
  • Provider documentation covers concurrency and lifecycle persistence behavior

Non-Goals

  • This issue does not define the read/query contract itself
  • This issue does not add distributed workflow orchestration
  • This issue does not add compensation semantics

Notes

This issue is about durable providers, not the query contracts themselves.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No fields configured for Task.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions