Contents TandemLLM Docs
v0.11.1
Star58

Part VI, Reference

30Environment and configuration reference

TandemLLM reads four families of settings. Engine switches are QWEN38_* variables, read through one registry. Server settings are command-line flags (Chapter 29); ops/start.sh builds them from ops/serve.env, and a few QSE_* variables set flags’ defaults or serve the scripts. The proxy, the collector and the plugins read TANDEM_* variables. And the conductor’s behaviour lives in its versioned documents, which the dashboard edits.

30.1 The served profile

ops/serve.env is the served configuration. On an installed engine it is ~/TandemLLM/run/ops/serve.env, rewritten by every run of the installer, and local.env beside it is read last for your own values.

Table 30.1 The keys ops/serve.env sets, in file order (paths not shown)
KeyValueKind
HOME_DIR(a path)read by ops/start.sh
REPO(a path)read by ops/start.sh
PY(a path)read by ops/start.sh
PYTHONPATH(a path)read by ops/start.sh
HOST0.0.0.0read by ops/start.sh
PORT8000read by ops/start.sh
SERVED_MODELqwen38-spark-engineread by ops/start.sh
NV(a path)read by ops/start.sh
HEAD(a path)read by ops/start.sh
CKPT8(a path)read by ops/start.sh
CKPT16(a path)read by ops/start.sh
CORPUS(a path)read by ops/start.sh
MAX_LEN262144read by ops/start.sh
DEFAULT_MAX_TOKENS32768read by ops/start.sh
PATTERN_STOP(empty)read by ops/start.sh
CONDUCTORonread by ops/start.sh
REASONING_FORMATtagsread by ops/start.sh
REASONING_EFFORTmediumread by ops/start.sh
LEN_FIXED0read by ops/start.sh
LEN_LATCH1read by ops/start.sh
BUDGET16read by ops/start.sh
MEM_CEILING_GIB70read by ops/start.sh
MEM_PEAK_GIB77read by ops/start.sh
RESERVE_SLACK_GIB2read by ops/start.sh
RESIDENT_GB2.5read by ops/start.sh
RESIDENT_STASH_GB1.0read by ops/start.sh
RESIDENT_GUEST_MAX8192read by ops/start.sh
RESIDENT_PIN_GB4.0read by ops/start.sh
RESIDENT_PARK_GB4read by ops/start.sh
CACHE_GB2read by ops/start.sh
STORE_ENTRY_GB1read by ops/start.sh
NARROW_ARM1read by ops/start.sh
END_ANCHORonread by ops/start.sh
END_ALIGNonread by ops/start.sh
DROP_PAGE_CACHE1read by ops/start.sh
REQUEST_TIMEOUT3600read by ops/start.sh
MAX_QUEUE8read by ops/start.sh
QUEUE_TIMEOUT240read by ops/start.sh
FUSE_PROJ0read by ops/start.sh
QWEN38_DF2_TREE_MODEnodesengine switch
QWEN38_TREE_ALIAS_STATE0engine switch
DROP_IDLE1read by ops/start.sh
QWEN38_DRAFT_TEMP0.3engine switch
SAMPLED_TREEdetread by ops/start.sh
QWEN38_FUSED_GDNPREFILL1engine switch
QWEN38_DECODE_ATTN1engine switch
QWEN38_DRAFT_NVFP41engine switch
QWEN38_NVFP4_PREFILL_V21engine switch
QWEN38_NVFP4_PREFILL_V2_UNTIL1025engine switch
QWEN38_NVFP4_SKINNY1engine switch
QWEN38_SKINNY_TILES(a path)engine switch
QWEN38_FUSED_COMMIT1engine switch
QWEN38_FUSED_GDNVERIFY1engine switch
QWEN38_DRAFT_FC_NVFP41engine switch
QWEN38_FUSED_ADDNORM1engine switch
QWEN38_TREE_HOST_DEPTH1engine switch
QWEN38_HOST_WALK1engine switch
QWEN38_VERIFY_GRAPH1engine switch
QWEN38_COMMIT_IN_VERIFY1engine switch
QWEN38_DRAFT_GRAPH1engine switch
QWEN38_GDNV_ONE_WARP1engine switch
QWEN38_TREE_NODES_NARROW16engine switch
QWEN38_TREE_MS8:77.9,16:78.9,24:87.0,32:97.0engine switch
QWEN38_VERIFY_ROWS32engine switch
QWEN38_SKINNY_TILES_WIDE(a path)engine switch
QWEN38_TREE_NODES24engine switch
QWEN38_TREE_WIDE_AFTER32engine switch
QWEN38_DEEP32engine switch
QWEN38_DEEP_AFTER2engine switch
QWEN38_LEN_SWITCH1engine switch
QWEN38_LEN_MODEwideengine switch
QWEN38_STAIR_TABLES(a path)engine switch
QWEN38_STAIR_RHO(a path)engine switch
QWEN38_STAIR_SKIP1engine switch
QWEN38_SKINNY_SRUN1engine switch
QSE_USAGE_LEDGER(a path)server setting
QSE_CONDUCTOR_CONFIG(a path)server setting
QSE_BACKENDS(empty)server setting
QSE_PARALLEL1server setting
QSE_SIDE_MAX_LEN65536server setting
QSE_PARALLEL_FLOOR_GB15server setting
QWEN38_GDNV_CONV_BLOCK32engine switch
QWEN38_GDNV_CONV_WARPS1engine switch
QWEN38_GDNV_WY1engine switch
QWEN38_GDNV_WY_FUSED1engine switch
QWEN38_GDNV_WY_MAXT16engine switch
QWEN38_GDNV_WY_CHAIN_MAXT16engine switch
QWEN38_GDNV_WY_FUSED_MAXT16engine switch
LIVE_ACTIVITYonread by ops/start.sh
QSE_DASHBOARD_LOGINoffserver setting
ROLES_AUTOLOAD(empty)read by ops/start.sh
QWEN38_DECIDER_MODELS(empty)engine switch
QWEN38_DECIDER_DIR(a path)engine switch
QWEN38_NARRATOR_MODEL(empty)engine switch
QWEN38_NARRATOR_DIR(empty)engine switch
QWEN38_SHADOW_MODEL(empty)engine switch
QWEN38_SHADOW_DIR(empty)engine switch
QWEN38_SHADOW_GB4engine switch
QWEN38_SHADOW_GRID512engine switch
QWEN38_SHADOW_DISKautoengine switch
QWEN38_SHADOW_DISK_GB20engine switch
QWEN38_PROBE_SNAPSHOTSoffengine switch
QWEN38_PROBE_DIR(a path)engine switch
QSE_DISK_CACHE(a path)server setting
SESSION_SPILLonread by ops/start.sh
SESSION_SPILL_GB64read by ops/start.sh
SESSION_SPILL_CODECzstdread by ops/start.sh
DISK_WRITE_BUDGET_GB200read by ops/start.sh
VISIONonread by ops/start.sh
RESPONSE_CACHEoffread by ops/start.sh
QSE_STATUS_PORT(empty)server setting
QSE_PROFILE_NAME(a path)server setting
QSE_SETUP_ENV_FILE(a path)server setting

30.2 Engine switches

engine/settings.py lists every engine switch with its default and the module that reads it; tests/test_settings.py fails when a module reads one another way. The table shows each switch, its code default, and the value the served profile sets when it sets one.

Table 30.2 Every QWEN38_* switch in engine/settings.py, with the value ops/serve.env sets
VariableCode defaultServed value • read in
QWEN38_ATTN_STAGES31tools/attn_kernels.py
QWEN38_BLOCKING_SYNC0server/app.py
QWEN38_CLIENT_CWDnoteserver/conductor/router.py
QWEN38_CLIENT_REASONING*=reasoning_content,hermes=tagsserver/compat.py
QWEN38_COMMIT_IN_VERIFY01 • engine/model.py
QWEN38_CONDUCTOR_FITmodelserver/conductor/modelfit.py
QWEN38_CORPUSnoneengine/drafters/ngram.py
QWEN38_DECIDER_COLLATEcallserver/decider_api.py
QWEN38_DECIDER_DEVICEautoserver/decider_api.py
QWEN38_DECIDER_DIR~/.qwen38-spark-engine/deciders/laya(a path) • server/decider_api.py
QWEN38_DECIDER_MAX_BATCH64server/decider_api.py
QWEN38_DECIDER_MAX_QUEUE256server/decider_api.py
QWEN38_DECIDER_MODELSnoneserver/decider_api.py
QWEN38_DECIDER_WAIT_MS2server/decider_api.py
QWEN38_DECODE_ATTN01 • engine/model.py
QWEN38_DEEP032 • server/app.py
QWEN38_DEEP_AFTER22 • server/app.py
QWEN38_DF2_TEMP1.0engine/drafters/dflash2.py
QWEN38_DF2_TREE_MODEpathsnodes • engine/drafters/dflash2.py
QWEN38_DFLASH2noneengine/drafters/dflash2.py
QWEN38_DRAFT_EXL3noneengine/drafters/dflash2.py
QWEN38_DRAFT_FC_NVFP401 • engine/drafters/dflash2.py
QWEN38_DRAFT_GRAPH01 • engine/drafters/dflash2.py
QWEN38_DRAFT_HEADnoneengine/drafters/dflash2.py
QWEN38_DRAFT_HEAD_EXL3noneengine/drafters/dflash2.py
QWEN38_DRAFT_HEAD_NVFP40engine/drafters/dflash2.py
QWEN38_DRAFT_NVFP401 • engine/drafters/dflash2.py
QWEN38_DRAFT_TEMP1.00.3 • engine/drafters/dflash2.py
QWEN38_DSPARKnoneengine/drafters/dspark.py
QWEN38_DSPARK_NO_YARNnoneengine/drafters/dspark.py
QWEN38_END_ALIGN_MOVEDonserver/endalign.py
QWEN38_END_ALIGN_REASONINGonserver/endalign.py
QWEN38_EXL3noneengine/loader.py
QWEN38_EXL3_CHUNK_UNTIL128tools/exl3_linear.py
QWEN38_EXL3_FUSE1engine/loader.py
QWEN38_EXL3_MLP_BRIDGE1tools/exl3_linear.py
QWEN38_EXL3_ROWGRID1tools/exl3_linear.py
QWEN38_EXL3_SILU_FUSED0tools/exl3_linear.py
QWEN38_EXL3_STAGES3tools/exl3_linear.py
QWEN38_EXL3_TILESnonetools/exl3_linear.py
QWEN38_FN_DENSE0engine/models/flashnext/engine.py
QWEN38_FN_DRAFT_HOT32768engine/models/flashnext/serving.py
QWEN38_FN_DROP_SHARD_CACHE1engine/models/flashnext/load.py
QWEN38_FN_FOLD_COMMIT1engine/models/flashnext/engine.py
QWEN38_FN_GEMV_SPLIT1tools/fn_kernels.py
QWEN38_FN_LOOKUP0engine/models/flashnext/serving.py
QWEN38_FN_MIXint8engine/models/flashnext/pack.py
QWEN38_FN_MOE_ST3tools/fn_kernels.py
QWEN38_FN_MOE_WARPS4tools/fn_kernels.py
QWEN38_FN_PDL1tools/fn_kernels.py
QWEN38_FN_PREFILLkernelsengine/models/flashnext/engine.py
QWEN38_FN_PREFILL_CHUNK4096engine/models/flashnext/engine.py
QWEN38_FN_PREFILL_MMfp32tools/fn_prefill_kernels.py
QWEN38_FN_TABLEwarmengine/models/flashnext/load.py
QWEN38_FN_TABLE_CACHE_GB2engine/models/flashnext/load.py
QWEN38_FN_WARM_TABLE1engine/models/flashnext/load.py
QWEN38_FP8_HEADnoneengine/loader.py
QWEN38_FP8_TILESnonetools/fp8_linear.py
QWEN38_FUSED_ADDNORM01 • engine/model.py
QWEN38_FUSED_ATTN0engine/model.py
QWEN38_FUSED_ATTN_PREP0engine/model.py
QWEN38_FUSED_COMMIT01 • engine/model.py
QWEN38_FUSED_GDN1engine/model.py
QWEN38_FUSED_GDNBLOCK1engine/model.py
QWEN38_FUSED_GDNPRE1engine/model.py
QWEN38_FUSED_GDNPREFILL01 • engine/model.py
QWEN38_FUSED_GDNTREE1engine/model.py
QWEN38_FUSED_GDNVERIFY01 • engine/model.py
QWEN38_FUSED_HEAD1engine/model.py
QWEN38_FUSED_NORM1engine/model.py
QWEN38_FUSE_PROJ0tools/nvfp4_linear_v2.py
QWEN38_GDNV_BV16tools/gdn_verify_kernels.py
QWEN38_GDNV_CONV_BLOCK25632 • tools/gdn_verify_kernels.py
QWEN38_GDNV_CONV_WARPS41 • tools/gdn_verify_kernels.py
QWEN38_GDNV_ONE_WARP01 • tools/gdn_verify_kernels.py
QWEN38_GDNV_TREE_PF0tools/gdn_verify_kernels.py
QWEN38_GDNV_WARPS4tools/gdn_verify_kernels.py
QWEN38_GDNV_WY01 • tools/gdn_verify_kernels.py
QWEN38_GDNV_WY_CHAIN_MAXT3216 • tools/gdn_verify_kernels.py
QWEN38_GDNV_WY_FUSED01 • tools/gdn_verify_kernels.py
QWEN38_GDNV_WY_FUSED_MAXT3216 • tools/gdn_verify_kernels.py
QWEN38_GDNV_WY_KC0tools/gdn_verify_kernels.py
QWEN38_GDNV_WY_MAXT3216 • tools/gdn_verify_kernels.py
QWEN38_GDN_AB0engine/model.py
QWEN38_GDN_CHUNK64engine/model.py
QWEN38_GDN_MMfp32engine/gdn.py
QWEN38_GDN_MM_FROM64engine/gdn.py
QWEN38_GDN_PREFILL_BV32tools/gdn_prefill_kernels.py
QWEN38_GDN_PREFILL_NOREP0engine/model.py
QWEN38_GDN_PREFILL_PRECbf16x3tools/gdn_prefill_kernels.py
QWEN38_GDN_PREFILL_PREC_Atf32tools/gdn_prefill_kernels.py
QWEN38_GDN_PREFILL_PREC_SCANnonetools/gdn_prefill_kernels.py
QWEN38_GDN_PREFILL_SERIES0tools/gdn_prefill_kernels.py
QWEN38_GDN_PREFILL_STAGES1tools/gdn_prefill_kernels.py
QWEN38_GDN_PREFILL_WARPS_INTRA8tools/gdn_prefill_kernels.py
QWEN38_GDN_PREFILL_WARPS_SCAN8tools/gdn_prefill_kernels.py
QWEN38_GQA_FROM64engine/model.py
QWEN38_GRAPH_MAX_CTX32768engine/verify_graph.py
QWEN38_HEAD_GEMMnonetools/head_gemv.py
QWEN38_HOST_ASYNC0engine/model.py
QWEN38_HOST_WALK01 • engine/drafters/dflash2.py
QWEN38_KV_FP80engine/model.py
QWEN38_LATCH_PRICE0engine/lenrouter.py
QWEN38_LAUNCH_FIRST0server/app.py
QWEN38_LEN_MODEnonewide • engine/lenrouter.py
QWEN38_LEN_SWITCH01 • engine/lenrouter.py
QWEN38_LOWER_RIGHT_FROM64engine/model.py
QWEN38_MEMORY_PROXIESnoneserver/app.py
QWEN38_MEMORY_WRITER_TEXTnoneserver/app.py
QWEN38_MODELnoneengine/config.py
QWEN38_MODEL_NAMEnoneserver/conductor/schema.py
QWEN38_NARRATOR_DEVICEautoserver/conductor/narrator.py
QWEN38_NARRATOR_DIRnoneserver/conductor/narrator.py
QWEN38_NARRATOR_MODELnoneserver/conductor/narrator.py
QWEN38_NOTE_ANCHORonserver/conductor/router.py
QWEN38_NOTE_DEDUPpartsserver/conductor/router.py
QWEN38_NVFP4noneengine/loader.py
QWEN38_NVFP4_BLOCK_TILES0tools/nvfp4_linear.py
QWEN38_NVFP4_DEQUANT_FROM512tools/nvfp4_linear.py
QWEN38_NVFP4_PREFILL_V201 • tools/nvfp4_linear.py
QWEN38_NVFP4_PREFILL_V2_UNTIL10241025 • tools/nvfp4_linear.py
QWEN38_NVFP4_SKINNY01 • tools/nvfp4_skinny.py
QWEN38_NVFP4_SPLITK0tools/nvfp4_linear.py
QWEN38_NVFP4_V21tools/nvfp4_linear_v2.py
QWEN38_NVFP4_V2_BN0tools/nvfp4_linear_v2.py
QWEN38_NVFP4_V2_DOTS1tools/nvfp4_linear_v2.py
QWEN38_NVFP4_V2_MAX32tools/nvfp4_linear_v2.py
QWEN38_NVFP4_V2_MIN1tools/nvfp4_linear_v2.py
QWEN38_NVFP4_V2_PREFETCH0tools/nvfp4_linear_v2.py
QWEN38_NVFP4_V2_W0tools/nvfp4_linear_v2.py
QWEN38_PREFILL_CAUSAL1engine/model.py
QWEN38_PREFILL_WINDOW8192engine/cache.py
QWEN38_PREFILL_WINDOW_FREE32768engine/cache.py
QWEN38_PROBE_DAY_MB100server/probe.py
QWEN38_PROBE_DIR~/.qwen38-spark-engine/probe(a path) • server/probe.py
QWEN38_PROBE_EVERY1024server/probe.py
QWEN38_PROBE_SNAPSHOTSoffoff • server/probe.py
QWEN38_RANKK1engine/model.py
QWEN38_REGENERATEsampleserver/app.py
QWEN38_REGEN_TEMPERATURE0.7server/app.py
QWEN38_REGEN_TOP_K20server/app.py
QWEN38_REGEN_TOP_P0.95server/app.py
QWEN38_REREAD_SAY_TOKENS8192server/app.py
QWEN38_SAMPLED_CUT0engine/router.py
QWEN38_SAMPLE_BATCH1engine/sample.py
QWEN38_SAMPLE_NUCLEUS1engine/sample.py
QWEN38_SAMPLE_TOPP_K1024engine/sample.py
QWEN38_SCALE_ONweighttools/fp8_linear.py
QWEN38_SESSION_GENERATIONSonserver/conductor/router.py
QWEN38_SHADOW_DIRnoneserver/conductor/shadow.py
QWEN38_SHADOW_DISKnoneauto • server/conductor/shadow.py
QWEN38_SHADOW_DISK_GB2020 • server/conductor/shadow.py
QWEN38_SHADOW_GB44 • server/conductor/shadow.py
QWEN38_SHADOW_GRID512512 • server/conductor/shadow.py
QWEN38_SHADOW_MODELnoneserver/conductor/shadow.py
QWEN38_SHADOW_POOL_SLACK_GIB2server/conductor/shadow.py
QWEN38_SIDE_CARRYonserver/app.py
QWEN38_SIDE_CONTINUEviewserver/app.py
QWEN38_SIDE_CONVonserver/app.py
QWEN38_SIDE_DISKreadserver/app.py
QWEN38_SIDE_GUESTSonserver/app.py
QWEN38_SIDE_HOME_WAIT_S10server/app.py
QWEN38_SIDE_MIN_ROOM16384server/app.py
QWEN38_SIDE_NEW_FIRSTonserver/app.py
QWEN38_SIDE_NEW_WAIT_S20server/app.py
QWEN38_SIDE_RESIDENT_GB0.5server/app.py
QWEN38_SIDE_SLOT0_WAIT_S3server/app.py
QWEN38_SIDE_STASH_GB1.0server/app.py
QWEN38_SKINNY_LDW0tools/nvfp4_skinny.py
QWEN38_SKINNY_PDL0tools/nvfp4_skinny.py
QWEN38_SKINNY_SRUN01 • tools/nvfp4_skinny.py
QWEN38_SKINNY_SSTUB0tools/nvfp4_skinny.py
QWEN38_SKINNY_TILESnone(a path) • tools/nvfp4_skinny.py
QWEN38_SKINNY_TILES_Bnonetools/nvfp4_skinny.py
QWEN38_SKINNY_TILES_Cnonetools/nvfp4_skinny.py
QWEN38_SKINNY_TILES_WIDEnone(a path) • tools/nvfp4_skinny.py
QWEN38_SKINNY_TILES_WIDE_Bnonetools/nvfp4_skinny.py
QWEN38_SKINNY_XSTUB0tools/nvfp4_skinny.py
QWEN38_SPILL_PARKonengine/cache.py
QWEN38_STAIR_MAX_NODESnoneengine/lenrouter.py
QWEN38_STAIR_RHOnone(a path) • engine/lenrouter.py
QWEN38_STAIR_SKIP01 • engine/lenrouter.py
QWEN38_STAIR_TABLESnone(a path) • engine/lenrouter.py
QWEN38_STATUS_CLIENTSopen-webuiserver/conductor/states.py
QWEN38_SUFFIX_STORE~/.qwen38-spark-engine/suffixserver/app.py
QWEN38_TANDEM_SCRATCHnoneserver/conductor/packages.py
QWEN38_TANDEM_URLnoneserver/conductor/packages.py
QWEN38_TOOL_FITonserver/conductor/router.py
QWEN38_TREE_ALIAS_STATE00 • engine/model.py
QWEN38_TREE_CHAIN_DELEGATE1engine/model.py
QWEN38_TREE_HOST_DEPTH01 • engine/model.py
QWEN38_TREE_MSnone8:77.9,16:78.9,24:87.0,32:97.0 • engine/router.py
QWEN38_TREE_NODES024 • engine/router.py
QWEN38_TREE_NODES_NARROW016 • engine/router.py
QWEN38_TREE_WIDE_AFTER032 • engine/lenrouter.py
QWEN38_TWO_STREAM0engine/model.py
QWEN38_UT_INVERSE1engine/gdn.py
QWEN38_VERIFY_GRAPH01 • engine/model.py
QWEN38_VERIFY_ROWS1632 • engine/model.py
QWEN38_VERIFY_TILES1tools/nvfp4_verify_tiles.py
QWEN38_WARM_PREFILL_TOKENS2600server/app.py
QWEN38_WY_BLOCK8tools/gdn_wy_kernels.py
QWEN38_WY_BV32tools/gdn_wy_kernels.py
QWEN38_WY_DBG0tools/gdn_wy_kernels.py
QWEN38_WY_PRECieeetools/gdn_wy_kernels.py
QWEN38_WY_WARPS4tools/gdn_wy_kernels.py
QWEN38_WY_WARPS_PREP4tools/gdn_wy_kernels.py

30.3 Server variables

Table 30.3 QSE_* variables: the server’s settings from the environment or serve.env
VariableRead in
QSE_ADMIN_TOKENops/make-secrets.sh, ops/serve.env, ops/start.sh and 7 more
QSE_ANSWER_RESERVEserver/app.py
QSE_ASSETSops/profiles/_flashnext.env, ops/profiles/_lfm25.env, ops/profiles/_nemotron.env and 13 more
QSE_BACKENDSops/serve.env, ops/start.sh, server/app.py and 1 more
QSE_BARRIER_IDLE_OWNERops/serve.env, server/slots.py
QSE_CHAT_DATAops/chatd.sh, ops/sandbox/uninstall.sh, server/chat_forward.py
QSE_CHAT_FORWARD_KEYops/chatd.sh, ops/make-secrets.sh, server/chat_forward.py
QSE_CHAT_URLserver/chat_forward.py
QSE_COMMUNITY_DIRserver/setup/community.py
QSE_COMMUNITY_ENV_DIRops/serve.env, ops/use-profile.sh
QSE_COMMUNITY_URLops/serve.env, server/setup/community.py
QSE_COMPACTIONserver/app.py
QSE_COMPACTION_IDLE_Sserver/app.py
QSE_COMPACTION_MIN_TOKENSserver/app.py
QSE_COMPACTION_PREPAREserver/app.py
QSE_CONDUCTOR_CONFIGops/serve.env, ops/start.sh, ops/use-profile.sh and 3 more
QSE_CONDUCTOR_ROOTops/roles.sh, server/conductor/residency.py
QSE_DASHBOARD_LOGINops/serve.env, ops/start.sh, proxy/__main__.py and 2 more
QSE_DISK_ADOPT_FROMops/serve.env, server/diskcache.py
QSE_DISK_CACHEops/profiles/_exl3.env, ops/profiles/_flashnext.env, ops/profiles/_lfm25.env and 7 more
QSE_ENGINE_FLAGSops/profiles/_flashnext.env, ops/profiles/_lfm25.env, ops/profiles/_nemotron.env and 3 more
QSE_ENGINE_PORTops/engine_status.py
QSE_EXL3_BPWops/profiles/_exl3.env, ops/profiles/exl3-2.5.env, ops/profiles/exl3-3.0.env and 4 more
QSE_FAKE_CARD_DIRserver/fake_engine.py
QSE_FETCH_ASSETSops/use-profile.sh, server/setup/apply.py
QSE_FN_BPWops/profiles/_flashnext.env, ops/profiles/flashnext-2.05.env, ops/profiles/flashnext-3.05.env and 3 more
QSE_FN_TABLEops/profiles/_flashnext.env, ops/profiles/flashnext-2.05.env, ops/profiles/flashnext-3.05.env and 3 more
QSE_FN_VISION_FILEops/profiles/_flashnext.env, ops/profiles/flashnext-4.05.env
QSE_IMAGE_BACKENDserver/app.py
QSE_KV_HARD_FLOOR_GBops/profiles/_flashnext.env, ops/serve.env, server/app.py
QSE_KV_MARGIN_ROWSserver/app.py
QSE_KV_POOLengine/kvpool.py, ops/profiles/_flashnext.env, ops/profiles/_lfm25.env and 4 more
QSE_KV_POOL_MIN_ROWSengine/kvpool.py
QSE_LFM_VARIANTops/profiles/_lfm25.env, ops/profiles/lfm25-bf16.env, ops/profiles/lfm25-exl3-2.5.env and 5 more
QSE_LIVE_DECODE_WARMUP_TOKENSops/serve.env, server/live.py
QSE_LIVE_HZops/serve.env, ops/start.sh, server/app.py and 1 more
QSE_LIVE_MOSTLY_CACHED_PCTops/serve.env, server/live.py
QSE_LIVE_MOSTLY_CACHED_TOKENSops/serve.env, server/live.py
QSE_LIVE_NOW_WINDOW_Sops/serve.env, server/live.py
QSE_LIVE_PREFILL_WARMUP_CHUNKSops/serve.env, server/live.py
QSE_MEM_NEED_GIBops/profiles/flashnext-2.05.env, ops/profiles/flashnext-3.05.env, ops/profiles/flashnext-4.05.env and 22 more
QSE_METRICS_TOKENops/make-secrets.sh, ops/start.sh, proxy/app.py and 1 more
QSE_NH_DENSE_ROWSengine/models/nemotron_h/engine.py
QSE_NH_DIRops/profiles/_nemotron.env, ops/profiles/nemotron-super-vl-exl3-2.0.env, ops/profiles/nemotron-super-vl-exl3-4.0.env and 1 more
QSE_NH_GGUFengine/models/nemotron_h/load.py, ops/profiles/nemotron-bolt-iq2.env, server/diskcache.py
QSE_NH_HEADops/profiles/_nemotron.env, ops/profiles/nemotron-bolt-exl3-2.0.env, ops/profiles/nemotron-bolt-exl3-2.5.env and 9 more
QSE_NH_LILICORRengine/models/nemotron_h/serving.py, ops/profiles/nemotron-bolt-exl3-2.0.env, ops/profiles/nemotron-bolt-exl3-2.5.env and 8 more
QSE_NH_LOOKUPengine/models/nemotron_h/serving.py
QSE_NH_MODELops/profiles/_nemotron.env, ops/profiles/nemotron-bolt-exl3-2.0.env, ops/profiles/nemotron-bolt-exl3-2.5.env and 10 more
QSE_NH_VARIANTops/profiles/_nemotron.env, ops/profiles/nemotron-bolt-exl3-2.0.env, ops/profiles/nemotron-bolt-exl3-2.5.env and 10 more
QSE_NO_ROLLBACKops/use-profile.sh, server/setup/apply.py
QSE_OPS_DIRops/start.sh, server/setup/apply.py, server/setup/device.py
QSE_PAGE_CACHE_DROPops/profiles/_flashnext.env, ops/profiles/_lfm25.env, ops/profiles/_nemotron.env and 2 more
QSE_PAGE_CACHE_KEEPops/profiles/_flashnext.env, ops/serve.env
QSE_PARALLELops/profiles/_flashnext.env, ops/profiles/_lfm25.env, ops/profiles/_nemotron.env and 3 more
QSE_PARALLEL_BATCHserver/app.py
QSE_PARALLEL_CUTserver/app.py
QSE_PARALLEL_DRAFTserver/app.py
QSE_PARALLEL_FLOOR_GBengine/kvpool.py, ops/profiles/_flashnext.env, ops/serve.env and 1 more
QSE_PARALLEL_LAYER_YIELDserver/app.py
QSE_PARALLEL_SWITCH_MSserver/app.py
QSE_PARALLEL_TIMINGserver/app.py
QSE_PARALLEL_WINDOW_ROWSserver/app.py
QSE_PRICE_TABLEserver/app.py
QSE_PROFILE_NAMEops/serve.env
QSE_PROFILE_OVERRIDEops/serve.env, ops/use-profile.sh, server/setup/apply.py and 1 more
QSE_ROLES_DYNAMICops/serve.env, server/rolemem.py
QSE_ROLE_MAX_HOLD_Sops/serve.env, server/rolemem.py
QSE_ROLE_RELOAD_MARGIN_GBops/serve.env, server/rolemem.py
QSE_ROLE_RELOAD_Sops/serve.env, server/rolemem.py
QSE_ROLE_THRASH_Sops/serve.env, server/rolemem.py
QSE_ROLE_TICK_FAKEserver/app.py
QSE_ROLE_TICK_Sserver/rolemem.py
QSE_ROLE_UNLOAD_LAYAops/serve.env, server/app.py, server/rolemem.py
QSE_SANDBOX_SOCKETops/sandbox/install.sh
QSE_SECRETSinstall.sh, ops/start.sh, server/setup/apply.py
QSE_SESSION_Sserver/auth.py
QSE_SETUP_ENVops/serve.env, server/setup/apply.py
QSE_SETUP_ENV_FILEops/serve.env
QSE_SETUP_MODEops/start.sh
QSE_SIDE_GRAPHSops/serve.env, server/app.py
QSE_SIDE_MAX_LENops/profiles/_flashnext.env, ops/serve.env, server/app.py
QSE_SIDE_RESIDENT_GBserver/app.py
QSE_SIDE_SLOT_CONST_GBops/serve.env, server/app.py
QSE_STATE_DIRops/chatd.sh, ops/make-secrets.sh
QSE_STATUS_FILEops/engine_status.py
QSE_STATUS_KEEPops/hold.sh, ops/stop.sh
QSE_STATUS_PORTops/engine_status.py, ops/hold.sh, ops/serve.env and 1 more
QSE_TESTproxy/app.py, server/app.py, server/ledger.py
QSE_USAGE_DEFAULTserver/app.py
QSE_USAGE_LEDGERinstall.sh, ops/serve.env, ops/start.sh and 3 more
QSE_WEIGHTSengine/models/flashnext/serving.py, engine/models/lfm2_moe/serving.py, engine/models/nemotron_h/serving.py and 11 more
QSE_WEIGHTS_ALSOops/profiles/_flashnext.env, ops/use-profile.sh
QSE_WEIGHTS_DIRops/profiles/_exl3.env, ops/profiles/_flashnext.env, ops/profiles/_lfm25.env and 6 more
QSE_WEIGHTS_FILESops/profiles/_exl3.env, ops/profiles/_flashnext.env, ops/profiles/_lfm25.env and 6 more
QSE_WEIGHTS_GBops/profiles/exl3-2.5.env, ops/profiles/exl3-3.0.env, ops/profiles/exl3-3.5.env and 30 more
QSE_WEIGHTS_HFops/profiles/_exl3.env, ops/profiles/_flashnext.env, ops/profiles/lfm25-bf16.env and 22 more
QSE_WEIGHTS_REVISIONops/profiles/_flashnext.env, ops/profiles/flashnext-2.05.env, ops/profiles/flashnext-3.05.env and 25 more
QSE_WREN_MODELserver/setup/wren.py

The most used: QSE_CONDUCTOR_CONFIG, QSE_USAGE_LEDGER, QSE_DISK_CACHE and QSE_BACKENDS name the conductor’s directory, the ledger, the disk tier’s directory and the proxy’s config database; ops/start.sh passes them to the service only, so a benchmark server started with serve.env exported never writes them. QSE_DASHBOARD_LOGIN turns the dashboard login on. QSE_ADMIN_TOKEN and QSE_METRICS_TOKEN live in secrets.env, which ops/make-secrets.sh writes.

30.4 Proxy, collector and plugin variables

Table 30.4 TANDEM_* variables: the proxy, the collector, the plugins and the installer
VariableExampleWhat it sets
TANDEM_BACKENDSdeepseek,vllm1the backends the environment declares
TANDEM_BACKEND_<ID>_KINDdeepseekgeneric | tandemllm | vllm | sglang | openai | deepseek
TANDEM_BACKEND_<ID>_URLhttps://api.deepseek.com/v1
TANDEM_BACKEND_<ID>_KEY(a key)held in memory, never stored
TANDEM_BACKEND_<ID>_LABELDeepSeek
TANDEM_BACKEND_<ID>_MODELSdeepseek-flash,deepseek-v4-pro
TANDEM_BACKEND_<ID>_MODELS_MODEdiscoverdiscover (GET /models, plus MODELS) | list
TANDEM_BACKEND_<ID>_FALLBACKopenrouterbackends tried after this one, in order
TANDEM_BACKEND_<ID>_MAX_INFLIGHTnonerequests at once, past it a fallback or a 503; none (the default): no limit from the proxy, the backend takes what it accepts
TANDEM_BACKEND_<ID>_ENABLED1
TANDEM_BACKEND_<ID>_INJECT_USAGE1ask a stream for its usage frame
TANDEM_BACKEND_<ID>_HARNESSoffoff | shadow | on
TANDEM_BACKEND_<ID>_HARNESS_PROFILEcodingthe conductor profile of its requests
TANDEM_BACKEND_<ID>_WRITERautothe background memory writer on this backend (proxy/memwriter.py): auto (on, off for a paid cloud model) | off | shadow | on
TANDEM_BACKEND_<ID>_WRITER_USD_DAY0.25its spend cap a day on a paid model
TANDEM_BACKEND_<ID>_WRITER_RUNS_DAY48its runs a day
TANDEM_BACKEND_<ID>_WRITER_PROMPT_TOKENS32000its prompt at most (older messages dropped)
TANDEM_BACKEND_<ID>_TIMEOUT_CONNECT10seconds; also _TIMEOUT_FIRST_BYTE, _TIMEOUT_IDLE
TANDEM_BACKEND_<ID>_HOSTautowhere the System view reads the backend’s machine: auto (this machine when the URL is), same, collector, exporter, off
TANDEM_BACKEND_<ID>_HOST_URL(a URL)the remote collector (python -m proxy.hostcollect), or a node_exporter page
TANDEM_BACKEND_<ID>_HOST_DCGM_URL(a URL)a DCGM exporter page (mode exporter)
TANDEM_COLLECTOR_TOKEN...the remote collectors’ bearer token, in memory only (proxy/hostcollect.py)
TANDEM_ROUTE_<n>gpt-*=openairouting rules, ordered by n
TANDEM_PRICE_<n>deepseek/deepseek-flash=0.30,0.006,1.2USD per million: input, cached input, output, and optionally cache write
TANDEM_PRICE_<n>_OFFPEAK0.15,0.003,0.6the same model outside the provider’s peak hours (DeepSeek)
TANDEM_API_KEYS(a key)the proxy’s own keys, in memory only
TANDEM_SECRETS_KEY<base64of 32 bytes> the master key (proxy/secrets.py)
TANDEM_ADMIN_TOKENread in ops/dash.env.example, proxy/__main__.py
TANDEM_BACKEND_DEEPSEEK_KEYread in ops/dash.env.example
TANDEM_BACKEND_DEEPSEEK_KINDread in ops/dash.env.example
TANDEM_BACKEND_DEEPSEEK_LABELread in ops/dash.env.example
TANDEM_BACKEND_VLLM1_FALLBACKread in ops/dash.env.example
TANDEM_BACKEND_VLLM1_HOSTread in ops/dash.env.example
TANDEM_BACKEND_VLLM1_HOST_DCGM_URLread in ops/dash.env.example
TANDEM_BACKEND_VLLM1_HOST_URLread in ops/dash.env.example
TANDEM_BACKEND_VLLM1_KINDread in ops/dash.env.example
TANDEM_BACKEND_VLLM1_MAX_INFLIGHTread in ops/dash.env.example
TANDEM_BACKEND_VLLM1_TIMEOUT_FIRST_BYTEread in ops/dash.env.example
TANDEM_BACKEND_VLLM1_URLread in ops/dash.env.example
TANDEM_COLLECTread in proxy/launch.py
TANDEM_COLLECT_BASEread in proxy/launch.py
TANDEM_COLLECT_TOKENread in plugins/sglang/tandem_sglang_plugin/_push.py, plugins/vllm/tandem_vllm_plugin/__init__.py
TANDEM_COLLECT_URLread in plugins/sglang/tandem_sglang_plugin/_push.py, plugins/vllm/tandem_vllm_plugin/__init__.py
TANDEM_CONDUCTORread in proxy/__main__.py
TANDEM_CONFIG_DBread in ops/dash.env.example, proxy/__main__.py
TANDEM_DASHBOARD_LOGINread in ops/dash.env.example, proxy/__main__.py
TANDEM_DIRread in install.sh
TANDEM_HEALTH_TIMEOUTread in install.sh
TANDEM_HOSTread in install.sh, ops/dash.env.example
TANDEM_MIN_FREE_GIBread in install.sh
TANDEM_MODEL_NAMEread in install.sh
TANDEM_NOTIFY_URLread in server/conductor/monitor/notify.py, server/conductor/monitor/sessiontasks.py
TANDEM_PORTread in install.sh, ops/dash.env.example
TANDEM_PRICE_1read in ops/dash.env.example
TANDEM_PRICE_1_OFFPEAKread in ops/dash.env.example
TANDEM_REFread in install.sh
TANDEM_REPOread in install.sh
TANDEM_ROUTE_1read in ops/dash.env.example
TANDEM_SCRATCHread in server/conductor/packages.py
TANDEM_SKIP_MEMCHECKread in install.sh
TANDEM_URLread in server/conductor/packages.py, server/laya_kit/laya_drive.py
TANDEM_USAGE_LEDGERread in ops/dash.env.example, proxy/__main__.py

30.5 The conductor’s documents

Table 30.5 The conductor’s versioned documents.
documentwhat it holdsedited on
profilesone document per profile: mode, decisions, task modes and caps, thinking, ui, outcomes, library, memory, shadowProfiles
routerthe classes and their policy, the classifier stages and thresholds, the structural rules, side shapes, outcomes, libraryRouting
packagesevery package: source, switch, limits, flagsPackages
rolesevery role’s contractProfiles, Roles
settingsthe default profile, transcripts, the disk tier, memory notes and the writerMemory, Profiles
decidersthe decision models, their questions, Laya for scriptsDeciders
residencythe floor, the margin, the settle time, the load order, the claimsProfiles, Residency
monitorthe session monitor’s policy (version 0 is ops/supervisor.yaml)Monitor
harnessthe harness’s settings per backend, behind the proxyBackends

A document is JSON, checked against the conductor’s schema (GET /v1/conductor/meta serves it, and docs/contract/conductor-v1/ holds a copy). A version stored by an older release loads with defaults for every field it lacks, and the journal says so once.