ejclaw
4650abbd10
Rename readonly reviewer runtime remnants
2026-04-06 17:27:16 +09:00
ejclaw
bf55ad65fd
Format files touched by reviewer runtime cleanup
2026-04-06 07:56:59 +09:00
ejclaw
aaa9eeb50a
Remove paired reviewer container execution path
2026-04-06 07:56:24 +09:00
ejclaw
994e957767
Enable unsafe host paired runtime
2026-04-06 02:40:15 +09:00
Eyejoker
509e4c24a3
refactor: cut over room mode from paired legacy
2026-03-31 14:47:59 +09:00
Eyejoker
79a8a2639e
feat: add structured room role metadata
2026-03-28 19:30:32 +09:00
Eyejoker
ba9f6871b6
feat: add codex review failover and suppress output hardening
2026-03-28 05:40:38 +09:00
Eyejoker
24d93d5c78
fix: fail fast on missing host IPC dir for task runtimes
2026-03-25 21:40:34 +09:00
Eyejoker
b6d3f879ef
refactor: add recovery mode + shared JSON/error/fetch utilities
...
- GroupQueue recovery mode: limit to 3 concurrent agents for 60s after restart
to prevent API rate-limit storms (configurable via env vars)
- getErrorMessage: replace 14 occurrences of instanceof Error pattern
- readJsonFile/writeJsonFile: replace 19 occurrences of JSON+fs pattern
- fetchWithTimeout: replace 3 occurrences of AbortController pattern
354/354 tests passing
2026-03-25 07:08:49 +09:00
Eyejoker
5ea3439c5f
refactor: extract shared utilities, protocol constants, and retry loop
...
Phase 3: provider-retry.ts — shared Claude rotation loop (SSOT)
- retryClaudeWithRotation extracted from message-agent-executor + task-scheduler
- ~200 lines of duplicated retry logic removed
Phase 4: types.ts — AgentOutputPhase + VisiblePhase unified
Phase 5: types.ts — AgentConfig extended with claudeThinking/claudeThinkingBudget
Utilities (utils.ts):
- getErrorMessage: 14 occurrences of instanceof Error pattern → 1 function
- readJsonFile/writeJsonFile: 19 occurrences of JSON+fs pattern → 2 functions
- fetchWithTimeout: 3 occurrences of AbortController pattern → 1 function
- formatElapsedKorean: deduplicated from task-watch-status + message-turn-controller
Protocol (agent-protocol.ts):
- OUTPUT_START/END_MARKER centralized (runners keep local copies with SSOT reference)
- IMAGE_TAG_RE, IPC constants documented
Runner: show "대화 요약 중..." progress message during auto-compact
Net: -137 lines, 354/354 tests passing
2026-03-25 04:59:49 +09:00
Eyejoker
906a3dfadb
config: add auto-compact settings for Claude and Codex agents
...
Claude: CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=50 (~500K on 1M context)
Codex: model_auto_compact_token_limit=258000 (matching CLI default)
2026-03-25 03:56:03 +09:00
Eyejoker
42d721a9ec
fix claude turn teardown and start CI watchers immediately
2026-03-23 08:55:48 +09:00
Eyejoker
7100a13b39
style: normalize rebrand test formatting
2026-03-23 08:09:32 +09:00
Eyejoker
d28b6151a8
chore: rebrand runtime and docs to EJClaw
2026-03-23 08:09:15 +09:00
Eyejoker
9def49f7fb
fix: isolate watcher task runtimes
2026-03-23 07:16:07 +09:00
Eyejoker
83d7bf3d51
feat: merge per-group codex config overlay
2026-03-23 04:20:55 +09:00
Eyejoker
dd15585941
fix: pass actual chat JID to agent runner instead of group folder
...
watch_ci tasks in perf channel were silently failing because
NANOCLAW_CHAT_JID was set to the group folder name (e.g. "eyejokerdb-4")
instead of the actual Discord JID. The scheduler rejected the task with
"target group not registered".
Also adds a fallback in ipc.ts to resolve folder names to registered
JIDs when a folder name is passed instead of a JID.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-21 14:27:00 +09:00
Eyejoker
9b741be902
fix: resolve session race condition and follow-up turn output loss
...
Two bugs fixed:
1. agent-runner error path race condition: when agent process exited
with error, the promise resolved immediately without waiting for
outputChain, allowing a late wrappedOnOutput to re-persist a stale
session ID after clearSession had already run.
2. follow-up turn state not resetting: when a follow-up IPC message
joined an active run, turn-level flags (finalOutputSentToUser,
sawNonProgressOutput) from the first turn prevented the last
progress from being promoted to a final message.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-21 12:29:00 +09:00
Eyejoker
a293a701f4
fix: restore regressions from discord-only refactor
2026-03-20 03:41:53 +09:00
Eyejoker
bd7f4408ae
refactor: rename container references to agent across codebase
...
- container-runner.ts → agent-runner.ts
- ContainerInput/Output → AgentInput/Output
- ContainerConfig → AgentConfig
- runContainerAgent → runAgentProcess
- CONTAINER_TIMEOUT → AGENT_TIMEOUT (with env fallback)
- MAX_CONCURRENT_CONTAINERS → MAX_CONCURRENT_AGENTS
- containerName → processName, isTaskContainer → isTaskProcess
- DB column container_config kept as-is (backwards compat)
2026-03-13 16:18:36 +09:00