# Port: What an Agent Behaviour Policy is

> ruv.sgit.ai's ABP slide (run r8-explain), rebuilt on this site's slide engine: where it came from, what changed, its sources and the Apache-2.0 notice.

*Source: <https://the-ultimate-insider.presentation.sgit.ai/studio-ports/abp/index.html> · site v0.1.198 · generated from the same content as the page, so the two cannot drift.*

---

Port · from ruv.sgit.ai · by studio@the-ultimate-insider

# What an Agent Behaviour Policy is

An ABP is a written mandate, one row per capability, per role. It compiles into Ruflo's own policy engine, and real actions then hit it: in POC1, 6 of 11 actions stopped, 4 denied and 2 sent to a human, every decision on a hash-chained receipt.

[Open it on its own](../../studio-ports/lab/abp/index.md) · [the end state](../../studio-ports/lab/abp/index.html?review) · 26 seconds, five stops: a written mandate, mandate why barrier, compiled into Ruflo, actions hit it, enforced with receipts.

## Where it came from

Slide 7 of ruv.sgit.ai's ten-minute talk, [talk/slides/abp/](https://ruv.sgit.ai/talk/slides/abp/index.html), made in ruv.sgit run r8-explain. Source file: `site/talk/slides/abp/index.html` in SGit-AI/SGit-AI__Website__Ruv at commit `47b4475`.

## What changed

- The clock is this site's slide engine, so the player pauses, steps and seeks it; the five stops (`RUV_STEPS`) are the source's own.
- The canvas is 1280 by 720 (the source is 1280 by 600), re-laid so there are no bands; the act line became the headline, and the slide's ID, ABP, is drawn large.
- All 11 actions are on screen at the end (the source scrolls a feed of 5), so nothing is hidden in the final frame; the tally and the closing line sit below, with nothing overlapping.
- This site's colour tokens, in both themes: yes and allowed in teal, approval in amber, no and denied in red, used only where the decision is.
- The rule count finishes before the step's built stop, so the paused frame shows the full number.

## Every number, and its source

- The coder's rows, owner and end date: `abp.json` (role coder, 10 rows).
- 36 rules, 15 allow, 14 deny, 7 require approval, 6 roles: `rules.json`.
- 11 actions, 4 denied, 2 sent to a human, ledger length 11, chain valid: `report.json` (POC1).
- 23 primitives: `abp/vocabulary/capabilities.json`, `count`, in the same repository and commit.

The data files are copies of ruv.sgit.ai's `/data/`, unmodified and pinned by sha256 ([SOURCES.md](../../studio-ports/data/SOURCES.md)). Licence: [Apache-2.0](../../studio-ports/LICENSE-ruv-sgit.txt); the notice is kept in the port's source. Ruflo is MIT, by rUv / ruvnet.

---

*[Site index for agents](../../llms.txt) · [HTML version](https://the-ultimate-insider.presentation.sgit.ai/studio-ports/abp/index.html)*
