Commit Graph

792 Commits

Author SHA1 Message Date
Eyejoker
ac225f2b1e Add paired delivery diagnostic logging 2026-04-05 00:00:09 +09:00
Eyejoker
80567de4ed Merge branch 'codex/owner/ejclaw' 2026-04-04 23:35:11 +09:00
Eyejoker
6ae9468a45 Inline merge_ready finalize handoff 2026-04-04 23:34:32 +09:00
Eyejoker
1d37fdc658 Merge branch 'codex/owner/ejclaw' 2026-04-04 23:03:21 +09:00
Eyejoker
7f0fbd5811 Route IPC send_message by paired room role 2026-04-04 23:02:30 +09:00
Eyejoker
f8bce916ff Merge branch 'codex/owner/ejclaw' 2026-04-04 22:34:09 +09:00
Eyejoker
4a331c5036 Fix paired-room delivery role persistence 2026-04-04 22:28:41 +09:00
Eyejoker
9ff8024bf5 fix: clear container SDK sessions on stale session recovery 2026-04-04 22:06:23 +09:00
Eyejoker
4dceb9e678 Fix readonly runtime build check 2026-04-04 22:02:55 +09:00
Eyejoker
04802166a6 Fix reviewer canonical repo mounts 2026-04-04 22:01:08 +09:00
Eyejoker
e9c400424d Add reviewer host evidence and verification shims 2026-04-04 20:51:24 +09:00
Eyejoker
3019d9bf31 test: format fallback delivery retry regression 2026-04-04 05:21:52 +09:00
Eyejoker
dfd9eb0f47 fix: recover fallback delivery retries across agent types 2026-04-04 05:21:25 +09:00
Eyejoker
0b4228b391 Merge origin/main into codex/local-memory-v1 2026-04-04 03:54:40 +09:00
Eyejoker
54abb5bb4e Apply formatter after local memory refactor 2026-04-04 03:52:28 +09:00
Eyejoker
3dd772c229 Refactor local memory and role-fixed runtime routing 2026-04-04 03:50:28 +09:00
Eyejoker
371a3ef0ff feat: add fd-find, bat, tree to reviewer container 2026-04-02 01:40:15 +09:00
Eyejoker
0d39eada6f feat: add ripgrep to reviewer container image 2026-04-02 01:39:50 +09:00
Eyejoker
74ff662026 feat: mount owner session directory read-only in reviewer container
Allows reviewer to verify runtime state files (cron state, configs)
that the owner references by absolute host path. Mounted at the same
host path so absolute path references work inside the container.
2026-04-01 13:47:34 +09:00
Eyejoker
59cf931b82 fix: copy arbiter AGENTS.md to reviewer session for container mount
Container's /home/node/.claude always mounts the reviewer session dir.
When arbiter runs codex in the same container, CODEX_HOME reads from
reviewer session's .codex/. Copy arbiter AGENTS.md there so codex gets
arbiter prompts instead of reviewer prompts.
2026-04-01 13:34:46 +09:00
Eyejoker
fad3ce3bdf fix: inject role prompts into AGENTS.md for codex container reviewer
prepareContainerSessionEnvironment now writes AGENTS.md (with platform
+ paired-room prompts) to a session-local .codex/ dir alongside auth
credentials from host. CODEX_HOME points to this dir so codex-runner
gets role-appropriate prompts instead of empty instructions.
2026-04-01 06:00:26 +09:00
Eyejoker
671eb18252 fix: route reviewer failover through reviewer bot, not arbiter bot
Reviewer handoff channel was based on target_agent_type (codex →
discord-review/arbiter bot). Now uses REVIEWER_AGENT_TYPE like the
normal reviewer path — role determines the bot, not the fallback type.
2026-04-01 05:37:56 +09:00
Eyejoker
bfd781c552 fix: skip role model override on failover handoffs
When forcedAgentType is set (failover), the role's configured model
(e.g. claude-opus-4-6 for reviewer) was injected as CODEX_MODEL,
causing codex SDK to reject it. Now model overrides are only injected
for the primary agent type, not failover runs.
2026-04-01 05:31:02 +09:00
Eyejoker
9b71bc5878 debug: log container runner selection 2026-04-01 05:25:47 +09:00
Eyejoker
df6298f340 fix: exclude model env from container creation, inject per-exec only
Model/effort keys (CLAUDE_MODEL, CODEX_MODEL, etc.) are now excluded
from docker run creation args and only injected at docker exec time
matching the active agent type. Removes the empty-value override hack.
2026-04-01 05:22:20 +09:00
Eyejoker
a648a08bf0 fix: clear CLAUDE_MODEL env on codex container exec
Container-level env has CLAUDE_MODEL baked in from creation.
Explicitly clear it on docker exec when running codex agent
to prevent 'model not supported with ChatGPT account' errors.
2026-04-01 05:20:55 +09:00
Eyejoker
7c9050ba9f fix: only inject matching model env vars for container agent type
When codex runs in container, skip CLAUDE_MODEL/EFFORT to prevent
'claude-opus-4-6 not supported with ChatGPT account' errors.
2026-04-01 05:18:10 +09:00
Eyejoker
5420fa2ee8 fix: handoff to codex on persistent session failure
When Claude reviewer hits retryable session failure twice, hand off
to codex instead of silently failing. Adds 'session-failure' to
AgentTriggerReason and shouldHandoffToCodex check.
2026-04-01 05:15:24 +09:00
Eyejoker
f4410be779 fix: show only fallback model when failover is active 2026-04-01 05:04:04 +09:00
Eyejoker
5a109e3717 feat: show fallback model in status dashboard
When global failover is active, claude-code roles now display
the fallback model inline: `claude-opus-4-6 (fallback → codex)`
2026-04-01 05:03:29 +09:00
Eyejoker
6e81bdc215 fix: mount codex OAuth credentials into reviewer container
Mount host's ~/.codex (read-only) into container so codex-runner
can authenticate via ChatGPT OAuth. Set CODEX_HOME env on exec.
2026-04-01 05:01:44 +09:00
Eyejoker
f5de14680b docs: remove bot names from role table 2026-04-01 04:57:07 +09:00
Eyejoker
14c8608f93 docs: move architecture and configuration details to docs/
- docs/architecture.md — data flow, room model, tribunal flow, container isolation, key files
- docs/configuration.md — full .env reference, debugging paths
- README links to docs/
2026-04-01 04:56:06 +09:00
Eyejoker
527ce08eee docs: slim README to landing page format
Remove internal architecture details, full .env examples, and
room assignment model. Keep role overview, tribunal flow, key
features, and quick start.
2026-04-01 04:54:07 +09:00
Eyejoker
404cbd6b04 feat: support codex runner in reviewer container
- Build both agent-runner and codex-runner into container image
- Select runner path based on group.agentType at docker exec time
- Update README to role-centric overview, generic MoA references
- Add MoA reference opinions guidance to arbiter prompt
2026-04-01 04:50:05 +09:00
Eyejoker
73156bf375 fix: only count final-phase output as visible for handoff decisions
Progress messages (phase: 'progress') were setting sawVisibleOutput=true,
which blocked failover handoffs when Claude usage was exhausted. Now only
final-phase output counts as visible, allowing reviewer handoff to codex
even after progress messages were shown.
2026-04-01 04:18:15 +09:00
Eyejoker
cb0d294941 feat: honor handoff agent type + local memory store
- fix: pass forcedRole/forcedAgentType through handoff execution chain
  so reviewer failover actually runs codex instead of retrying Claude
- fix: preserve intended_role in service handoff records
- feat: replace Memento MCP with local SQLite memory store
- feat: add memory selection with TTL decay
2026-04-01 03:59:47 +09:00
Eyejoker
ca58e8c8eb fix: honor handoff agent type during failover 2026-04-01 03:13:05 +09:00
Eyejoker
60f360b5ea fix: preserve handoff roles during failover 2026-04-01 02:54:35 +09:00
Eyejoker
a955964522 feat: add memory selection and TTL decay 2026-04-01 00:48:40 +09:00
Eyejoker
c76126bd58 refactor: replace Memento MCP with local memory 2026-03-31 23:22:50 +09:00
Eyejoker
42ed5ef113 feat: add local SQLite memory store 2026-03-31 23:22:46 +09:00
Eyejoker
0bcfcb27fe Merge branch 'codex/room-settings-followups' 2026-03-31 22:36:42 +09:00
Eyejoker
1c287f4ad0 docs: update README with room assignment model 2026-03-31 22:35:50 +09:00
Eyejoker
e730fea230 refactor: prefer room_settings over registered_groups in runtime reads 2026-03-31 22:35:50 +09:00
Eyejoker
1f1842773e refactor: internalize setRegisteredGroup export 2026-03-31 22:35:50 +09:00
Eyejoker
85cbce555a docs: update README with room assignment model 2026-03-31 22:27:43 +09:00
Eyejoker
c590fdaaa3 refactor: prefer room_settings over registered_groups in runtime reads 2026-03-31 22:27:36 +09:00
Eyejoker
35a59218d5 refactor: internalize setRegisteredGroup export 2026-03-31 22:27:17 +09:00
Eyejoker
6b7367c072 Merge branch 'codex/remove-register-group-legacy' 2026-03-31 21:59:15 +09:00