# Policy as code needs a policy first: what changed in v1.1.0, sgit.ai

> The changes to the article "Policy as code needs a policy first" in v1.1.0, paragraph by paragraph.

*Source: <https://newsroom.sgit.ai/articles/versions/policy-as-code-needs-a-policy-first/v1.1.0.html> · sgit.ai v0.7.87 · this file is generated from the same content as the page, so the two cannot drift. Every page on this site has a `.md` twin; internal links below point at them.*

---

[Home](../../../index.md) / [Articles](../../index.md) / [Policy as code needs a policy first](../../policy-as-code-needs-a-policy-first.md) / [Versions](../policy-as-code-needs-a-policy-first.md) / v1.1.0

# Policy as code needs a policy first: what changed in v1.1.0

From v1.0.0 (2026-10-14, `484d23815`) to v1.1.0 (2026-10-27, `db67c5ce1`), paragraph by paragraph.

0 paragraphs added, 0 removed, 3 changed in place, 58 unchanged. About 0 words added and 108 removed. Insertions are marked like this, deletions like this; unchanged runs are folded to one line; figures appear as their file names.

[all versions](../policy-as-code-needs-a-policy-first.md)

2 unchanged paragraphs

!shot pq-altitudes.webp | images/ | One policy at three altitudes. At the top,altitudes: the business's words: a board policy, a row of a control spreadsheet, an article of a regulation. In the middle,words, the ABP row for one agent in one deployment: reach, mandate, gap, barrieragent, and owner. At the bottom, the code where decisions are made: a Rego rule, a hook, a validator check. Generating code walks down; reverse engineering walks up; a node with no edge is a gap.made. | architecture

23 unchanged paragraphs, under In short {#in-short}, Policy as code, and the question it answers {#question}, What an agent behaviour policy adds {#adds}…

!shot pq-session.webp | images/ | This session's own policy, reverse engineered from its code.code:Elevenelevenrules; for each,rules, the code thatbehindenforces it, who can change that code,each and the barrier that results. Eight have some code behind them; only one, never pushing to sgit.ai, has code the agent cannot change.barrier. | comparison

6 unchanged paragraphs, under Generating code from the policy {#generate}

!shot pq-roundtrip.webp | images/ | A round trip through Open Policy Agent.Agent:Fivefive ABP rows as data, generated into aRego,35-line Rego policy, evaluated against seven requests,evaluated, then parsed back with OPA's own parser and compared with the ABP: one row with no code, one rule with no row.compared. | architecture

27 unchanged paragraphs, under From spreadsheets and paper {#paper}, Why it needs fractal semantic graphs {#fsg}, The four jobs {#jobs}…

[all versions](../policy-as-code-needs-a-policy-first.md)


---

*[Site index for agents](../../../llms.txt) · [HTML version](https://newsroom.sgit.ai/articles/versions/policy-as-code-needs-a-policy-first/v1.1.0.html)*
