You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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).
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.
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) -> strconversion 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)
FilePolicySource(AIAC_POLICY_FILE) is pointed at it; single-file vs multiple sources, and any concurrency concerns.Dependencies
digest_policy()conversion callable)Acceptance criteria (draft)
digest_policy(), and stores the digested policy.FilePolicySource, with no change to their own code beyond what points the source at the digest.