YeonGyu-Kim
62d409085e
feat(team-mode): add team runtime delete with background cancellation tests
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
4645d56d05
feat(team-mode): add team runtime layout activation with tests
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
d958b7f17a
feat(team-mode): add team runtime member dependency resolution
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
a65d54cac3
feat(team-mode): add team runtime member resolver with tests
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
301e02cdf9
feat(team-mode): add team runtime status query with tests
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
d9785c7c2c
feat(team-mode): add team runtime create with tests
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
51382c1082
test(team-mode): add live tmux smoke test for team layout
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
f78b1e62d7
feat(team-mode): add sweep-stale-team-sessions with tests
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
2b8096fc06
feat(team-mode): add resolve-caller-tmux-session helper with tests
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
eb61091f6d
feat(team-mode): add rebalance-team-window command with tests
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
a13ef03f82
feat(team-mode): add close-team-member-pane command with tests
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
c5df781029
feat(team-mode): add tmux team layout creation and removal
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
0f20a1b7f9
feat(team-mode): export team-mailbox barrel
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
01aeeedc60
feat(team-mode): add team mailbox reservation logic
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
2ce86ff9e5
feat(team-mode): add team mailbox poll with tests
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
3f69333939
feat(team-mode): add team mailbox ack with tests
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
07368b4685
feat(team-mode): add team mailbox send with tests
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
85cc30a8fe
feat(team-mode): add team mailbox inbox with tests
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
796143aa5d
feat(team-mode): export team-tasklist barrel
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
b34cd87416
feat(team-mode): add team tasklist test-support utilities
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
f72593736d
feat(team-mode): add team tasklist update with tests
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
205ce93654
feat(team-mode): add team tasklist dependencies with tests
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
4270af3ac9
feat(team-mode): add team tasklist claim with tests
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
043348442d
feat(team-mode): add team tasklist list with tests
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
031a7a4dd4
feat(team-mode): add team tasklist get with tests
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
6e0f6aefcc
feat(team-mode): add team tasklist store with tests
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
23e6a53ea2
feat(team-mode): export team-state-store barrel
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
274df1f262
feat(team-mode): add team state store resume logic with tests
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
79fb12e254
feat(team-mode): add team state store locks with tests
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
1bec921a5a
feat(team-mode): add team state store with tests
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
48bac223d3
feat(team-mode): export team-registry barrel
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
2866d3276e
feat(team-mode): add team registry validator with tests
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
cf050dc63a
feat(team-mode): add team spec input normalizer with tests
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
de30721fdc
feat(team-mode): add team registry loader with normalization tests
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
b2359c0a63
feat(team-mode): add team registry path utilities with tests
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
a91023961c
feat(team-mode): add team session registry with tests
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
3a93cb776f
test(team-mode): add integration test for team-mode lifecycle
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
8c4c4ff644
feat(team-mode): add caller team-lead resolution with tests
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
41d6e12f0d
feat(team-mode): add member session resolution and routing logic
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
8a42d7fd69
feat(team-mode): add member guidance and parser utilities
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
783d70558b
feat(team-mode): add core types, dependencies and type-level tests
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
5e4ae8815e
test(tmux-subagent): expand zombie-pane test coverage
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
49bb5dd81a
test(tmux-subagent): add pane-state-querier runner tests
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
8d3d882578
test(tmux-subagent): add manager project-directory resolution tests
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
77655a7c30
test(tmux-subagent): expand manager test coverage
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
680927d0fd
test(tmux-subagent): expand polling-manager test coverage
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
b6dcf05d45
test(tmux-subagent): expand action-executor test coverage
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
c8b225099c
refactor(tmux-subagent): stabilize polling, execution and session lifecycle with runner
2026-05-06 14:19:38 +09:00
YeonGyu-Kim
3ddc757b15
fix(bun-spawn-shim): eliminate globalThis.Bun top-level destructures for Electron/Node compat
...
Root cause: bun build --target bun inlines top-level
var { spawn } = globalThis.Bun;
for every file that contains 'import { spawn } from "bun"'. On Node/Electron
where globalThis.Bun is undefined, this crashes with
Cannot destructure property 'spawn' of 'globalThis.Bun' as it is undefined.
26 source files had this import; the bundled output had 25 top-level destructures.
Fix:
- Add src/shared/bun-spawn-shim.ts: a thin wrapper that
- delegates to Bun.spawn/spawnSync when globalThis.Bun is present (real Bun)
- falls back to static ESM imports of node:child_process otherwise
- uses static 'import { spawn } from "node:child_process"' so Bun bundler
does NOT emit any globalThis.Bun destructures for this module
- Replace all 26 'from "bun"' spawn/spawnSync imports with relative paths to shim
- Replace 4 direct Bun.spawn() call sites with shim's spawn()
- Remove src/electron-compat.ts and script/prepend-electron-shim.ts (no longer needed)
- Update src/electron-compat.test.ts to assert 0 top-level globalThis.Bun destructures
Verification: grep -c '} = globalThis.Bun;' dist/index.js → 0 (was 25)
All 5921 tests pass (1 pre-existing timeout failure unrelated to this change).
Fixes #3797
2026-05-05 22:41:45 +09:00
YeonGyu-Kim
32fab88d68
fix(process-cleanup): add test seam to prevent process.exitCode contaminating bun runner
...
scheduleForcedExit() sets process.exitCode which taints the bun test runner's
own exit code for the entire suite. This caused CI to fail even though all
tests passed individually.
Fix:
- Add __disableScheduledForcedExitForTesting / __enableScheduledForcedExitForTesting
seams to skip scheduleForcedExit() during tests
- beforeEach disables forced exit; afterEach re-enables
- The 'fallback exit timer' test explicitly re-enables to verify setTimeout/clearTimeout
- Remove process.exitCode and exitSpy assertions that required forced exit to be active
(shutdown call counts are sufficient to verify behavior)
2026-05-05 19:04:40 +09:00