diff --git a/.ci/template/sh-build-iso.yml.jinja2 b/.ci/template/sh-build-iso.yml.jinja2
index 11315ca..82d8995 100644
--- a/.ci/template/sh-build-iso.yml.jinja2
+++ b/.ci/template/sh-build-iso.yml.jinja2
@@ -16,7 +16,7 @@ jobs:
     steps:
       - name: Start virtual machine
         run: |
-          # Do nothing for now
+          # FIXME
           exit 0
 
   build:
@@ -24,6 +24,10 @@ jobs:
     runs-on: self-hosted
 
     steps:
+      - name: Remove previous artifacts
+        run: |
+          sudo rm -fr out/
+
       - name: Checkout repository
         uses: actions/checkout@v4
         with:
@@ -70,6 +74,7 @@ jobs:
           path: out/
 
   vm-shutdown:
+    if: "!cancelled()"
     needs: build
     runs-on: self-hosted
 
@@ -80,6 +85,7 @@ jobs:
           sudo shutdown 1
 
   vm-shutdown-wait:
+    if: "!cancelled()"
     needs: vm-shutdown
     runs-on: ubuntu-latest
 
diff --git a/.github/workflows/sh-build-iso-rocm.yml b/.github/workflows/sh-build-iso-rocm.yml
index 3bd32fb..b31c6ac 100644
--- a/.github/workflows/sh-build-iso-rocm.yml
+++ b/.github/workflows/sh-build-iso-rocm.yml
@@ -16,7 +16,7 @@ jobs:
     steps:
       - name: Start virtual machine
         run: |
-          # Do nothing for now
+          # FIXME
           exit 0
 
   build:
@@ -24,6 +24,10 @@ jobs:
     runs-on: self-hosted
 
     steps:
+      - name: Remove previous artifacts
+        run: |
+          sudo rm -fr out/
+
       - name: Checkout repository
         uses: actions/checkout@v4
         with:
@@ -68,6 +72,7 @@ jobs:
           path: out/
 
   vm-shutdown:
+    if: "!cancelled()"
     needs: build
     runs-on: self-hosted
 
@@ -78,6 +83,7 @@ jobs:
           sudo shutdown 1
 
   vm-shutdown-wait:
+    if: "!cancelled()"
     needs: vm-shutdown
     runs-on: ubuntu-latest
 
diff --git a/airootfs/home/tori/ComfyUI b/airootfs/home/tori/ComfyUI
index 38b7ac6..3b9969c 160000
--- a/airootfs/home/tori/ComfyUI
+++ b/airootfs/home/tori/ComfyUI
@@ -1 +1 @@
-Subproject commit 38b7ac6e269e6ecc5bdd6fefdfb2fb1185b09c9d
+Subproject commit 3b9969c1c5a0428fc1d8be79129a9e97cfcc5e7d
diff --git a/airootfs/home/tori/axolotl b/airootfs/home/tori/axolotl
index 8430db2..5a5d474 160000
--- a/airootfs/home/tori/axolotl
+++ b/airootfs/home/tori/axolotl
@@ -1 +1 @@
-Subproject commit 8430db22e29d613bc4151af830e7916c884b61ec
+Subproject commit 5a5d47458d9aaf7ead798d15291ba3d9bef785c5
diff --git a/airootfs/home/tori/koboldcpp b/airootfs/home/tori/koboldcpp
index d1aff0e..1e460bb 160000
--- a/airootfs/home/tori/koboldcpp
+++ b/airootfs/home/tori/koboldcpp
@@ -1 +1 @@
-Subproject commit d1aff0e96475a3bae6850bc620488c762a642061
+Subproject commit 1e460bb936d4540f32d8e6d1fd0a298ebbc0eabb
diff --git a/airootfs/home/tori/llama.cpp b/airootfs/home/tori/llama.cpp
index 099afc6..d250c9d 160000
--- a/airootfs/home/tori/llama.cpp
+++ b/airootfs/home/tori/llama.cpp
@@ -1 +1 @@
-Subproject commit 099afc6274c859ca67146e725839f2d97a5ef313
+Subproject commit d250c9d61d4d9f7346930814cc4aef3f3673dc3e
diff --git a/airootfs/home/tori/text-generation-webui b/airootfs/home/tori/text-generation-webui
index 0f134bf..dd46229 160000
--- a/airootfs/home/tori/text-generation-webui
+++ b/airootfs/home/tori/text-generation-webui
@@ -1 +1 @@
-Subproject commit 0f134bf744acef2715edd7d39e76f865d8d83a19
+Subproject commit dd46229487b1594ea54026a43be1b76e5bf9c7f8
diff --git a/airootfs/home/tori/vllm b/airootfs/home/tori/vllm
index 5638364..185b2c2 160000
--- a/airootfs/home/tori/vllm
+++ b/airootfs/home/tori/vllm
@@ -1 +1 @@
-Subproject commit 563836496abc0914c212b693130f80be25926564
+Subproject commit 185b2c29e241c864c9660ef0b69b5076a370f55e
diff --git a/airootfs/root/customize_airootfs/patches/0000-koboldcpp-drop-pstate-in-idle.patch b/airootfs/root/customize_airootfs/patches/0000-koboldcpp-drop-pstate-in-idle.patch
index 9a36be0..ef71110 100644
--- a/airootfs/root/customize_airootfs/patches/0000-koboldcpp-drop-pstate-in-idle.patch
+++ b/airootfs/root/customize_airootfs/patches/0000-koboldcpp-drop-pstate-in-idle.patch
@@ -8,7 +8,7 @@
  
  sampler_order_max = 7
  stop_token_max = 16
-@@ -337,6 +338,7 @@ def load_model(model_filename):
+@@ -339,6 +340,7 @@ def load_model(model_filename):
      return ret
  
  def generate(prompt, memory="", max_length=32, max_context_length=512, temperature=0.7, top_k=100, top_a=0.0, top_p=0.92, min_p=0.0, typical_p=1.0, tfs=1.0, rep_pen=1.0, rep_pen_range=128, presence_penalty=0.0, mirostat=0, mirostat_tau=5.0, mirostat_eta=0.1, sampler_order=[6,0,1,3,4,2,5], seed=-1, stop_sequence=[], use_default_badwordsids=False, stream_sse=False, grammar='', grammar_retain_state=False, genkey='', trimstop=False, quiet=False, dynatemp_range=0.0, dynatemp_exponent=1.0, smoothing_factor=0.0, logit_biases={}):
@@ -16,7 +16,7 @@
      global maxctx, args, currentusergenkey, totalgens, pendingabortkey
      inputs = generation_inputs()
      outputs = ctypes.create_unicode_buffer(ctypes.sizeof(generation_outputs))
-@@ -436,6 +438,7 @@ def generate(prompt, memory="", max_length=32, max_context_length=512, temperatu
+@@ -438,6 +440,7 @@ def generate(prompt, memory="", max_length=32, max_context_length=512, temperatu
                  sindex = outstr.find(trim_str)
                  if sindex != -1 and trim_str!="":
                      outstr = outstr[:sindex]
@@ -24,7 +24,7 @@
          return outstr
  
  def utfprint(str):
-@@ -2332,6 +2335,7 @@ def sanitize_string(input_string):
+@@ -2337,6 +2340,7 @@ def sanitize_string(input_string):
      return sanitized_string
  
  def main(launch_args,start_server=True):
diff --git a/airootfs/root/customize_airootfs/patches/0100-llamacpp-enable-prompt-cache.patch b/airootfs/root/customize_airootfs/patches/0100-llamacpp-enable-prompt-cache.patch
index 2fc7928..464b66c 100644
--- a/airootfs/root/customize_airootfs/patches/0100-llamacpp-enable-prompt-cache.patch
+++ b/airootfs/root/customize_airootfs/patches/0100-llamacpp-enable-prompt-cache.patch
@@ -11,7 +11,7 @@
      llama_params["top_p"]             = json_value(body, "top_p", 1.0);
 --- a/examples/server/server.cpp
 +++ b/examples/server/server.cpp
-@@ -526,7 +526,7 @@ struct llama_server_context
+@@ -522,7 +522,7 @@ struct llama_server_context
          }
  
          slot->params.stream             = json_value(data, "stream",            false);