Lax policy¶
laxPolicy is the most permissive built‑in policy preset.
It disables scanning and analysis, applies global severity downgrades, and allows structural exceptions for bigint. This preset is designed for development, experimentation, and scenarios where strict enforcement is undesirable.
Signature¶
export const laxPolicy: Policy
Behavior¶
Mode¶
Lax mode favors permissiveness:
- No strict enforcement.
- No automatic rejections.
- No reviews or warnings.
- Global severity downgrades.
- Structural exceptions enabled.
It is the "accept unless explicitly rejected" mode.
Decision configuration¶
decide: {
reject: [],
review: [],
override: { "*": 1 },
escalate: {},
warn: [],
}
reject: No event codes automatically cause rejection.review: No event codes automatically trigger review.warn: No event codes automatically become warnings.override:*: 1downgrades all severities by one level.escalate: No severity escalations applied.
This means:
- Errors become warnings.
- Warnings become info.
- Info stays info.
The pipeline becomes highly tolerant of issues.
Analysis configuration¶
analysis: {
diff: false,
explain: false,
replay: false,
telemetry: false,
}
All analysis features are disabled:
- No diffing.
- No explanation traces.
- No replay logs.
- No telemetry.
This keeps runtime overhead minimal and avoids noise during development.
Scan configuration¶
Scan: false
Scanning is disabled.
No structural scanning or deep inspection occurs unless explicitly enabled.
Exception configuration¶
exception: {
bigint: true,
map: true,
set: true,
}
Structural exceptions are allowed¶
bigintvalues are accepted.
These types bypass structural rejection rules that would normally apply.
Design rationale¶
- Provides a high‑tolerance environment for development and prototyping.
- Prevents strict or surprising behavior by downgrading all severities.
- Allows complex or non‑JSON‑safe types (
bigint) without requiring explicit configuration. - Ensures contributors can experiment without being blocked by strict policy defaults.
- Keeps the pipeline predictable: nothing is rejected unless a rule explicitly rejects it.
When to use¶
Use laxPolicy when:
- You want maximum permissiveness.
- You are exploring or debugging boundaries.
- You want to see all events without triggering rejections.
- You are working with complex data structures.
- You want to disable strictness while building out schemas.
This applies a permissive, development‑friendly policy to the boundary.