Eyejoker
6edf5aebbd
refactor: remove explicit paired review command path
2026-03-30 01:43:48 +09:00
Eyejoker
4f87c840ba
refactor: remove /review command and clean up unused imports
2026-03-29 21:17:14 +09:00
Eyejoker
83ddc4faff
fix: reset paired task after all session commands to prevent reviewer auto-trigger
2026-03-29 21:09:32 +09:00
Eyejoker
9127841359
fix: /clear resets paired task to prevent reviewer auto-triggering after session clear
2026-03-29 21:07:34 +09:00
Eyejoker
9e0de1297c
fix: /clear now resets both owner and reviewer sessions in paired rooms
2026-03-29 19:00:42 +09:00
Eyejoker
338c1f6a1d
fix: restrict stop command to /stop only
2026-03-29 18:48:06 +09:00
Eyejoker
2ec90fe086
feat: add /stop command to kill running agent process
...
- /stop, /cancel, /kill aliases all supported
- SIGTERM first (allows graceful AbortController cleanup), SIGKILL after 5s
- Wired through session-commands → GroupQueue.killProcess()
2026-03-29 18:44:37 +09:00
Eyejoker
fc9f2867b9
refactor: simplify paired review system and add reviewer container isolation
...
Phase 1 — Strip over-engineering (-3,665 lines):
- DB tables: 7 → 3 (remove executions, approvals, artifacts, events)
- Task statuses: 11 → 5 (active, review_ready, in_review, merge_ready, completed)
- Remove plan governance, event sourcing, gate/verdict, freshness guards
- paired-execution-context: 980 → 299 lines
- Session commands: remove /risk, /plan, /approve-plan, /request-plan-changes
Phase 2 — Container isolation for reviewers:
- Add container-runtime.ts (Docker abstraction)
- Add credential-proxy.ts (API key injection without container exposure)
- Add container-runner.ts (reviewer-specific read-only mount + tmpfs)
- Add container/Dockerfile + agent-runner (Chromium, Claude Code, Codex)
- agent-runner.ts: auto-route reviewer execution to container mode
2026-03-29 18:24:56 +09:00
Eyejoker
0e12a560a4
feat: finalize paired tasks on deploy completion
2026-03-29 06:42:03 +09:00
Eyejoker
d460933229
feat: add paired intent checkpoints
2026-03-29 03:34:55 +09:00
Eyejoker
2d8f8151dd
style: sync high-risk plan gate formatting
2026-03-29 02:14:44 +09:00
Eyejoker
b536c90716
feat: add high-risk paired plan gate
2026-03-29 02:13:57 +09:00
Eyejoker
b0c833fd70
fix: keep review requests pending without owner workspace
2026-03-29 00:21:29 +09:00
Eyejoker
29053d3273
feat: formalize paired review command flow
2026-03-28 23:36:46 +09:00
Eyejoker
e7f49d77da
feat: add paired review workspace flow
2026-03-28 21:14:25 +09:00
Eyejoker
fe6314108c
feat: add structured silent output contract
2026-03-28 05:56:58 +09:00
Eyejoker
bb0628e8f4
refactor: remove legacy container and non-discord remnants
2026-03-20 01:07:46 +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
Eyejoker
08dd468692
feat: remove container layer, run agents as direct host processes
...
- Rewrite container-runner.ts to spawn node processes directly instead
of Docker/Apple Container
- Runner paths configurable via env vars (NANOCLAW_GROUP_DIR, etc.)
with container-path defaults for backwards compat
- Pass real credentials directly (no credential proxy needed)
- Remove ensureContainerSystemRunning() and startCredentialProxy()
from startup
- Add build:runners script for building agent-runner and codex-runner
- Fix TS strict mode errors in agent-runner ipc-mcp-stdio.ts
2026-03-10 21:05:21 +09:00
Eyejoker
4a34a9c802
feat: add Codex CLI support, dual Discord bots, and Discord typing fix
...
- Add Codex as alternative agent type (agentType: 'codex' per group)
- Codex container runner with session resume and 100-turn limit
- Dual Discord bot support (DISCORD_BOT_TOKEN + DISCORD_CODEX_BOT_TOKEN)
- Each bot handles only its agentType's registered groups
- Discord typing indicator refreshes every 8s (was single-shot, expired after ~10s)
- Agent runner 100-turn limit to prevent infinite bot-to-bot loops
- Apple Container runtime support (convert-to-apple-container skill)
- Session commands (/compact) support
- DB migration for agent_type column
2026-03-10 20:45:48 +09:00