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
6b7367c072
Merge branch 'codex/remove-register-group-legacy'
2026-03-31 21:59:15 +09:00
Eyejoker
2070e0391f
refactor: remove register_group legacy surface
2026-03-31 21:59:01 +09:00
Eyejoker
a2d4651a82
Merge branch 'codex/assign-room-write-path'
2026-03-31 21:24:23 +09:00
Eyejoker
b9538e54bc
feat: add room-level assignment write path
2026-03-31 21:21:57 +09:00
Eyejoker
35d1c57267
Merge branch 'codex/room-settings-ssot'
2026-03-31 20:54:51 +09:00
Eyejoker
200cbef0f9
Merge branch 'codex/room-settings-ssot'
2026-03-31 20:53:23 +09:00
Eyejoker
1fccc37fe8
refactor: read default room owner from room settings
2026-03-31 20:48:30 +09:00
Eyejoker
fc4eaefeda
feat: backfill room-level settings snapshot
2026-03-31 20:39:45 +09:00
Eyejoker
0a41d9ea3b
refactor: remove paired room legacy helper
2026-03-31 20:18:37 +09:00
Eyejoker
141898f764
refactor: scope runtime log context
2026-03-31 17:23:43 +09:00
Eyejoker
c2ef6572fd
Merge branch 'codex/room-mode-legacy-cutover'
2026-03-31 14:57:12 +09:00
Eyejoker
509e4c24a3
refactor: cut over room mode from paired legacy
2026-03-31 14:47:59 +09:00
Eyejoker
f04e5d06b3
test: align paired prompt expectation with AGENT_LANGUAGE
2026-03-31 14:13:43 +09:00
Eyejoker
2107e033b7
Merge branch 'codex/room-mode-paired-source'
2026-03-31 14:12:44 +09:00
Eyejoker
356cf2fa99
style: apply prettier formatting
2026-03-31 14:02:01 +09:00
Eyejoker
1c87616c44
fix: support same-service tribunal runtime
2026-03-31 14:01:31 +09:00
Eyejoker
757e33c58e
fix: prevent DONE↔DONE infinite loop and add AGENT_LANGUAGE setting
...
- Fix source_ref mismatch: update to workspace HEAD on first owner run
so change detection compares against the correct repo
- Treat hasNewChanges === null as "no changes" at finalize to prevent
infinite re-review when source_ref is unresolvable
- Add AGENT_LANGUAGE env var: when set, appends language instruction to
all paired room prompts (owner, reviewer, arbiter)
2026-03-31 13:55:41 +09:00
Eyejoker
47d532e869
fix: sync refreshed OAuth tokens to process.env for container exec
...
Token refresh updated internal array and .env file but not process.env,
so docker exec -e kept injecting the stale startup token. Now syncs
to process.env after refresh. Container kill on refresh is no longer
needed since docker exec picks up the latest token each turn.
2026-03-31 13:34:23 +09:00
Eyejoker
236f7c2fea
fix: gate paired runtime on dual registrations
2026-03-31 12:14:24 +09:00
Eyejoker
89335ab005
refactor: drive paired routing from room mode
2026-03-31 12:10:00 +09:00
Eyejoker
bfe164dece
style: format role plan runtime imports
2026-03-31 09:41:40 +09:00
Eyejoker
7f8a361f24
refactor: wire role agent plan into runtime
2026-03-31 09:41:40 +09:00
Eyejoker
a39dad4c8c
refactor: add role agent plan ssot
2026-03-31 09:41:40 +09:00
Eyejoker
dd28ac6223
fix: fallback to proceed on unrecognized arbiter verdict
...
Previously unknown verdicts caused arbiter_escalated (task terminated).
Now falls back to proceed so the loop continues — a parse failure
should not kill the task.
2026-03-31 09:03:20 +09:00
Eyejoker
94184c137d
fix: parse arbiter verdict with optional VERDICT: prefix
...
Codex arbiter sometimes outputs "VERDICT: PROCEED" instead of
"PROCEED". The regex now handles optional "VERDICT:" prefix,
preventing unknown verdict → false arbiter_escalated.
2026-03-31 08:51:01 +09:00
Eyejoker
33dd8ea54a
style: format room mode helpers
2026-03-31 08:15:47 +09:00
Eyejoker
99fe4243bf
refactor: add explicit room mode ssot helpers
2026-03-31 08:15:47 +09:00
Eyejoker
4aef48f3ba
fix: fallback to default arbiter_service_id in explicit channel leases
...
Explicit leases created by failover didn't include arbiter_service_id,
causing arbiter verdict to never be saved (pairedExecutionContext was
undefined). Now falls back to ARBITER_SERVICE_ID from config when the
stored lease has null arbiter_service_id.
2026-03-31 07:45:52 +09:00
Eyejoker
aad1e93df5
refactor: separate scheduler tick execution path
2026-03-31 07:26:21 +09:00
Eyejoker
ca48e94291
refactor: centralize group queue phase transitions
2026-03-31 07:19:27 +09:00
Eyejoker
b9541a7c5b
refactor: extract verify state helpers
2026-03-31 06:54:49 +09:00
Eyejoker
30f19f994b
refactor: split setup service rendering and verify probes
2026-03-31 06:54:49 +09:00
Eyejoker
4ac2b9066b
fix: auto-retry Codex turn once on interrupted status
...
When the Codex SDK returns 'interrupted' (API-side timeout/disconnect),
retry the turn once before reporting failure. Prevents unnecessary
"요청을 완료하지 못했습니다" messages for transient issues.
2026-03-31 06:48:07 +09:00
Eyejoker
4003988ff4
refactor: make service defs the setup SSOT
2026-03-31 06:20:15 +09:00
Eyejoker
4bfd3f363f
refactor: extract pure builders for SSOT tests
2026-03-31 06:12:20 +09:00
Eyejoker
650ed16a7b
fix: strengthen arbiter ESCALATE guidance to prevent echo loops
...
Arbiter was repeating PROCEED when owner needed user input (e.g.,
"PR 만들까요?"), causing infinite owner↔arbiter loops. Added
specific ESCALATE triggers: user-directed questions, repeated
NEEDS_CONTEXT after prior PROCEED.
2026-03-31 06:03:11 +09:00
Eyejoker
4fcec1ef47
refactor: extract runtime PATH env builder for SSOT
2026-03-31 05:52:19 +09:00
Eyejoker
a81e5aea63
style: format pending paired turn helpers
2026-03-31 05:43:54 +09:00
Eyejoker
43f8341c17
refactor: extract pending paired turn helpers
2026-03-31 05:43:17 +09:00
Eyejoker
4fc7a88e86
chore: make deploy fast-forward only
2026-03-31 05:30:33 +09:00
Eyejoker
189c8795a1
fix: wire stack restart to TypeScript entrypoint
2026-03-31 05:25:50 +09:00
Eyejoker
648457d717
chore: remove nanoclaw legacy skills and scripts
...
Remove 9 inherited skills (Qodo, update-ejclaw, add-* addons,
update-skills) and restart-ejclaw-stack.sh that came from the
nanoclaw fork and are no longer used.
2026-03-31 05:16:48 +09:00
Eyejoker
060818c914
chore: simplify package scripts (remove duplicates, logical ordering)
2026-03-31 05:07:32 +09:00
Eyejoker
fc21804bf1
chore: add build:all and deploy scripts, remove hardcoded server details from docs
2026-03-31 05:05:33 +09:00
Eyejoker
8360812e1d
fix: align ContentBlock media_type with SDK 0.2.87 literal union type
2026-03-31 05:01:21 +09:00
Eyejoker
196c453ccf
fix: skip enqueueMessageCheck when task is already completed (ESCALATE/done)
2026-03-31 04:59:27 +09:00
Eyejoker
636c54702a
fix: prevent ESCALATE → new task loop (only create tasks on human messages)
2026-03-31 04:58:26 +09:00