diff --git a/jira/jira-search/getopt/detect-modifiers.sh b/jira/jira-search/getopt/detect-modifiers.sh
index 84a1afd..22c1cae 100644
--- a/jira/jira-search/getopt/detect-modifiers.sh
+++ b/jira/jira-search/getopt/detect-modifiers.sh
@@ -87,7 +87,17 @@
         [[ -v getopt_argv_NOT ]] && { declare -p getopt_argv_NOT; }
         [[ -v getopt_argv_OR ]] && { declare -p getopt_argv_OR; }
     fi
-    
+
+    ## Persistent flags
+    [[ -v getopt_argv_AND ]] && { declare -g -i getopt_argv_any_AND=1; }
+    [[ -v getopt_argv_OR ]]  && { declare -g -i getopt_argv_any_OR=1; }
+
+    if false; then
+       [[ -v getopt_argv_any_AND ]] && { declare -g -i getopt_argv_any_AND; }
+       [[ -v getopt_argv_any_OR ]]  && { declare -g -i getopt_argv_any_OR; }
+    fi
+
+
     : # return $?==0
     return
 }
diff --git a/jira/jira-search/include.sh b/jira/jira-search/include.sh
index 57405c9..8f81512 100644
--- a/jira/jira-search/include.sh
+++ b/jira/jira-search/include.sh
@@ -44,6 +44,7 @@
 #source "$pgmlib/fixversion.sh"
 #source "$pgmlib/resolved.sh"
 source "${pgm_lib}/fixversion.sh"
+source "${pgm_lib}/is_empty.sh"
 source "${pgm_lib}/resolved.sh"
 source "${pgm_lib}/help/utils.sh"
 
diff --git a/jira/jira-search/is_empty.sh b/jira/jira-search/is_empty.sh
new file mode 100644
index 0000000..fe6e9d1
--- /dev/null
+++ b/jira/jira-search/is_empty.sh
@@ -0,0 +1,32 @@
+#!/bin/bash
+## -----------------------------------------------------------------------
+## -----------------------------------------------------------------------
+
+## -----------------------------------------------------------------------
+## Intent: Detect if the --{labels,required}-is-empty switch is valid
+## -----------------------------------------------------------------------
+function is_switch_valid__is_empty()
+{
+    local raw="$1"; shift # --{foo}-is-empty
+
+    declare -a valid=()
+    valid+=('label')
+    valid+=('resolved')
+
+    # --required-is-empty       => required
+    local val="$raw"
+    val="${val:2}"               # remove prefix --
+    val="${val%-is-empty}"       # remove suffix token-name
+
+    if [[ " ${valid[@]} " =~ " ${val} " ]]; then
+        is_empty+=("$val")
+    else
+        error "Detected invalid --is-empty switch [$arg]"
+    fi
+    
+    return
+}
+
+: # ($?=0) for source $include
+
+# [EOF]
diff --git a/jira/jira-search/resolved.sh b/jira/jira-search/resolved.sh
index 9d2d563..88b6835 100644
--- a/jira/jira-search/resolved.sh
+++ b/jira/jira-search/resolved.sh
@@ -1,4 +1,25 @@
 #!/bin/bash
+## -----------------------------------------------------------------------
+## -----------------------------------------------------------------------
+
+[[ ! -v JCL_resovled ]] && { declare -g -a JCL_resolved=(); }
+
+## --------------------------------------------------------------------
+## Intent: Retrieve a list of reason query strings
+## --------------------------------------------------------------------
+function get_jcl_resolved()
+{
+    local -n ref=$1; shift
+
+    local -a tmp=()
+    do_resolved tmp
+    ref+=("$tmp")
+    
+    local query="$(join_by 'OR' "${tmp[0]}")"
+    ref+=("($query)")
+    
+    return
+}
 
 ## --------------------------------------------------------------------
 ## Intent: Retrieve a list of reason query strings
@@ -22,7 +43,6 @@
 function do_resolved()
 {
     declare -n ans=$1; shift
-   # declare -g resolved
 
     [[ -v resolved_start ]] && { ans+=("(Resolved >= $resolved_start)"); }
     [[ -v resolved_end ]]   && { ans+=("(Resolved <= $resolved_end)"); }
@@ -38,7 +58,10 @@
         ans+=( "(resolution IN ($filter))" )
     fi
 
-    [[ -v resolved_not_empty ]] && { ans+=('(resolved IS NOT EMPTY)'); }
+    [[ -v resolved_not_empty ]] \
+        && { ans+=('(resolved IS NOT EMPTY)'); } \
+        || { true; }
+               
     [[ -v resolved_is_empty ]] \
         && { ans+=('(resolved IS EMPTY)'); } \
         || { true; }
