Skip to content

feature: Standalone policy-digester unit (read → digest → store, serve digest to the flow) #2555

Description

@anatolykoyfman

Part of the Digested access-control policy epic (#2537). Split out of #2539 (Policy Digester) during design grilling.

Background

Digestion happens once, out of band. #2539 delivers the pure digest_policy(source_policy: str) -> str conversion callable but does no I/O, persistence, or wiring. This issue is the runtime unit that uses that callable.

Goal

A standalone policy-digester unit that reads the original source policy, digests it, stores the digest, and arranges for the rest of the system to run on the digested policy — so onboarding, policy-update, and the PRB only ever see the already-digested policy via FilePolicySource (unchanged).

Scope (to be refined)

  • Trigger model: when digestion runs — on source-policy change, manual invocation, or scheduled.
  • Storage & serving: where the digest is stored and how FilePolicySource (AIAC_POLICY_FILE) is pointed at it; single-file vs multiple sources, and any concurrency concerns.
  • Flow swap: cut onboarding/policy-update/PRB over from raw source to the stored digest. Consider whether the PRB proposer prompt needs retuning for digest-language input — it is currently framed for raw source prose (integration concern surfaced during feature: Source→digested policy conversion (Policy Digester) #2539 grilling).
  • Conflict gate: integrate feature: Digest-layer authoring conflict detection (report + not-applied) #2554 — a digest with an authoring-layer conflict is reported and not stored.

Dependencies

Acceptance criteria (draft)

  • The unit reads the source policy, calls digest_policy(), and stores the digested policy.
  • Onboarding / policy-update / PRB operate on the digested policy via FilePolicySource, with no change to their own code beyond what points the source at the digest.
  • A digest that fails the feature: Digest-layer authoring conflict detection (report + not-applied) #2554 conflict check is reported and not stored.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions