Settings
Everything LengoAI may do is set in lengo.yml. Saving here never writes the file: it opens a merge request, an owner approves it, and Core applies it once merged.
Every setting in force
68 values, after defaults| Setting | Value |
|---|---|
| version | 1 |
| autonomy.preset | hands_off |
| autonomy.stages.plan | automatic |
| autonomy.stages.create | automatic |
| autonomy.stages.verify | automatic |
| autonomy.stages.secure | automatic |
| autonomy.stages.package | automatic |
| autonomy.stages.release | automatic |
| autonomy.stages.configure | automatic |
| autonomy.stages.monitor | automatic |
| autonomy.stages.govern | automatic |
| autonomy.merge | automatic |
| autonomy.production_expand | automatic |
| autonomy.kill | automatic |
| goals.sources | tickets, feedback, errors, issues |
| goals.listener_auto_create | False |
| goals.listener_schedule | 0 */6 * * * |
| goals.min_evidence_items | 5 |
| goals.max_open_goals | 3 |
| rollout.steps | 1, 10, 50, 100 |
| rollout.min_dwell_minutes | 5.0 |
| rollout.max_dwell_minutes | 1440.0 |
| rollout.stickiness | userId |
| rollout.staging_soak_minutes | 2.0 |
| rollout.environment_scope | production |
| proof.method | msprt |
| proof.alpha | 0.05 |
| proof.min_samples_per_arm | 500 |
| proof.msprt_tau | auto |
| proof.srm_alpha | 0.001 |
| proof.srm_min_detectable_shift | 0.02 |
| proof.min_practical_effect | 0.1 |
| guardrails[0].metric | http_5xx_rate |
| guardrails[0].harmful_direction | increase |
| guardrails[0].hard_limit_abs | 0.02 |
| guardrails[0].max_relative_increase | 0.1 |
| guardrails[0].alpha | 0.01 |
| guardrails[1].metric | p95_latency_ms |
| guardrails[1].harmful_direction | increase |
| guardrails[1].hard_limit_abs | None |
| guardrails[1].max_relative_increase | 0.2 |
| guardrails[1].alpha | 0.01 |
| kill.mode | automatic |
| kill.eval_interval_seconds | 10.0 |
| kill.actions | disable_flag, open_incident, reopen_goal |
| kill.cooldown_minutes | 60.0 |
| kill.max_kills_per_goal | 2 |
| code.protected_paths | *, lengo.yml, .gitlab-ci.yml, .gitlab/**, apps/pesalite/app/db.py, apps/pesalite/Dockerfile, apps/pesalite/pyproject.toml, apps/pesalite/uv.lock, ci/**, core/**, docs/**, infra/**, loadgen/**, memory/**, scripts/**, templates/** |
| code.max_files_changed | 8 |
| code.max_lines_changed | 400 |
| code.require_flag_guard | True |
| code.require_tests | True |
| memory.store | outcomes, incidents, decisions, runbooks, conventions, feedback_summaries |
| memory.retention_days | 365 |
| memory.pii_redaction | strict |
| memory.embedding_provider | vertex |
| memory.top_k | 8 |
| memory.recency_half_life_days | 90.0 |
| freeze.windows | |
| freeze.allow_kill_during_freeze | True |
| budget.daily_flow_sessions | 40 |
| budget.per_goal_flow_sessions | 15 |
| budget.on_exhausted | pause_and_alert |
| handoff.stage_timeout_minutes | 20.0 |
| handoff.max_retries | 2 |
| handoff.max_hops_per_goal | 30 |
| notifications.channels | issue_note, email |
| notifications.notify_on | awaiting_approval, killed, stuck, proven |