You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`fire_and_forget`| Background, after all phases | No | No | No | Telemetry, audit logs |
180
+
|`disabled`| Not loaded | — | — | — | Plugin off |
181
+
182
+
-**`sequential`** plugins are awaited one at a time in priority order. Each receives the chained output of the previous plugin. Can halt the pipeline and modify payloads. Use for enforcement + transformation.
183
+
-**`transform`** plugins are awaited one at a time after all sequential plugins. Can modify payloads but blocking attempts are suppressed. Use for data transformation pipelines (PII redaction, prompt rewriting) that should not have policy-enforcement power.
184
+
-**`audit`** plugins are awaited one at a time after transform. Observe-only: payload modifications are discarded and violations are logged but do not block. Use for monitoring, auditing, and gradual rollout of policies.
185
+
-**`concurrent`** plugins are dispatched in parallel after audit. Can halt the pipeline (fail-fast on first blocking result) but payload modifications are discarded to avoid non-deterministic last-writer-wins races. Use for independent policy gates.
186
+
-**`fire_and_forget`** plugins are dispatched as background tasks after all other phases. They receive an isolated snapshot. Cannot block or modify. Use for telemetry and async side effects.
176
187
177
188
Error handling is configured separately with `on_error`, independent of mode:
178
189
@@ -230,17 +241,17 @@ plugins:
230
241
231
242
### Priority
232
243
233
-
Plugins are scheduled by mode, and execute in priority order within sequential bands (lower number = higher priority). Use this to ensure validation runs before transformation, and transformation runs before logging.
244
+
Plugins are scheduled by mode, and execute in priority order within each phase (lower number = higher priority). Use this to ensure enforcement runs before transformation, and transformation runs before logging.
234
245
235
246
**Plugin Scheduling**
236
247
237
-
At each hook invocation, plugins are grouped and scheduled by execution modes, following a strict group order:
248
+
At each hook invocation, plugins are grouped and scheduled by execution mode, following a strict phase order:
Within sequentialand audit groups, plugins execute in **priority order** (lower number = higher priority, e.g., `10` runs before `20`).
254
+
Within `sequential`, `transform`, and `audit` phases, plugins execute in **priority order** (lower number = higher priority, e.g., `10` runs before `20`).
0 commit comments