diff --git a/joj3_config_generator/models/const.py b/joj3_config_generator/models/const.py
index 33de35b..491371f 100644
--- a/joj3_config_generator/models/const.py
+++ b/joj3_config_generator/models/const.py
@@ -6,6 +6,8 @@ DEFAULT_CPU_LIMIT = Time("1s")
 DEFAULT_MEMORY_LIMIT = Memory("256m")
 DEFAULT_FILE_LIMIT = Memory("32m")
 DEFAULT_CASE_SCORE = 5
+DEFAULT_CLOCK_LIMIT_MULTIPLIER = 2
+DEFAULT_PROC_LIMIT = 50
 
 JOJ3_CONFIG_ROOT = Path("/home/tt/.config/joj")
 TEAPOT_CONFIG_ROOT = Path("/home/tt/.config/teapot")
diff --git a/joj3_config_generator/models/result.py b/joj3_config_generator/models/result.py
index 308c73a..bf171cb 100644
--- a/joj3_config_generator/models/result.py
+++ b/joj3_config_generator/models/result.py
@@ -3,9 +3,11 @@ from typing import TYPE_CHECKING, Any, Dict, List, Optional, Union
 from pydantic import BaseModel, ConfigDict, Field, field_validator
 
 from joj3_config_generator.models.const import (
+    DEFAULT_CLOCK_LIMIT_MULTIPLIER,
     DEFAULT_CPU_LIMIT,
     DEFAULT_FILE_LIMIT,
     DEFAULT_MEMORY_LIMIT,
+    DEFAULT_PROC_LIMIT,
 )
 
 
@@ -49,10 +51,13 @@ class Cmd(BaseModel):
     stdout: Union[Collector, StreamOut] = Collector(name="stdout")
     stderr: Union[Collector, StreamOut] = Collector(name="stderr")
     cpu_limit: int = Field(DEFAULT_CPU_LIMIT, serialization_alias="cpuLimit")
-    clock_limit: int = Field(2 * DEFAULT_CPU_LIMIT, serialization_alias="clockLimit")
+    clock_limit: int = Field(
+        DEFAULT_CLOCK_LIMIT_MULTIPLIER * DEFAULT_CPU_LIMIT,
+        serialization_alias="clockLimit",
+    )
     memory_limit: int = Field(DEFAULT_MEMORY_LIMIT, serialization_alias="memoryLimit")
     stack_limit: int = Field(0, serialization_alias="stackLimit")
-    proc_limit: int = Field(50, serialization_alias="procLimit")
+    proc_limit: int = Field(DEFAULT_PROC_LIMIT, serialization_alias="procLimit")
     cpu_rate_limit: int = Field(0, serialization_alias="cpuRateLimit")
     cpu_set_limit: str = Field("", serialization_alias="cpuSetLimit")
     copy_in: Dict[str, InputFile] = Field({}, serialization_alias="copyIn")
diff --git a/joj3_config_generator/transformers/task.py b/joj3_config_generator/transformers/task.py
index 3dcbcbe..d907504 100644
--- a/joj3_config_generator/transformers/task.py
+++ b/joj3_config_generator/transformers/task.py
@@ -203,11 +203,14 @@ def fix_diff(
         # duplicate with the fallback case in executor.with_
         if cmd.cpu_limit == const.DEFAULT_CPU_LIMIT:
             cmd.cpu_limit = None
-        if cmd.clock_limit == 2 * const.DEFAULT_CPU_LIMIT:
+        if (
+            cmd.clock_limit
+            == const.DEFAULT_CLOCK_LIMIT_MULTIPLIER * const.DEFAULT_CPU_LIMIT
+        ):
             cmd.clock_limit = None
         if cmd.memory_limit == const.DEFAULT_MEMORY_LIMIT:
             cmd.memory_limit = None
-        if cmd.proc_limit == executor.with_.default.proc_limit:
+        if cmd.proc_limit == const.DEFAULT_PROC_LIMIT:
             cmd.proc_limit = None
         stage_cases.append(cmd)
         parser_case = result.DiffCasesConfig(
@@ -229,6 +232,7 @@ def fix_diff(
             cpu_limit=None,
             clock_limit=None,
             memory_limit=None,
+            proc_limit=None,
         )
         stage_cases.append(cmd)
         parser_case = result.DiffCasesConfig(