fix(kugetsu): remove broken session existence check
The check_opencode_session_exists() function was fundamentally broken because 'opencode session list' does not include forked sessions, regardless of output format (table or JSON). This caused false 'session expired' reports even when sessions were fully functional. Changes: - Remove session check from cmd_status() - now returns 'ok' if session registered - Remove session check from cmd_delegate() - let opencode run fail naturally - Remove warning from cmd_continue() - proceed regardless - Simplify cmd_doctor() - just show registered sessions - Update test to reflect new behavior Issue #38: #38
This commit is contained in:
@@ -417,14 +417,17 @@ else
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# Test 25: status when all good (pm-agent in json but session expired)
|
||||
echo "--- Test: status (session expired) ---"
|
||||
# Test 25: status when all good (pm-agent in json - no longer checks opencode)
|
||||
# Note: check_opencode_session_exists was removed because forked sessions
|
||||
# don't appear in 'opencode session list'. Status now returns 'ok' if
|
||||
# session is registered in kugetsu index, regardless of opencode state.
|
||||
echo "--- Test: status (session registered) ---"
|
||||
setup_mock_base
|
||||
OUTPUT=$($KUGETSU status 2>&1 || true)
|
||||
if [ "$OUTPUT" = "pm_agent_expired" ]; then
|
||||
pass "status returns pm_agent_expired when session not in opencode"
|
||||
if [ "$OUTPUT" = "ok" ]; then
|
||||
pass "status returns ok when session is in kugetsu index"
|
||||
else
|
||||
fail "status session expired: got '$OUTPUT', expected 'pm_agent_expired'"
|
||||
fail "status session registered: got '$OUTPUT', expected 'ok'"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
|
||||
Reference in New Issue
Block a user