Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/admin/keys-and-permissions.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ Key secrets are shown when created or regenerated. Store them in a secret manage
| Alerts | `alerts:read`, `alerts:write` |
| Issues | `issues:read`, `issues:create`, `issues:close` |
| Audits | `audits:read`, `audits:write` |
| Policies | `policies:read`, `policies:write`, `policies:pull` |
| Policies | `fixes:read`, `fixes:write`, `policies:pull` |
| Usage | `usage:read` |
| Jev | `jev:evaluate` (requires `events:add` and `policies:pull`) |

Expand Down
2 changes: 1 addition & 1 deletion docs/ar/admin/keys-and-permissions.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ icon: "key-round"
| التنبيهات | `alerts:read`, `alerts:write` |
| المشاكل | `issues:read`, `issues:create`, `issues:close` |
| عمليات التدقيق | `audits:read`, `audits:write` |
| السياسات | `policies:read`, `policies:write`, `policies:pull` |
| السياسات | `fixes:read`, `fixes:write`, `policies:pull` |
| الاستخدام | `usage:read` |

`orgs:admin` محجوز لمشغل المثيل ولا يمكن منحه لمفتاح تنظيمي أو عضو عادي. يتم قبول الرموز المتقاعدة `incidents:*` و `alerts:ack` للتوافق وتطبيعها على أذونات `issues:*` الحالية.
Expand Down
2 changes: 1 addition & 1 deletion docs/ar/policies/editor.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ icon: "file-pen-line"
fp policies compose "Block git push --force on release branches"
```

يتطلب `compose` جلسة موقعة (`fp login`) دورها لديه `policies:write`؛ يرفض مفاتيح API.
يتطلب `compose` جلسة موقعة (`fp login`) دورها لديه `fixes:write`؛ يرفض مفاتيح API.
</Tab>
</Tabs>

Expand Down
2 changes: 1 addition & 1 deletion docs/ar/policies/rollback.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ icon: "rotate-ccw"
fp fleet rollback <machine-id> <generation>
```

`rollback` ينشئ جيلاً جديداً يحمل المجموعة القديمة بدلاً من إعادة تعيين العداد، لذا يبقى السجل إضافياً فقط، ويرفض جيلاً يسمي سياسة تم تعطيلها أو حذفها. يحتاج إلى جلسة موقعة بـ `policies:write`. `fp fleet diff <machine-id>` يعرض ما كان مقصوداً مقابل ما طبقه الجهاز — يقرأ كـ `behind` حتى يستفسر الجهاز مرة أخرى — وعلى الجهاز نفسه، `failproofai policies` يعرج النشر الذي يعمل عليه.
`rollback` ينشئ جيلاً جديداً يحمل المجموعة القديمة بدلاً من إعادة تعيين العداد، لذا يبقى السجل إضافياً فقط، ويرفض جيلاً يسمي سياسة تم تعطيلها أو حذفها. يحتاج إلى جلسة موقعة بـ `fixes:write`. `fp fleet diff <machine-id>` يعرض ما كان مقصوداً مقابل ما طبقه الجهاز — يقرأ كـ `behind` حتى يستفسر الجهاز مرة أخرى — وعلى الجهاز نفسه، `failproofai policies` يعرج النشر الذي يعمل عليه.
</Tab>
</Tabs>

Expand Down
2 changes: 1 addition & 1 deletion docs/ar/reference/cloud-cli.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -329,7 +329,7 @@ fp audits create checkout-reliability \
| `fp policies disable POLICY_ID` | أزلها من كل نشر تحملها، نقيب جيل جديد على كل واحد. | `--yes`, `-y` |
| `fp policies delete POLICY_ID` | حذف إصدار سياسة. | `--yes`, `-y` |
| `fp policies test PATH` | شغّل سياسة محلياً مقابل سياق تركيبي. تطبق تصفية `match` لكل سياسة، لذلك التي لا تغطي الحدث/الأداة المحددة يتم الإبلاغ عنها `skipped` بدلاً من التشغيل. | `--event`; `--tool`; `--command`; `--file`; `--expect` |
| `fp policies compose PROMPT` | صيغ سياسة مع المساعد. يحتاج `policies:write`. | — |
| `fp policies compose PROMPT` | صيغ سياسة مع المساعد. يحتاج `fixes:write`. | — |

### الأسطول

Expand Down
32 changes: 32 additions & 0 deletions docs/audits/code-fixes.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
title: "Code fixes"
description: "Turn an insight into a GitHub issue or a pull request, from the insight itself."
icon: "git-pull-request"
---

A policy stops an agent doing the wrong thing. Sometimes the problem is how the agent is built, and the fix belongs in its code. Code fixes finish that loop from the same place you found the problem.

## From insight to pull request

When an audit reads the cause of an insight in your agent's code, the insight says a code change can fix it, and why. From **what to do** on any insight, you can:

- **Create a pull request.** Codex works on a copy of your repository, makes the change and runs what tests it can, then opens a draft pull request for your team to review.
- **Raise a GitHub issue.** The insight's findings go to your repository's issues, for someone on your team to pick up.

## You review first

Both start with a draft built from the insight: what went wrong, the likely cause, the rule it breaks and the code involved. You can edit it and add what only you know. Nothing reaches GitHub, and no model runs, until you approve it.

A pull request is always yours to review, and nothing merges by itself. Follow every fix under **fix › code fixes**.

## From Slack and your AI tools

You don't have to open the dashboard. Ask in Slack, or through FailproofAI's MCP server in an AI tool like Claude or Cursor, and the assistant tells you what can fix an issue.

- **In Slack:** the assistant lays out the options, drafts the fix and takes anything you want to add. You approve it in the thread. Codex runs in FailproofAI Cloud, and the thread hears when the pull request opens.
- **In your AI tool:** you have two choices. Submit the job to run in FailproofAI Cloud, the same as from Slack. Or get the full context of the issue, including the rules the agent must keep, and have your own agent make the change and raise the pull request itself.

## What it needs

- GitHub connected, with the agent linked to the folder that runs it.
- The `fixes:write` permission to draft and approve, and `fixes:read` to see fixes. These permissions also cover cloud policies.
2 changes: 1 addition & 1 deletion docs/de/admin/keys-and-permissions.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ Schlüssel-Secrets werden bei der Erstellung oder Regenerierung angezeigt. Speic
| Alerts | `alerts:read`, `alerts:write` |
| Issues | `issues:read`, `issues:create`, `issues:close` |
| Audits | `audits:read`, `audits:write` |
| Policies | `policies:read`, `policies:write`, `policies:pull` |
| Policies | `fixes:read`, `fixes:write`, `policies:pull` |
| Usage | `usage:read` |

`orgs:admin` ist dem Instanz-Operator vorbehalten und kann weder einem Organisations-Schlüssel noch einem gewöhnlichen Mitglied gewährt werden. Veraltete `incidents:*`- und `alerts:ack`-Token werden aus Kompatibilitätsgründen akzeptiert und auf die aktuellen `issues:*`-Berechtigungen normalisiert.
Expand Down
2 changes: 1 addition & 1 deletion docs/de/policies/editor.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ Führe einen [Audit](/de/audits/run) über die Sitzungen durch, in denen der Feh
fp policies compose "Block git push --force on release branches"
```

`compose` benötigt eine angemeldete Sitzung (`fp login`), deren Rolle `policies:write` besitzt; API-Keys werden abgelehnt.
`compose` benötigt eine angemeldete Sitzung (`fp login`), deren Rolle `fixes:write` besitzt; API-Keys werden abgelehnt.
</Tab>
</Tabs>

Expand Down
2 changes: 1 addition & 1 deletion docs/de/policies/rollback.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ Eine veröffentlichte Richtlinienversion ändert sich nie. Das Bearbeiten einer
fp fleet rollback <machine-id> <generation>
```

`rollback` erstellt eine neue Generation mit dem alten Satz, anstatt den Zähler zurückzusetzen, sodass der Verlauf nur erweiterbar bleibt. Es lehnt eine Generation ab, die eine inzwischen deaktivierte oder gelöschte Richtlinie benennt. Der Befehl benötigt eine angemeldete Sitzung mit `policies:write`. `fp fleet diff <machine-id>` zeigt den Unterschied zwischen dem Beabsichtigten und dem, was die Maschine tatsächlich angewendet hat — der Status erscheint als `behind`, bis die Maschine das nächste Mal abfragt. Auf der Maschine selbst listet `failproofai policies` das aktuell laufende Deployment auf.
`rollback` erstellt eine neue Generation mit dem alten Satz, anstatt den Zähler zurückzusetzen, sodass der Verlauf nur erweiterbar bleibt. Es lehnt eine Generation ab, die eine inzwischen deaktivierte oder gelöschte Richtlinie benennt. Der Befehl benötigt eine angemeldete Sitzung mit `fixes:write`. `fp fleet diff <machine-id>` zeigt den Unterschied zwischen dem Beabsichtigten und dem, was die Maschine tatsächlich angewendet hat — der Status erscheint als `behind`, bis die Maschine das nächste Mal abfragt. Auf der Maschine selbst listet `failproofai policies` das aktuell laufende Deployment auf.
</Tab>
</Tabs>

Expand Down
2 changes: 1 addition & 1 deletion docs/de/reference/cloud-cli.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -329,7 +329,7 @@ Cloud-verwaltete Richtlinienversionen. **Nur Sitzung** — jeder Befehl hier bee
| `fp policies disable POLICY_ID` | Aus jedem Deployment entfernen, das sie enthält, und dabei jeweils eine neue Generation erstellen. | `--yes`, `-y` |
| `fp policies delete POLICY_ID` | Eine Richtlinienversion löschen. | `--yes`, `-y` |
| `fp policies test PATH` | Eine Richtlinie lokal gegen einen synthetischen Kontext testen. Wendet den `match`-Filter jeder Richtlinie an; eine Richtlinie, die das angegebene Event/Tool nicht abdeckt, wird als `skipped` gemeldet statt ausgeführt. | `--event`; `--tool`; `--command`; `--file`; `--expect` |
| `fp policies compose PROMPT` | Eine Richtlinie mit dem Assistenten entwerfen. Erfordert `policies:write`. | — |
| `fp policies compose PROMPT` | Eine Richtlinie mit dem Assistenten entwerfen. Erfordert `fixes:write`. | — |

### Fleet

Expand Down
3 changes: 2 additions & 1 deletion docs/docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,8 @@
"audits/cadence",
"audits/findings-and-issues",
"audits/alerts",
"audits/recipes"
"audits/recipes",
"audits/code-fixes"
]
}
]
Expand Down
2 changes: 1 addition & 1 deletion docs/es/admin/keys-and-permissions.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ Los secretos de las claves se muestran al crearlas o regenerarlas. Guárdalos en
| Alertas | `alerts:read`, `alerts:write` |
| Incidencias | `issues:read`, `issues:create`, `issues:close` |
| Auditorías | `audits:read`, `audits:write` |
| Políticas | `policies:read`, `policies:write`, `policies:pull` |
| Políticas | `fixes:read`, `fixes:write`, `policies:pull` |
| Uso | `usage:read` |

`orgs:admin` está reservado para el operador de la instancia y no puede concederse a una clave de organización ni a un miembro ordinario. Los tokens retirados `incidents:*` y `alerts:ack` se aceptan por compatibilidad y se normalizan a los permisos actuales `issues:*`.
Expand Down
2 changes: 1 addition & 1 deletion docs/es/policies/editor.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ Una auditoría detecta un fallo; una política evita que vuelva a ocurrir. Failp
fp policies compose "Block git push --force on release branches"
```

`compose` requiere una sesión con sesión iniciada (`fp login`) cuyo rol tenga `policies:write`; rechaza las claves de API.
`compose` requiere una sesión con sesión iniciada (`fp login`) cuyo rol tenga `fixes:write`; rechaza las claves de API.
</Tab>
</Tabs>

Expand Down
2 changes: 1 addition & 1 deletion docs/es/policies/rollback.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ Una versión de política publicada nunca cambia. Editar una política y volver
fp fleet rollback <machine-id> <generation>
```

`rollback` genera una nueva generación que contiene el conjunto anterior en lugar de retroceder el contador, por lo que el historial permanece solo de adición, y rechaza una generación que nombre una política desactivada o eliminada. Requiere una sesión iniciada con `policies:write`. `fp fleet diff <machine-id>` muestra lo que se pretendía aplicar frente a lo que la máquina efectivamente aplicó — aparece como `behind` hasta que la máquina vuelva a sondear — y en la propia máquina, `failproofai policies` lista el despliegue que está ejecutando.
`rollback` genera una nueva generación que contiene el conjunto anterior en lugar de retroceder el contador, por lo que el historial permanece solo de adición, y rechaza una generación que nombre una política desactivada o eliminada. Requiere una sesión iniciada con `fixes:write`. `fp fleet diff <machine-id>` muestra lo que se pretendía aplicar frente a lo que la máquina efectivamente aplicó — aparece como `behind` hasta que la máquina vuelva a sondear — y en la propia máquina, `failproofai policies` lista el despliegue que está ejecutando.
</Tab>
</Tabs>

Expand Down
2 changes: 1 addition & 1 deletion docs/es/reference/cloud-cli.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -329,7 +329,7 @@ Versiones de políticas administradas en la nube. **Solo de sesión** — cada c
| `fp policies disable POLICY_ID` | La elimina de cada despliegue que la contiene, creando una nueva generación en cada uno. | `--yes`, `-y` |
| `fp policies delete POLICY_ID` | Elimina una versión de política. | `--yes`, `-y` |
| `fp policies test PATH` | Ejecuta una política localmente contra un contexto sintético. Aplica el filtro `match` de cada política, por lo que una que no cubra el evento/herramienta dado se reporta como `skipped` en lugar de ejecutarse. | `--event`; `--tool`; `--command`; `--file`; `--expect` |
| `fp policies compose PROMPT` | Redacta una política con el asistente. Requiere `policies:write`. | — |
| `fp policies compose PROMPT` | Redacta una política con el asistente. Requiere `fixes:write`. | — |

### Flota

Expand Down
2 changes: 1 addition & 1 deletion docs/fr/admin/keys-and-permissions.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ Les secrets de clé sont affichés lors de leur création ou régénération. St
| Alertes | `alerts:read`, `alerts:write` |
| Problèmes | `issues:read`, `issues:create`, `issues:close` |
| Audits | `audits:read`, `audits:write` |
| Politiques | `policies:read`, `policies:write`, `policies:pull` |
| Politiques | `fixes:read`, `fixes:write`, `policies:pull` |
| Utilisation | `usage:read` |

`orgs:admin` est réservé à l'opérateur de l'instance et ne peut pas être accordé à une clé d'organisation ou à un membre ordinaire. Les jetons `incidents:*` et `alerts:ack` retirés sont acceptés pour des raisons de compatibilité et sont normalisés vers les permissions `issues:*` actuelles.
Expand Down
2 changes: 1 addition & 1 deletion docs/fr/policies/editor.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ Un audit détecte une défaillance ; une politique empêche qu'elle se reproduis
fp policies compose "Block git push --force on release branches"
```

`compose` nécessite une session connectée (`fp login`) dont le rôle dispose de `policies:write` ; il refuse les clés API.
`compose` nécessite une session connectée (`fp login`) dont le rôle dispose de `fixes:write` ; il refuse les clés API.
</Tab>
</Tabs>

Expand Down
2 changes: 1 addition & 1 deletion docs/fr/policies/rollback.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ Une version de politique publiée ne change jamais. Modifier une politique et la
fp fleet rollback <machine-id> <generation>
```

`rollback` crée une nouvelle génération portant l'ancien ensemble plutôt que de rembobiner le compteur, de sorte que l'historique reste en ajout uniquement. Cette commande refuse une génération faisant référence à une politique désactivée ou supprimée. Elle nécessite une session connectée avec `policies:write`. `fp fleet diff <machine-id>` montre ce qui était prévu par rapport à ce que la machine a appliqué — il s'affiche comme `behind` jusqu'au prochain sondage de la machine — et sur la machine elle-même, `failproofai policies` liste le déploiement en cours d'exécution.
`rollback` crée une nouvelle génération portant l'ancien ensemble plutôt que de rembobiner le compteur, de sorte que l'historique reste en ajout uniquement. Cette commande refuse une génération faisant référence à une politique désactivée ou supprimée. Elle nécessite une session connectée avec `fixes:write`. `fp fleet diff <machine-id>` montre ce qui était prévu par rapport à ce que la machine a appliqué — il s'affiche comme `behind` jusqu'au prochain sondage de la machine — et sur la machine elle-même, `failproofai policies` liste le déploiement en cours d'exécution.
</Tab>
</Tabs>

Expand Down
2 changes: 1 addition & 1 deletion docs/fr/reference/cloud-cli.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -329,7 +329,7 @@ Versions de politiques gérées depuis le cloud. **Session uniquement** — chaq
| `fp policies disable POLICY_ID` | La retirer de chaque déploiement qui la porte, en créant une nouvelle génération sur chacun. | `--yes`, `-y` |
| `fp policies delete POLICY_ID` | Supprimer une version de politique. | `--yes`, `-y` |
| `fp policies test PATH` | Exécuter une politique localement contre un contexte synthétique. Applique le filtre `match` de chaque politique, donc une politique qui ne couvre pas l'événement/outil donné est signalée comme `skipped` plutôt qu'exécutée. | `--event` ; `--tool` ; `--command` ; `--file` ; `--expect` |
| `fp policies compose PROMPT` | Rédiger une politique avec l'assistant. Nécessite `policies:write`. | — |
| `fp policies compose PROMPT` | Rédiger une politique avec l'assistant. Nécessite `fixes:write`. | — |

### Flotte

Expand Down
2 changes: 1 addition & 1 deletion docs/he/admin/keys-and-permissions.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ icon: "key-round"
| Alerts | `alerts:read`, `alerts:write` |
| Issues | `issues:read`, `issues:create`, `issues:close` |
| Audits | `audits:read`, `audits:write` |
| Policies | `policies:read`, `policies:write`, `policies:pull` |
| Policies | `fixes:read`, `fixes:write`, `policies:pull` |
| Usage | `usage:read` |

`orgs:admin` שמור למפעיל המופע ולא ניתן להעניק למפתח ארגוני או לחבר רגיל. אסימונים `incidents:*` ו-`alerts:ack` מיושנים מתקבלים לתאימות ומנורמלים להרשאות `issues:*` עדכניות.
Expand Down
2 changes: 1 addition & 1 deletion docs/he/policies/editor.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ icon: "file-pen-line"
fp policies compose "Block git push --force on release branches"
```

`compose` דורש session מחובר (`fp login`) שלתפקיד שלו יש הרשאת `policies:write`; מפתחות API נדחים.
`compose` דורש session מחובר (`fp login`) שלתפקיד שלו יש הרשאת `fixes:write`; מפתחות API נדחים.
</Tab>
</Tabs>

Expand Down
2 changes: 1 addition & 1 deletion docs/he/policies/rollback.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ icon: "rotate-ccw"
fp fleet rollback <machine-id> <generation>
```

`rollback` יוצר דור חדש שנושא את הקבוצה הישנה במקום להחזיר את המונה, כך שהיסטוריה נשארת append-only, והוא מסרב לדור שקוראים לו מדיניות מכיוון שהושבתה או נמחקה. זה דורש סשן עם כניסה חתום עם `policies:write`. `fp fleet diff <machine-id>` מראה מה היה מעוצב לעומת מה שהמכונה יישמה — זה נקרא `behind` עד שהמכונה תסקור בפעם הבאה — ובמכונה עצמה, `failproofai policies` מפרטת את ההצבה שהיא מפעילה.
`rollback` יוצר דור חדש שנושא את הקבוצה הישנה במקום להחזיר את המונה, כך שהיסטוריה נשארת append-only, והוא מסרב לדור שקוראים לו מדיניות מכיוון שהושבתה או נמחקה. זה דורש סשן עם כניסה חתום עם `fixes:write`. `fp fleet diff <machine-id>` מראה מה היה מעוצב לעומת מה שהמכונה יישמה — זה נקרא `behind` עד שהמכונה תסקור בפעם הבאה — ובמכונה עצמה, `failproofai policies` מפרטת את ההצבה שהיא מפעילה.
</Tab>
</Tabs>

Expand Down
2 changes: 1 addition & 1 deletion docs/he/reference/cloud-cli.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -329,7 +329,7 @@ fp audits create checkout-reliability \
| `fp policies disable POLICY_ID` | הסר אותה מכל פריסה שנושאת אותה, הנפקת דור חדש בכל אחד. | `--yes`, `-y` |
| `fp policies delete POLICY_ID` | מחיקת גרסת מדיניות. | `--yes`, `-y` |
| `fp policies test PATH` | הרצת מדיניות מקומית מול הקשר סינתטי. חל כל מסנן `match` של המדיניות, אז אחד שלא מכסה את האירוע/הכלי הנתון מדווח `skipped` ולא הרץ. | `--event`; `--tool`; `--command`; `--file`; `--expect` |
| `fp policies compose PROMPT` | טיוטת מדיניות עם ה-assistant. צורך `policies:write`. | — |
| `fp policies compose PROMPT` | טיוטת מדיניות עם ה-assistant. צורך `fixes:write`. | — |

### Fleet

Expand Down
Loading
Loading