This document is generated from the constants in lib/policy.mjs so the
documented policy can never drift from the enforced policy. Every gate that
writes evidence, attaches artifacts, or pushes a branch fails closed when one
of these repo-relative paths would be included.
AGENTS.mdSOUL.mdUSER.mdTOOLS.mdHEARTBEAT.mdIDENTITY.md.openclaw/**
Block reports must name only the offending repo-relative paths, never the file contents.
recheckdiagnosediagnose-onlynotify-escalaterepair-rehearsalconflict-artifactauto-safe-repairblock
observe-onlysandbox-proofminor-auto-dry-runminor-auto-live-limited
check-onlyrehearsal-readyphase-d-readylive-approved-once
| Lane | Scope | Notes |
|---|---|---|
| Phase P auto-merge | minor-auto-merge |
Only proven minor-auto outputs; merge methods: merge, squash, rebase |
| Phase Q bounded retry | bounded-same-scope-retry |
Max 2 attempts, same scope only |
| Phase R risky-change approval | risky-change-approval |
One-shot, expiring, packet-prepared |
Risk classes, most-risky first (only docs-or-text may pass the auto-merge lane):
runtime-bootstrap-contextsecurity-auth-configci-workflowdependency-lockfilesemantic-sourcestructured-dataunclassifieddocs-or-text
| Constant | Value |
|---|---|
DEFAULT_ACTION_LEDGER_LIMIT |
50 entries |
DEFAULT_OBSERVATION_LEDGER_LIMIT |
288 entries |
DEFAULT_SITUATION_REPORT_EVERY_MS |
6h |
MIN_LIVE_OPENCLAW_SITUATION_REPORT_EVERY_MS |
1h |
DEFAULT_REPAIR_REHEARSAL_MAX_AGE_MS |
6h |
DEFAULT_MINOR_AUTO_POST_PUSH_OBSERVATION_WINDOW_MS |
1h |