mirror of
https://github.com/claude-code-best/claude-code.git
synced 2026-06-15 12:55:51 +00:00
* feat: 适配 zed acp 协议 * docs: 完善 acp 文档 * feat: integrate feature branches + daemon/job 命令层级化 + 跨平台后台引擎 Cherry-picked from origin/lint/preview (637c908), excluding lint-only changes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: correct detectMimeFromBase64 to decode raw bytes from base64 Cherry-picked from origin/lint/preview (ee36954). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: daemon 子进程 spawn 跨平台修复 + CliLaunchSpec 集中化重构 Cherry-picked from origin/lint/preview (c5f52cd), excluding lint-only formatting changes. - 新建 src/utils/cliLaunch.ts: 集中化 CLI 子进程启动层 - 修复 --daemon-worker=kind 等号格式解析 - 修复 daemon/bg fast path 缺少 setShellIfWindows() - 修复 checkPathExists 用 existsSync 替代 execSync('dir') - 7 个 spawn 站点迁移到 CliLaunchSpec Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: merge tsconfig.base.json into tsconfig.json with full compiler options The cherry-pick from637c908dropped jsx/strict/etc settings when removing tsconfig.base.json. This commit restores them in a single tsconfig.json. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: merge tsconfig.base.json into tsconfig.json with full compiler options The cherry-pick from637c908dropped jsx/strict/etc settings when removing tsconfig.base.json. This commit restores them in a single tsconfig.json. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
3.2 KiB
3.2 KiB
OpenClaw Autonomy Baseline Test Spec
Purpose
This test spec locks the current behavior of the existing trigger and context layers before any formal autonomy-subsystem implementation begins.
At this stage, production code is read-only. Only test files, fixtures, and planning documents may change.
Goal
Establish a stable baseline around the parts of Claude-code-bast that later autonomy work is most likely to touch:
- proactive state handling
- cron task storage semantics
- cron scheduler helper semantics
- user-context cache and
CLAUDE.mdinjection behavior
Out of Scope for This Baseline Round
- New authority behavior (
AGENTS.md/HEARTBEAT.md) - New detached-run ledger behavior
- New flow behavior
- UI redesign
Files Under Baseline Protection
src/proactive/index.tssrc/utils/cronTasks.tssrc/utils/cronScheduler.tssrc/context.ts
Test Files Added In This Round
src/proactive/__tests__/state.baseline.test.tssrc/commands/__tests__/proactive.baseline.test.tssrc/utils/__tests__/cronTasks.baseline.test.tssrc/utils/__tests__/cronScheduler.baseline.test.tssrc/__tests__/context.baseline.test.ts
Baseline Assertions
Proactive state
- Activating proactive mode sets active state and activation source.
- Pausing proactive mode suppresses
shouldTick()and clearsnextTickAt. - Blocking context suppresses
shouldTick()and clearsnextTickAt. - Subscribers are notified on state transitions.
- The
/proactivecommand enables proactive mode and emits the expected hidden reminder. - The
/proactivecommand disables proactive mode on the second invocation.
Cron task storage
- Session-only cron tasks remain in memory only.
- Durable cron tasks are persisted to
.claude/scheduled_tasks.json. - Daemon-style
dir-scoped reads exclude session-only cron tasks. removeCronTasks()withoutdircan remove session-only tasks.removeCronTasks()withdirdoes not mutate session-only task storage.
Cron scheduler helpers
isRecurringTaskAged()preserves current aging semantics.buildMissedTaskNotification()preserves the current AskUserQuestion safety wording.buildMissedTaskNotification()preserves code-fence hardening for prompt bodies that contain backticks.
User context caching
getUserContext()includescurrentDate.getUserContext()includes mockedclaudeMdcontent when memory loading is enabled.CLAUDE_CODE_DISABLE_CLAUDE_MDSsuppressesclaudeMd.setSystemPromptInjection()clears the memoized user-context cache.getSystemContext()reflects the injection after cache invalidation.
Remaining Baseline Gaps
The following areas are intentionally deferred because they require higher-cost harnessing and should still avoid production-code changes:
useScheduledTasks.tshook-level runtime behaviorsrc/cli/print.tsfull headless scheduler loop behavioruseProactive.tshook timer behavior- end-to-end queue interaction between proactive ticks and
SleepTool
Acceptance
This baseline round is complete when:
- The four new test files pass.
- No production source files are modified.
- The tests are stable enough to serve as a pre-implementation guardrail.