Skip to content

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: *: 1 downgrades 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

  • bigint values 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.