Files
16gagent/version-contract.md
2026-06-06 10:40:48 +08:00

103 lines
3.5 KiB
Markdown

# Version Contract
> Defines the interface contract between custom protocol layer and OpenClaw Core.
> Part of COMPATIBILITY-STRATEGY.md §D.
---
## §1 Supported OpenClaw Versions
| Version | Status | Tested | Notes |
|---------|--------|--------|-------|
| v0.9.x | ✅ Supported | 2026-06-06 | Current production |
| v0.10.x | ✅ Supported | — | Expected compatibility |
| v1.0.x | 🔮 Future | — | May require minor updates |
## §2 Contract Scope
This contract covers **only** the integration between the custom protocol layer (AGENTS.md, GOVERNANCE.md, PORTFOLIO.md, audit scripts) and OpenClaw Core. It does NOT cover:
- General OpenClaw feature usage
- Third-party plugins or skills
- LLM model behavior
## §3 Required Interfaces
### 3.1 Tool Names (stable)
The following tools are referenced by name in protocol files and must exist:
| Tool Name | Referenced In | Usage |
|-----------|---------------|-------|
| `ctx_search` | AGENTS.md §3b, §6 | Knowledge base search for learning context |
| `memory_search` | AGENTS.md §3b, §6 | Memory recall for lessons learned |
| `ctx_index` | AGENTS.md §CPB | Indexing large reference files |
### 3.2 Execution Environment
| Requirement | Detail |
|-------------|--------|
| Node.js | ≥ v20 (audit scripts use ESM via .mjs) |
| File system | Read/write access to workspace root |
| Process execution | Standard `exec()` with timeout support |
### 3.3 Cron Jobs
| Job ID | Schedule | Purpose |
|--------|----------|---------|
| dream-cycle | Daily 04:00 Asia/Shanghai | Memory consolidation |
| heartbeat | Periodic | Workspace health checks |
### 3.4 Configuration Files
| File | Format | Purpose |
|------|--------|---------|
| AGENTS.md | Markdown | Execution protocol |
| GOVERNANCE.md | Markdown | Governance protocol |
| PORTFOLIO.md | Markdown | Portfolio management protocol |
| MEMORY.md | Markdown | Stable memory |
| HEARTBEAT.md | Markdown | Heartbeat checklist |
## §4 Forbidden Interfaces
The current codebase does NOT use any of the following:
| Interface | Reason |
|-----------|--------|
| OpenClaw internal runtime state | Would break on upgrade |
| Private scheduler APIs | No dependency needed |
| Experimental/alpha tool names | No dependency needed |
| Internal memory backend APIs | All memory accessed through public tools |
| Gateway internal config schema | No dependency needed |
## §5 Runtime Context Dependency
The protocol layer relies on standard runtime context provided by OpenClaw:
| Context Element | Required? | Fallback |
|----------------|-----------|----------|
| Current workspace path | ✅ Yes | `process.cwd()` |
| Available tools list | ✅ Yes | Manual validation |
| Session history | ❌ No | N/A |
| Agent identity | ⚠️ Soft | Defaults to assumptions in SOUL.md |
## §6 Breaking Change Notification
If OpenClaw changes any Required Interface (§3), the following notice period applies:
| Change Type | Notice Period | Action Required |
|-------------|---------------|-----------------|
| Tool name rename | 1 major version | Update 5 references in AGENTS.md + guard script |
| Tool removal | 1 major version | Replace with equivalent or remove protocol refs |
| Cron format change | 1 major version | Re-register cron jobs via `cron(action="add", ...)` |
| Config format change | 1 major version | Follow upgrade-playbook.md |
## §7 Contract Version
| Field | Value |
|-------|-------|
| Contract Version | 1.0 |
| Last Updated | 2026-06-06 |
| Maintainer | 小龙 |
| Validation | `node scripts/upgrade-test.mjs` |