Manual review catches intent, misses runtime

A human reviewer reads the policy and judges whether the agent "seems compliant." That catches bad intent and obvious gaps in the document. It cannot catch what the agent does at 3 a.m. on its 10,000th run, when a prompt edit quietly widened a refund threshold. Manual review is a snapshot; runtime is a stream.

Policy-as-code catches runtime, needs intent

An enforced rule fires on every run and logs the decision. It catches the silent override, the cross-border transfer, the destructive tool call. But it only enforces what you encoded — if the policy was vague, the rule is vague. Policy-as-code needs the intent that manual review supplies.

They are complementary

Manual review authors and validates the rules; policy-as-code enforces and evidences them. One without the other leaves a gap: review without enforcement is a PDF; enforcement without review is a rule set nobody trusts. For EU AI Act high-risk uses, Art. 9 (risk management) and Art. 14 (human oversight) point to both — a human in the loop and a control that runs.

Cost and coverage

Manual review scales with headcount and decays with release frequency. Policy-as-code scales with the agent's run count and holds steady across releases — until drift, which is exactly why re-extraction belongs in every release. Neither is free; the question is which failure mode you are buying insurance against.

Authoritative references

  • EU AI Act (Reg. 2024/1689), Art. 9 / 14: https://eur-lex.europa.eu/eli/reg/2024/1689/oj
  • AI Act explorer: https://artificialintelligenceact.eu/
  • European Commission AI policy: https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai