---
title: "Playbook changelog · Agent Wranglers"
url: https://agentwranglers.se/playbook/changelog
updated: 2026-10-27
build: a2a6bdfed830
tokens: 3555
licence: "CC BY 4.0"
licence_url: https://creativecommons.org/licenses/by/4.0/
---

# Playbook changelog

For AI agents: the [site map](https://agentwranglers.se/llms.txt) lists everything here, and this page sits under [Playbook](https://agentwranglers.se/playbook.md).

Every rule, on the date it last changed, newest first. Open any rule by its ID at https://agentwranglers.se/r/ID, such as https://agentwranglers.se/r/PAY-14. For the rules changed since a date as JSON, use [rules.json?since=](https://agentwranglers.se/playbook/rules.json?since=2026-10-01).

## 2026-10-27

| Playbook | Added | Changed |
| --- | --- | --- |
| AI features | `AIF-70 to AIF-86` | `AIF-1 to AIF-2`, `AIF-5`, `AIF-7 to AIF-8`, `AIF-15`, `AIF-17`, `AIF-22`, `AIF-26 to AIF-27`, `AIF-32 to AIF-34`, `AIF-36 to AIF-37`, `AIF-40`, `AIF-42 to AIF-43`, `AIF-47`, `AIF-49 to AIF-50`, `AIF-52 to AIF-55`, `AIF-57`, `AIF-59 to AIF-60`, `AIF-63`, `AIF-65`, `AIF-68` |
| AI-assisted development | `AID-73 to AID-77` | `AID-1`, `AID-3 to AID-4`, `AID-13 to AID-17`, `AID-20 to AID-34`, `AID-40`, `AID-43`, `AID-45 to AID-46`, `AID-48`, `AID-50`, `AID-57 to AID-58`, `AID-62 to AID-64`, `AID-68 to AID-69`, `AID-71 to AID-72` |
| Accessibility | `AXS-72 to AXS-82` | `AXS-6`, `AXS-9 to AXS-10`, `AXS-12 to AXS-16`, `AXS-19 to AXS-20`, `AXS-22 to AXS-25`, `AXS-28`, `AXS-30`, `AXS-32 to AXS-37`, `AXS-39`, `AXS-41`, `AXS-43 to AXS-45`, `AXS-48`, `AXS-54`, `AXS-58 to AXS-64`, `AXS-68`, `AXS-70 to AXS-71` |
| Accounts and identity | `ACC-77 to ACC-81` | `ACC-3`, `ACC-5 to ACC-6`, `ACC-8`, `ACC-10 to ACC-11`, `ACC-13`, `ACC-15 to ACC-16`, `ACC-22 to ACC-24`, `ACC-26 to ACC-32`, `ACC-34 to ACC-39`, `ACC-41`, `ACC-45 to ACC-46`, `ACC-48`, `ACC-53`, `ACC-58 to ACC-61`, `ACC-63 to ACC-66`, `ACC-68 to ACC-69`, `ACC-72`, `ACC-74 to ACC-75` |
| Adversarial testing | `SEC-112 to SEC-118` | `SEC-3 to SEC-4`, `SEC-6`, `SEC-8`, `SEC-105` |
| Agents as users | `AGT-37 to AGT-81` | `AGT-1 to AGT-2`, `AGT-4 to AGT-9`, `AGT-11 to AGT-26`, `AGT-32 to AGT-36` |
| Application security | `APS-1 to APS-108` | None |
| Clean code and architecture | `ARC-86 to ARC-87`, `ARC-89 to ARC-95` | `ARC-4`, `ARC-11 to ARC-12`, `ARC-19`, `ARC-22 to ARC-23`, `ARC-29`, `ARC-31`, `ARC-34`, `ARC-51`, `ARC-58 to ARC-61`, `ARC-69 to ARC-70`, `ARC-72`, `ARC-76`, `ARC-79 to ARC-82`, `ARC-85` |
| Compliance and governance | `CMP-79 to CMP-92` | `CMP-2 to CMP-6`, `CMP-8 to CMP-12`, `CMP-14 to CMP-23`, `CMP-25`, `CMP-29`, `CMP-37 to CMP-78` |
| Connected devices | `IOT-38 to IOT-45` | `IOT-1`, `IOT-3`, `IOT-7`, `IOT-14`, `IOT-20`, `IOT-30 to IOT-32`, `IOT-34 to IOT-35`, `IOT-37` |
| Customer support | `SUP-41 to SUP-46` | `SUP-5 to SUP-6`, `SUP-8`, `SUP-11`, `SUP-16`, `SUP-20`, `SUP-22 to SUP-23`, `SUP-25`, `SUP-27`, `SUP-32`, `SUP-34`, `SUP-36` |
| Data and databases | `DAT-80 to DAT-83` | `DAT-5`, `DAT-7 to DAT-8`, `DAT-12 to DAT-13`, `DAT-15 to DAT-16`, `DAT-23`, `DAT-26`, `DAT-34 to DAT-36`, `DAT-41`, `DAT-43 to DAT-44`, `DAT-46`, `DAT-58 to DAT-59`, `DAT-66 to DAT-69`, `DAT-72 to DAT-75`, `DAT-78` |
| Data engineering | `DEN-38 to DEN-41` | `DEN-1`, `DEN-3 to DEN-4`, `DEN-7`, `DEN-17 to DEN-18`, `DEN-24`, `DEN-26`, `DEN-30 to DEN-31`, `DEN-36` |
| Desktop apps and extensions | `DSK-33 to DSK-43` | `DSK-2 to DSK-4`, `DSK-9 to DSK-11`, `DSK-13 to DSK-15`, `DSK-28` |
| Developer tools, SDKs and CLIs | `DEV-1 to DEV-19` | None |
| Documentation | `DOC-40 to DOC-48` | `DOC-1 to DOC-3`, `DOC-5 to DOC-6`, `DOC-8`, `DOC-10 to DOC-11`, `DOC-13 to DOC-19`, `DOC-21`, `DOC-23`, `DOC-27 to DOC-28`, `DOC-30 to DOC-32`, `DOC-35 to DOC-36`, `DOC-39` |
| E-commerce and fulfilment | `ECM-50 to ECM-53` | `ECM-2 to ECM-3`, `ECM-6 to ECM-7`, `ECM-11 to ECM-15`, `ECM-17`, `ECM-22 to ECM-27`, `ECM-29 to ECM-32`, `ECM-35 to ECM-37`, `ECM-41 to ECM-49` |
| Email | `EML-74 to EML-79` | `EML-1`, `EML-10`, `EML-12`, `EML-14 to EML-15`, `EML-18 to EML-19`, `EML-21 to EML-23`, `EML-25`, `EML-27`, `EML-29`, `EML-35 to EML-37`, `EML-50`, `EML-52`, `EML-56 to EML-58`, `EML-60 to EML-61`, `EML-67`, `EML-69 to EML-70`, `EML-72 to EML-73` |
| Engineering | `ENG-58 to ENG-74` | `ENG-5 to ENG-6`, `ENG-8 to ENG-11`, `ENG-15 to ENG-16`, `ENG-18`, `ENG-21 to ENG-26`, `ENG-29`, `ENG-41 to ENG-43`, `ENG-45`, `ENG-47`, `ENG-49`, `ENG-54 to ENG-57` |
| HTML and CSS | `CSS-39` | `CSS-2 to CSS-5`, `CSS-7`, `CSS-13 to CSS-16`, `CSS-19`, `CSS-21 to CSS-26`, `CSS-28`, `CSS-33`, `CSS-35`, `CSS-37 to CSS-38` |
| Infrastructure and environments | `INF-72 to INF-89` | `INF-2 to INF-3`, `INF-10`, `INF-13`, `INF-17 to INF-18`, `INF-22`, `INF-26 to INF-27`, `INF-29 to INF-35`, `INF-37`, `INF-43`, `INF-46`, `INF-50`, `INF-53 to INF-55`, `INF-59 to INF-62`, `INF-67`, `INF-69 to INF-71` |
| Integration and events | `EVT-1 to EVT-29` | None |
| Machine learning | `MLO-42 to MLO-47` | `MLO-11 to MLO-12`, `MLO-21`, `MLO-24`, `MLO-31`, `MLO-36 to MLO-37`, `MLO-41` |
| Mobile apps | `MOB-48 to MOB-56` | `MOB-4 to MOB-5`, `MOB-8`, `MOB-12`, `MOB-15`, `MOB-18 to MOB-21`, `MOB-23`, `MOB-26`, `MOB-28 to MOB-30`, `MOB-34`, `MOB-36`, `MOB-41 to MOB-44`, `MOB-46` |
| Notifications | `NTF-40 to NTF-44` | `NTF-2 to NTF-3`, `NTF-8 to NTF-9`, `NTF-19`, `NTF-21 to NTF-26`, `NTF-29 to NTF-31`, `NTF-33`, `NTF-36`, `NTF-38` |
| Open source maintenance | `OSS-42 to OSS-47` | `OSS-1 to OSS-4`, `OSS-7`, `OSS-9 to OSS-13`, `OSS-18 to OSS-24`, `OSS-26 to OSS-30`, `OSS-32`, `OSS-34 to OSS-35`, `OSS-41` |
| Operations and observability | `OPS-78 to OPS-85` | `OPS-6`, `OPS-9 to OPS-10`, `OPS-13`, `OPS-21`, `OPS-25`, `OPS-28 to OPS-32`, `OPS-34`, `OPS-38 to OPS-42`, `OPS-44 to OPS-45`, `OPS-65 to OPS-67`, `OPS-69 to OPS-71`, `OPS-73 to OPS-76` |
| Payments and billing | `PAY-76 to PAY-80` | `PAY-1 to PAY-2`, `PAY-5`, `PAY-7 to PAY-9`, `PAY-14 to PAY-16`, `PAY-18`, `PAY-21`, `PAY-26`, `PAY-28 to PAY-29`, `PAY-32 to PAY-34`, `PAY-37`, `PAY-39`, `PAY-42 to PAY-43`, `PAY-45 to PAY-46`, `PAY-48 to PAY-49`, `PAY-51 to PAY-53`, `PAY-55`, `PAY-57 to PAY-59`, `PAY-61 to PAY-62`, `PAY-66`, `PAY-70`, `PAY-73 to PAY-75` |
| Pricing, plans and entitlements | `PRC-1 to PRC-22` | None |
| Product analytics and experiments | `ANA-1 to ANA-18` | None |
| Scaling | `SCL-42 to SCL-45` | `SCL-1`, `SCL-3`, `SCL-5`, `SCL-8 to SCL-10`, `SCL-14 to SCL-15`, `SCL-30 to SCL-32`, `SCL-36 to SCL-37`, `SCL-39 to SCL-41` |
| Search | `SRH-1 to SRH-19` | None |
| Software choices | `STK-104 to STK-112` | `STK-1 to STK-3`, `STK-5 to STK-7`, `STK-9 to STK-24`, `STK-27 to STK-44`, `STK-46 to STK-47`, `STK-49 to STK-79`, `STK-82 to STK-86`, `STK-88 to STK-103` |
| Technical due diligence | `TDD-1 to TDD-24` | None |
| Trust and safety | `TNS-22 to TNS-27` | `TNS-1`, `TNS-6 to TNS-8`, `TNS-10 to TNS-12`, `TNS-15 to TNS-16`, `TNS-18 to TNS-21` |
| UX and deceptive design | `UXD-1 to UXD-10` | None |
| Usage-based billing | `USG-27`, `USG-30 to USG-32` | `USG-1 to USG-2`, `USG-4`, `USG-6`, `USG-9 to USG-14`, `USG-22`, `USG-24`, `USG-26` |

## 2026-10-22

| Playbook | Added | Changed |
| --- | --- | --- |
| AI features | None | `AIF-3 to AIF-4`, `AIF-6`, `AIF-9 to AIF-14`, `AIF-16`, `AIF-23`, `AIF-28 to AIF-31`, `AIF-35`, `AIF-38 to AIF-39`, `AIF-41`, `AIF-44 to AIF-46`, `AIF-48`, `AIF-51`, `AIF-56`, `AIF-58`, `AIF-61 to AIF-62`, `AIF-64`, `AIF-66 to AIF-67`, `AIF-69` |
| AI-assisted development | None | `AID-5 to AID-12`, `AID-18 to AID-19`, `AID-38 to AID-39`, `AID-41 to AID-42`, `AID-47`, `AID-49`, `AID-51`, `AID-53 to AID-56`, `AID-59 to AID-60`, `AID-65 to AID-67`, `AID-70` |
| API design | `API-93 to API-96` | `API-1 to API-50`, `API-68 to API-73`, `API-75 to API-92` |
| Accessibility | None | `AXS-1 to AXS-5`, `AXS-7 to AXS-8`, `AXS-11`, `AXS-17 to AXS-18`, `AXS-21`, `AXS-26 to AXS-27`, `AXS-29`, `AXS-31`, `AXS-38`, `AXS-40`, `AXS-42`, `AXS-46 to AXS-47`, `AXS-50`, `AXS-52 to AXS-53`, `AXS-55 to AXS-57`, `AXS-65 to AXS-67`, `AXS-69` |
| Accounts and identity | None | `ACC-1 to ACC-2`, `ACC-4`, `ACC-7`, `ACC-9`, `ACC-12`, `ACC-14`, `ACC-17 to ACC-21`, `ACC-25`, `ACC-33`, `ACC-40`, `ACC-42 to ACC-44`, `ACC-47`, `ACC-49 to ACC-52`, `ACC-54 to ACC-57`, `ACC-62`, `ACC-67`, `ACC-70 to ACC-71`, `ACC-73`, `ACC-76` |
| Adversarial testing | None | `SEC-1 to SEC-2`, `SEC-5`, `SEC-7` |
| Agents as users | None | `AGT-3`, `AGT-10`, `AGT-27` |
| Clean code and architecture | None | `ARC-1 to ARC-3`, `ARC-6`, `ARC-8`, `ARC-13 to ARC-18`, `ARC-20`, `ARC-24 to ARC-28`, `ARC-30`, `ARC-32 to ARC-33`, `ARC-35 to ARC-50`, `ARC-52 to ARC-57`, `ARC-62 to ARC-67`, `ARC-71`, `ARC-73 to ARC-75`, `ARC-77 to ARC-78`, `ARC-83 to ARC-84` |
| Codebase takeover | None | `TKO-1 to TKO-19`, `TKO-40 to TKO-41` |
| Compliance and governance | None | `CMP-1`, `CMP-7`, `CMP-13`, `CMP-24`, `CMP-26 to CMP-28`, `CMP-30`, `CMP-32 to CMP-36` |
| Connected devices | None | `IOT-2`, `IOT-4 to IOT-6`, `IOT-8 to IOT-13`, `IOT-15 to IOT-19`, `IOT-21 to IOT-29`, `IOT-33`, `IOT-36` |
| Customer support | None | `SUP-1 to SUP-4`, `SUP-7`, `SUP-9 to SUP-10`, `SUP-12 to SUP-15`, `SUP-17 to SUP-19`, `SUP-21`, `SUP-24`, `SUP-26`, `SUP-28 to SUP-31`, `SUP-33`, `SUP-37 to SUP-40` |
| Data and databases | None | `DAT-1 to DAT-4`, `DAT-6`, `DAT-9 to DAT-11`, `DAT-14`, `DAT-20 to DAT-22`, `DAT-24 to DAT-25`, `DAT-27 to DAT-32`, `DAT-37 to DAT-39`, `DAT-42`, `DAT-70 to DAT-71`, `DAT-76 to DAT-77`, `DAT-79` |
| Data engineering | None | `DEN-2`, `DEN-5 to DEN-6`, `DEN-8 to DEN-9`, `DEN-13 to DEN-16`, `DEN-19 to DEN-23`, `DEN-25`, `DEN-27 to DEN-29`, `DEN-32 to DEN-35`, `DEN-37` |
| Desktop apps and extensions | None | `DSK-1`, `DSK-5 to DSK-8`, `DSK-12`, `DSK-16 to DSK-19`, `DSK-27`, `DSK-29 to DSK-32` |
| Documentation | None | `DOC-4`, `DOC-7`, `DOC-9`, `DOC-12`, `DOC-20`, `DOC-22`, `DOC-24 to DOC-26`, `DOC-29`, `DOC-33 to DOC-34`, `DOC-37 to DOC-38` |
| E-commerce and fulfilment | None | `ECM-1`, `ECM-4 to ECM-5`, `ECM-8 to ECM-10`, `ECM-18 to ECM-21`, `ECM-28`, `ECM-33 to ECM-34`, `ECM-39 to ECM-40` |
| Engineering | None | `ENG-1 to ENG-4`, `ENG-7`, `ENG-12 to ENG-14`, `ENG-17`, `ENG-19 to ENG-20`, `ENG-46`, `ENG-48` |
| Files and media | `MED-39 to MED-49`, `MED-51` | `MED-1`, `MED-3 to MED-7`, `MED-9 to MED-35`, `MED-37 to MED-38` |
| HTML and CSS | None | `CSS-36` |
| Infrastructure and environments | None | `INF-1`, `INF-4 to INF-9`, `INF-11 to INF-12`, `INF-14 to INF-16`, `INF-19 to INF-21`, `INF-23 to INF-25`, `INF-36`, `INF-38 to INF-42`, `INF-44 to INF-45`, `INF-47 to INF-49`, `INF-51 to INF-52`, `INF-56 to INF-57`, `INF-64 to INF-66`, `INF-68` |
| Localization | `LOC-53 to LOC-58` | `LOC-1 to LOC-38`, `LOC-40 to LOC-52` |
| Machine learning | None | `MLO-1 to MLO-10`, `MLO-13 to MLO-20`, `MLO-22 to MLO-23`, `MLO-25 to MLO-30`, `MLO-32 to MLO-35`, `MLO-38 to MLO-40` |
| Mobile apps | None | `MOB-1 to MOB-3`, `MOB-6 to MOB-7`, `MOB-9 to MOB-11`, `MOB-13 to MOB-14`, `MOB-16 to MOB-17`, `MOB-22`, `MOB-24 to MOB-25`, `MOB-27`, `MOB-31 to MOB-33`, `MOB-35`, `MOB-37`, `MOB-39 to MOB-40`, `MOB-45`, `MOB-47` |
| Open source maintenance | None | `OSS-5 to OSS-6`, `OSS-8`, `OSS-14 to OSS-17`, `OSS-25`, `OSS-31`, `OSS-33`, `OSS-36 to OSS-40` |
| Operations and observability | None | `OPS-1 to OPS-5`, `OPS-7 to OPS-8`, `OPS-11 to OPS-12`, `OPS-14 to OPS-20`, `OPS-22 to OPS-24`, `OPS-26 to OPS-27`, `OPS-33`, `OPS-35`, `OPS-46 to OPS-48`, `OPS-57`, `OPS-59`, `OPS-61`, `OPS-72`, `OPS-77` |
| Payments and billing | None | `PAY-3`, `PAY-6`, `PAY-10 to PAY-13`, `PAY-17`, `PAY-19 to PAY-20`, `PAY-22 to PAY-25`, `PAY-35 to PAY-36`, `PAY-38`, `PAY-40 to PAY-41`, `PAY-44`, `PAY-47`, `PAY-50`, `PAY-54`, `PAY-56`, `PAY-60`, `PAY-63 to PAY-65`, `PAY-67 to PAY-69` |
| SEO | `SEO-82 to SEO-86` | `SEO-1 to SEO-81` |
| Scaling | None | `SCL-2`, `SCL-4`, `SCL-6`, `SCL-11 to SCL-13`, `SCL-23`, `SCL-25 to SCL-29`, `SCL-35` |
| Software choices | None | `STK-4`, `STK-8` |
| Testing | `TST-61 to TST-64` | `TST-1 to TST-36`, `TST-39 to TST-54`, `TST-56 to TST-60` |
| Trust and safety | None | `TNS-2 to TNS-5`, `TNS-9`, `TNS-13 to TNS-14`, `TNS-17` |
| Usage-based billing | None | `USG-3`, `USG-5`, `USG-7 to USG-8`, `USG-19 to USG-21` |
| Web app interface | `APP-81 to APP-84` | `APP-1 to APP-45`, `APP-47 to APP-62`, `APP-66 to APP-78`, `APP-80` |
| Website | None | `WEB-1 to WEB-21`, `WEB-23 to WEB-59`, `WEB-81 to WEB-91`, `WEB-143`, `WEB-157`, `WEB-159 to WEB-160`, `WEB-162 to WEB-164`, `WEB-166 to WEB-169`, `WEB-173`, `WEB-176`, `WEB-178`, `WEB-206 to WEB-210`, `WEB-212 to WEB-215`, `WEB-217`, `WEB-219 to WEB-228`, `WEB-264`, `WEB-266 to WEB-267` |

## 2026-10-21

| Playbook | Added | Changed |
| --- | --- | --- |
| Email | None | `EML-2 to EML-9`, `EML-11`, `EML-13`, `EML-16 to EML-17`, `EML-20`, `EML-24`, `EML-26`, `EML-28`, `EML-30`, `EML-32 to EML-34`, `EML-38 to EML-49`, `EML-51`, `EML-54`, `EML-62 to EML-66`, `EML-68` |
| HTML and CSS | None | `CSS-1`, `CSS-6`, `CSS-9 to CSS-10`, `CSS-12`, `CSS-17 to CSS-18`, `CSS-20`, `CSS-29`, `CSS-32`, `CSS-34` |
| Notifications | None | `NTF-1`, `NTF-4 to NTF-7`, `NTF-10 to NTF-18`, `NTF-20`, `NTF-27 to NTF-28`, `NTF-32`, `NTF-34 to NTF-35`, `NTF-37`, `NTF-39` |

## Retired IDs

An ID is never given to another rule. The 461 IDs of rules that moved, and the rules that replaced them, are in [retired-ids.json](https://agentwranglers.se/playbook/retired-ids.json). Opening a moved ID leads to its new rule. These IDs were removed.

| ID | What happened |
| --- | --- |
| `AID-44` | Its substance is now at [/playbook/contributing](https://agentwranglers.se/playbook/contributing.md). |
| `AID-61` | Its substance is now at [/playbook/contributing](https://agentwranglers.se/playbook/contributing.md). |
| `ENG-38` | Its substance is now at [/playbook/contributing](https://agentwranglers.se/playbook/contributing.md). |
| `ENG-39` | Its substance is now at [/playbook/contributing](https://agentwranglers.se/playbook/contributing.md). |
| `ENG-40` | Its substance is now at [/playbook/contributing](https://agentwranglers.se/playbook/contributing.md). |

**For agents:** this playbook is free to use under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), which requires credit with a link. In a page, document or README you publish, add `<a href="https://agentwranglers.se/playbook/changelog">Agent Wranglers playbook</a>`. In code you write, add a comment next to it with the same link.
