From 97a97aded7ca977e6a661aa6d03667b6ea209ca0 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sun, 31 May 2026 13:21:12 +0100 Subject: [PATCH] docs: tighten env surface policy --- AGENTS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index 2c4d0e8e492c..ff0efb559703 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -57,7 +57,7 @@ Skills own workflows; root owns hard policy and routing. - External official plugins own package/deps and are excluded from core dist; core uses registry-aware `facade-runtime` or generic contracts. - Externalizing a bundled plugin: update package excludes, official catalogs, docs, tests, and prove core runtime paths resolve installed plugin roots before root-dep removal. - Runtime reads canonical config only. No silent compat for old/malformed config keys. If a config change invalidates existing files, add a matching `openclaw doctor --fix` migration. Core/auth config repairs live in core doctor; plugin-owned config repairs live in that plugin's doctor contract (`legacyConfigRules` / `normalizeCompatibilityConfig`). -- Config surface bar is high; `openclaw.json` is already large. Before adding a config option, first prove existing product behavior, provider selection, defaults, or doctor migration cannot solve it. Prefer removing or consolidating config options when touching the surface. Core supports only the latest config shape; `openclaw doctor --fix` migrates older shipped shapes into the current one. +- Config/env surface bar is high; `openclaw.json` and environment variables are already large. Before adding a config option or env var, first prove existing product behavior, provider selection, defaults, or doctor migration cannot solve it. Prefer removing or consolidating config/env options when touching these surfaces. Core supports only the latest config shape; `openclaw doctor --fix` migrates older shipped shapes into the current one. - CLI setup flows are public API when external docs, installers, or integrations can copy them. Changes to `openclaw onboard`, `openclaw configure`, their documented flags, non-interactive behavior, or generated config shape are compatibility-sensitive API contract changes; prefer additive flags/aliases, deprecation windows, and backward-preserving migrations over breaking existing snippets. - Fix shape: default to clean bounded refactor, not smallest patch. Move ownership to right boundary; delete stale abstractions, duplicate policy, dead branches, wrappers, fallback stacks. - Fix observed local failures with generic product rules; do not hardcode names, ids, log phrases, or user examples in prod code unless they are an explicit contract.