docs: clarify unshipped compat policy · openclaw/openclaw@f87aa0f
steipete
·
2026-05-26
·
via Recent Commits to openclaw:main
| Original file line number | Diff line number | Diff line change |
|---|
@@ -62,7 +62,9 @@ Skills own workflows; root owns hard policy and routing.
|
62 | 62 | - Tests may use observed examples, but prod literals need a short contract reason. |
63 | 63 | - Lean code is a goal. No internal shims, aliases, legacy names, broad fallbacks, or defensive branches just to reduce diff or handle unrealistic edge cases. |
64 | 64 | - Handle real production states, shipped upgrade paths, security boundaries, and dependency contracts. Public/hostile/observed malformed input gets care; hypothetical malformed input does not. |
65 | | -- Public plugin SDK/API is the compat exception. New API first, old path only via named compat/deprecation metadata, docs, warnings when useful, tests for old+new, planned removal. |
| 65 | +- Unshipped code: clean rewrite/delete. No compat, aliases, shims, deprecations, or fallback scaffolding. |
| 66 | +- Deprecate shipped public contracts only. |
| 67 | +- Plugin SDK exception: shipped external API gets new API first plus named compat/deprecation, small tests/docs if useful, removal plan. |
66 | 68 | - Migrate internal/bundled callers to modern API in the same change. Do not let internal compat become permanent architecture. |
67 | 69 | - Channels are implementation under `src/channels/**`; plugin authors get SDK seams. Providers own auth/catalog/runtime hooks; core owns generic loop. |
68 | 70 | - Hot paths should carry prepared facts forward: provider id, model ref, channel id, target, capability family, attachment class. Do not rediscover with broad plugin/provider/channel/capability loaders. |
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。