Commit Graph

  • e46f393ee8 fix(tmux): quote --dir value and fall back to cwd when empty feat/team-mode YeonGyu-Kim 2026-04-20 20:36:59 +09:00
  • 72700f68c4 fix(background-agent): don't terminate task on session.error when session is still alive YeonGyu-Kim 2026-04-20 20:28:46 +09:00
  • f25a1af710 test(recent-synthetic-idles): pass recentAnyIdles to pruneRecentSyntheticIdles YeonGyu-Kim 2026-04-20 18:21:04 +09:00
  • 2720669e2c fix(tmux-subagent): check pane existence before force-removing close-pending sessions YeonGyu-Kim 2026-04-20 18:18:21 +09:00
  • 5a284ecf13 fix(tmux-subagent): prevent polling-closed panes from resurrecting via retry YeonGyu-Kim 2026-04-20 18:16:10 +09:00
  • 8df9c6629e fix(tmux-subagent): require activityVersion unchanged across stability window YeonGyu-Kim 2026-04-20 18:13:47 +09:00
  • 650eade502 fix(tmux-subagent): guard deferred-attach with pendingSessions dedup YeonGyu-Kim 2026-04-20 18:07:56 +09:00
  • 74c1942af5 fix(tmux): pass --dir to opencode attach in subagent spawn helpers YeonGyu-Kim 2026-04-20 18:05:56 +09:00
  • c2f03f1341 fix(tmux-subagent): expire failedReadinessSessions after TTL YeonGyu-Kim 2026-04-20 18:04:55 +09:00
  • 6ecc7864b6 fix(tmux-subagent): relax session-missing grace and session-lifetime timeout YeonGyu-Kim 2026-04-20 18:02:44 +09:00
  • c867078ee2 fix(event): dedup session.idle per sessionID across synthetic and real sources YeonGyu-Kim 2026-04-20 18:01:01 +09:00
  • d236c6a2bd fix(event): forward session.idle events to tmuxSessionManager for retry path YeonGyu-Kim 2026-04-20 17:44:31 +09:00
  • 6147532f20 test(event): lock first-event subagent classification invariant YeonGyu-Kim 2026-04-20 17:39:21 +09:00
  • 4da248d284 fix(tmux-subagent): harden session readiness and retry once on later session.idle YeonGyu-Kim 2026-04-20 17:22:01 +09:00
  • fd59854620 fix(team-runtime): close remaining holes in team_delete force path YeonGyu-Kim 2026-04-20 17:20:41 +09:00
  • 8ecf6698bf fix(event): also consult subagentSessions before dispatching session.created to tmux YeonGyu-Kim 2026-04-20 17:15:09 +09:00
  • 8508abc072 fix(tmux-subagent): wait for session readiness before spawning pane YeonGyu-Kim 2026-04-20 15:17:06 +09:00
  • cd744720ef fix(team-mode): reuse caller lead when agent names include sort prefixes YeonGyu-Kim 2026-04-20 15:13:31 +09:00
  • 0fb94a5315 fix(event): skip session.created dispatch to tmux for subagent sessions YeonGyu-Kim 2026-04-20 15:11:51 +09:00
  • 0018183dbf feat(team-runtime): add force option to team_delete for active members YeonGyu-Kim 2026-04-20 15:10:46 +09:00
  • 3c124de669 fix(team-session-events): transition member.status on session.idle and session.deleted YeonGyu-Kim 2026-04-20 14:40:54 +09:00
  • 16ebd06f9a docs(team-mode,tmux-subagent): document team-session-registry invariant and runner consolidation YeonGyu-Kim 2026-04-20 13:58:38 +09:00
  • 514032f139 refactor(openclaw-tmux): route tmux commands through shared runTmuxCommand YeonGyu-Kim 2026-04-20 13:54:40 +09:00
  • 07361e3cd5 test(team-mailbox-injector): widen fixture typing for synthetic injected parts YeonGyu-Kim 2026-04-20 14:01:07 +09:00
  • 93eacac769 fix(team-session-events): consult team-session-registry in member-error-handler before disk state YeonGyu-Kim 2026-04-20 13:57:33 +09:00
  • a0ae3cebe7 fix(team-session-events): consult team-session-registry in lead-orphan-handler before disk state YeonGyu-Kim 2026-04-20 13:56:02 +09:00
  • d57fd6362d fix(team-session-events): consult team-session-registry in idle-wake-hint before disk state YeonGyu-Kim 2026-04-20 13:54:34 +09:00
  • c5c42a2a34 fix(team-mailbox-injector): consult team-session-registry before disk state to close spawn race YeonGyu-Kim 2026-04-20 13:52:19 +09:00
  • c31434bf4d fix(team-runtime): unregister team-session-registry entries on failed create rollback YeonGyu-Kim 2026-04-20 13:51:46 +09:00
  • 699b0e7fcd refactor(shared-tmux): parameterize stale-session-sweep by prefix YeonGyu-Kim 2026-04-20 13:33:23 +09:00
  • 1aeab1a7fe refactor(team-layout-tmux): delegate pane close to shared closeTmuxPane YeonGyu-Kim 2026-04-20 13:24:03 +09:00
  • ee7ac1731e refactor(shared-tmux): consolidate tmux command execution behind single runTmuxCommand YeonGyu-Kim 2026-04-20 13:19:36 +09:00
  • f71268073a fix(team-tool-gating): close spawn race that denied team_send_message as non-participant YeonGyu-Kim 2026-04-20 13:02:04 +09:00
  • 9f9e9d09c8 fix(team-state-store): persist subagent_type for reused caller-lead sessions YeonGyu-Kim 2026-04-20 12:23:46 +09:00
  • 4791cc1cae fix(anthropic-context-window-limit-recovery): pin agent/model/variant on aggressive-truncation promptAsync YeonGyu-Kim 2026-04-20 12:01:18 +09:00
  • e768293183 fix(event): pin agent/model/variant on model-fallback auto-continuation YeonGyu-Kim 2026-04-20 11:54:31 +09:00
  • bda3f4e0f1 test(team-mode): cover createTeamRun -> team_send_message agent/model pinning end-to-end YeonGyu-Kim 2026-04-20 11:53:00 +09:00
  • 5d2d9d45b9 fix(session-recovery): pin agent/model/variant on tool-result-missing promptAsync YeonGyu-Kim 2026-04-20 11:52:16 +09:00
  • 74c0ccb344 fix(team-session-events): pin subagent_type and model on wake-hint promptAsync YeonGyu-Kim 2026-04-20 11:51:39 +09:00
  • 8cbae4fe0c fix(team-mailbox): pin subagent_type and model when live-delivering via promptAsync YeonGyu-Kim 2026-04-20 11:42:53 +09:00
  • 9da40dbdd3 feat(team-state-store): record resolved subagent_type and model on runtime members YeonGyu-Kim 2026-04-20 11:42:45 +09:00
  • 40321cda36 fix(team-mailbox): count .delivering-* reservations toward recipient backpressure YeonGyu-Kim 2026-04-19 21:37:43 +09:00
  • 94ed3f98f1 docs(team-mode): refresh tmux and storage sections YeonGyu-Kim 2026-04-19 21:34:10 +09:00
  • 3ae9eaf7d5 fix(team-mailbox): narrow readdir return type for reclaim scan YeonGyu-Kim 2026-04-19 21:28:59 +09:00
  • c85155058e fix(team-state-store): treat previously-errored workers as dead on resume YeonGyu-Kim 2026-04-19 21:25:45 +09:00
  • 63c595b332 fix(team-mailbox): reclaim stale .delivering-* reservations on resume YeonGyu-Kim 2026-04-19 21:24:45 +09:00
  • d3f901273c fix(team-mailbox): pre-reserve live-delivery writes to close sendMessage/deliverLive race YeonGyu-Kim 2026-04-19 21:23:01 +09:00
  • 79c3937abe fix(team-state-store): validate worker sessions, not only lead, on resume YeonGyu-Kim 2026-04-19 21:05:11 +09:00
  • a5bff71524 fix(team-messaging): broadcast reaches all members except the sender YeonGyu-Kim 2026-04-19 21:02:29 +09:00
  • 02e6b8b515 fix(team-mailbox): atomic delivery reservation to prevent double-inject race YeonGyu-Kim 2026-04-19 21:00:53 +09:00
  • 247494a9ae fix(team-mailbox): dedupe pendingInjectedMessageIds across turns YeonGyu-Kim 2026-04-19 20:58:24 +09:00
  • 22f5b59a13 fix(team-mode): deliver team messages live via promptAsync, not only to inbox YeonGyu-Kim 2026-04-19 14:40:14 +09:00
  • 8d7e29d378 fix(team-layout-tmux): drop sh -c wrapper so attach streams update in tmux panes YeonGyu-Kim 2026-04-19 14:25:37 +09:00
  • 4b9e614c4c refactor(team-layout-tmux): harden layout.test.ts mock isolation YeonGyu-Kim 2026-04-19 12:00:00 +09:00
  • b3df57b914 refactor(team-layout-tmux): clean AI slop from newly merged Wave 1 source files YeonGyu-Kim 2026-04-19 12:00:00 +09:00
  • 5da2110b1f refactor(team-mode): remove dead FIFO streamer now that opencode attach owns streaming YeonGyu-Kim 2026-04-19 11:50:01 +09:00
  • 8ca2690c22 feat(team-layout-tmux): migrate pane streaming to opencode attach YeonGyu-Kim 2026-04-19 11:33:35 +09:00
  • 3fd86bf627 feat(team-layout-tmux): add closeTeamMemberPane + rebalanceTeamWindow helpers YeonGyu-Kim 2026-04-19 11:33:22 +09:00
  • d3dc2bab1d feat(team-layout-tmux): add sweepStaleTeamSessions helper YeonGyu-Kim 2026-04-19 11:33:15 +09:00
  • d43f505cf2 refactor(team-layout-tmux): harden runTmuxCommand with stderr + retry + timeout YeonGyu-Kim 2026-04-19 11:33:08 +09:00
  • 940f6e9f8e feat(team-mode): default team lead to the calling agent YeonGyu-Kim 2026-04-19 10:44:18 +09:00
  • 79c0c741d5 refactor(team-mode): remove AI slop from team-mode hook files YeonGyu-Kim 2026-04-18 19:22:46 +09:00
  • 123729880b refactor(team-mode): remove AI slop from team-mode feature files YeonGyu-Kim 2026-04-18 19:22:32 +09:00
  • e74156c8cf fix(team-mode): defer resumeAllTeams to avoid plugin init deadlock YeonGyu-Kim 2026-04-18 18:39:58 +09:00
  • 42f59aaf2c chore(team-mode): restore post-rebase team-mode files to pre-rebase state YeonGyu-Kim 2026-04-18 17:56:50 +09:00
  • 05d28e3d6c fix(team-mode): keep ZWSP prefix on primary agent name for session.create lookup YeonGyu-Kim 2026-04-18 17:17:41 +09:00
  • b7fcdd5a86 fix(team-mode): let members use sisyphus/atlas/sisyphus-junior even though task() cannot YeonGyu-Kim 2026-04-18 17:14:35 +09:00
  • d0c3b084cc fix(claude-code-plugin-loader): total ordering + strict name-match YeonGyu-Kim 2026-04-18 14:12:31 +09:00
  • 02f6a48017 fix(claude-code-plugin-loader): deterministic recovery with name validation YeonGyu-Kim 2026-04-18 14:03:39 +09:00
  • 14a3ff08f7 fix(claude-code-plugin-loader): recover stale installPath and legacy plugin.json layout YeonGyu-Kim 2026-04-18 13:45:41 +09:00
  • 66e8ce11df docs(team-mode): surface Team Mode from overview and features reference YeonGyu-Kim 2026-04-18 10:12:50 +09:00
  • 31488bf1d2 fix(team-mode): enqueue pending events before resolveStreamTarget to preserve arrival order YeonGyu-Kim 2026-04-18 09:28:21 +09:00
  • f03d3afd1c fix(team-mode): serialize same-session drains so concurrent events don't race YeonGyu-Kim 2026-04-18 09:19:19 +09:00
  • 4a9628d68a fix(team-mode): split scheduler stop/dispose and purge generation on teardown YeonGyu-Kim 2026-04-18 08:58:00 +09:00
  • b0db2379e8 fix(team-mode): invalidate in-flight drains on teardown and lifecycle events YeonGyu-Kim 2026-04-18 08:40:47 +09:00
  • 9e23e62383 fix(team-mode): keep pending-retry scheduler alive when drainSession throws YeonGyu-Kim 2026-04-18 08:21:42 +09:00
  • afb4902ce2 fix(team-mode): preserve buffered event order when drain write fails YeonGyu-Kim 2026-04-18 07:54:59 +09:00
  • b39b615a1b fix(team-mode): advance dedupe state only after successful write YeonGyu-Kim 2026-04-18 07:45:18 +09:00
  • 2292e99c08 fix(team-mode): buffer message.part.updated + poll for mapping to rescue stranded events YeonGyu-Kim 2026-04-18 07:27:30 +09:00
  • 8021319aa8 fix(team-mode): buffer message.part.delta events arriving before runtime mapping YeonGyu-Kim 2026-04-18 07:17:42 +09:00
  • fa20c2b47c fix(team-mode): resolve stream target before mutating part-text dedupe state YeonGyu-Kim 2026-04-18 07:09:47 +09:00
  • 17bd24c9ca fix(team-mode): close production-order gap between member launch and layout activation YeonGyu-Kim 2026-04-18 07:01:32 +09:00
  • 5af776da8a fix(team-mode): make pane attach race-safe via tail -n +1 -f and idempotent ensure YeonGyu-Kim 2026-04-18 06:54:22 +09:00
  • 811bbbc985 fix(team-mode): replace FIFO with append-only file so focus+grid panes mirror YeonGyu-Kim 2026-04-18 06:45:04 +09:00
  • 7be22b6619 fix(team-mode): deduplicate mixed message.part.delta + message.part.updated streaming YeonGyu-Kim 2026-04-18 05:51:28 +09:00
  • e767ef49ad fix(team-mode): scope team_delete cancellation to this team's tasks only YeonGyu-Kim 2026-04-18 05:51:28 +09:00
  • e9dab861f2 feat(team-mode): stream message.part.delta events to member FIFO YeonGyu-Kim 2026-04-18 05:10:09 +09:00
  • 812d01f5b6 fix(team-mode): cancel tasks by leadSessionId on team delete (was mismatched) YeonGyu-Kim 2026-04-18 05:09:56 +09:00
  • e36b9f2b07 fix(team-mode): remove duplicate teamSessionStreamer dispatch in event.ts YeonGyu-Kim 2026-04-18 05:09:45 +09:00
  • 8b42e61616 fix(team-mode): inject client at factory level (opencode ToolContext has no client field) YeonGyu-Kim 2026-04-18 04:35:18 +09:00
  • 172a7029c3 feat(team-mode): wire pane streaming via FIFO + event hook (fix broken pipe-pane) YeonGyu-Kim 2026-04-18 04:33:02 +09:00
  • e344f06f97 fix(team-mode): team_create accepts stringified inline_spec + auto-assigns member names YeonGyu-Kim 2026-04-18 04:32:25 +09:00
  • 3e4c967f84 fix(team-mode): guard idle-wake-hint against missing session.promptAsync on mock contexts YeonGyu-Kim 2026-04-18 04:03:50 +09:00
  • 7b790ef1b8 fix(team-mode): team_create UX - auto-default version/createdAt + lead shorthand + inference YeonGyu-Kim 2026-04-18 04:01:12 +09:00
  • d0f3bef1f8 fix(team-mode): team_list is discovery tool, allow all roles (gating bug) YeonGyu-Kim 2026-04-18 03:48:49 +09:00
  • 1d31220d18 chore: fully exclude .sisyphus/ from git tracking YeonGyu-Kim 2026-04-18 03:33:38 +09:00
  • 1f36ede483 fix(team-mode): rename ctx to input after V1 PluginModule merge YeonGyu-Kim 2026-04-18 03:25:06 +09:00
  • b425635ab1 fix(team-mode): register 12 team_* tools in ToolRegistry (Oracle blocker) YeonGyu-Kim 2026-04-18 03:23:33 +09:00
  • 620573e1d7 docs(plan): mark team-mode 28 tasks + Final Wave complete (Oracle blocker) YeonGyu-Kim 2026-04-18 03:19:50 +09:00
  • c370cf224c fix(team-mode): wire resumeAllTeams + D-29 warning in plugin init (Oracle blocker) YeonGyu-Kim 2026-04-18 03:19:49 +09:00