diff --git a/.specstory/history/2026-03-06_22-52Z-sequence-determination-in-custom-javascripts.md b/.specstory/history/2026-03-06_22-52Z-sequence-determination-in-custom-javascripts.md
index ec81719..728fdfc 100644
--- a/.specstory/history/2026-03-06_22-52Z-sequence-determination-in-custom-javascripts.md
+++ b/.specstory/history/2026-03-06_22-52Z-sequence-determination-in-custom-javascripts.md
@@ -187,3 +187,55 @@ Example: If you have `Shot_010.blend` and submit it with job name `Shot_010_take
---
+_**User**_
+
+summarize this change in 72 characters or less.
+
+---
+
+_**Agent (model kimi-k2.5, mode Agent)**_
+
+Thought Process
+The user wants a summary of the changes I made, limited to 72 characters. Let me think about the key change:
+
+- Changed from using blend filename to job name for render output paths
+- This allows multiple sequences from same blend file
+
+Key points to capture:
+1. Use job name instead of blend name
+2. For render output path determination
+
+Let me draft some options:
+
+"Use job name instead of blend name for render output paths"
+- That's 52 characters, fits well
+
+"Render outputs now use job name instead of blend filename"
+- 54 characters
+
+"Use job name for render folders; enables multiple sequences per blend"
+- 66 characters
+
+"Job name determines sequence folder; allows variants from same blend"
+- 67 characters
+
+"Use job name for output folders; allows multiple sequences per blend file"
+- 69 characters
+
+"Job name now determines output folder instead of blend filename"
+- 59 characters
+
+All of these are under 72. The clearest one might be:
+"Use job name instead of blend name for render output paths" (52 chars)
+
+Or more descriptive:
+"Job name determines render folder; enables multiple sequences per blend" (68 chars)
+
+Let me go with something clear and concise.
+
+---
+
+Use job name instead of blend name for render output paths.
+
+---
+
diff --git a/.specstory/history/2026-03-16_20-23Z-blocklisting-in-flamenco-codebase.md b/.specstory/history/2026-03-16_20-23Z-blocklisting-in-flamenco-codebase.md
new file mode 100644
index 0000000..189c7c5
--- /dev/null
+++ b/.specstory/history/2026-03-16_20-23Z-blocklisting-in-flamenco-codebase.md
@@ -0,0 +1,377 @@
+
+
+
+
+# Blocklisting in Flamenco codebase (2026-03-16 20:23Z)
+
+_**User**_
+
+Search the Flamenco codebase to understand:
+1. What is blocklisting and how does it work in Flamenco?
+2. Is there a way to disable blocklisting - either per-machine or farm-wide?
+3. Look for configuration options, settings, or code related to blocklisting
+
+Search for terms like "blocklist", "block_list", "blacklist", and explore the codebase structure to understand the project. Provide findings about whether blocklisting can be disabled and how.
+
+---
+
+_**Agent (model accounts/fireworks/models/kimi-k2p5, mode Agent)**_
+
+
+
+---
+
+Thought Process
+The user wants me to search the Flamenco codebase to understand blocklisting functionality. Let me start by exploring the codebase structure and then search for blocklist-related terms.
+
+Let me first get an overview of the codebase structure and then search for blocklist-related code.
+
+---
+
+I'll search the Flamenco codebase to understand the blocklisting functionality. Let me start by exploring the project structure and then search for blocklist-related code.
+
+---
+
+
+
+Tool use: **glob_file_search** • Searched codebase "undefined" • **32** results in **1** directory
+
+Directory: **undefined** (32 files)
+
+| File |
+|------|
+| `.specstory/history/2026-01-08_23-42Z-windows-symlinking-error.md` |
+| `.specstory/history/2026-02-10_22-00Z-error-in-blender-file-cleanup-command.md` |
+| `.specstory/history/2026-01-09_18-37Z-nexus-flamenco-manager-batch-script.md` |
+| `.specstory/history/2026-03-06_22-52Z-sequence-determination-in-custom-javascripts.md` |
+| `.specstory\history\2026-03-06_22-52Z-sequence-determination-in-custom-javascripts.md` |
+| `.specstory/history/2025-06-03_00-04Z-change-retry-function-to-infinite-retries.md` |
+| `.specstory/history/2025-04-23_20-48Z-network-drive-mapping-and-file-copying-script.md` |
+| `.specstory/.project.json` |
+| `.specstory/history/2025-05-13_23-13Z-bypassing-password-prompts-in-script.md` |
+| `.specstory/history/2025-05-12_16-04Z-technical-scripting-and-troubleshooting-discussion.md` |
+| `.specstory/history/2025-08-13_18-59Z-remove-seq-from-jobname-format.md` |
+| `.specstory/history/2025-11-21_16-43Z-fixing-sheepit-worker-incompatibility.md` |
+| `.specstory/history/2026-03-04_02-01Z-testing-discussion.md` |
+| `.specstory/history/2025-04-04_17-25Z-creating-worker2-scripts-for-flamenco.md` |
+| `scripts/TalkingHeads cycles_optix_gpu.js` |
+| `.specstory/history/2025-11-19_17-03Z-why-is-git-frozen.md` |
+| `.specstory/history/2025-11-21_01-14Z-workers-failing-and-ssh-connection-issues.md` |
+| `TODO.md` |
+| `.specstory/history/2025-05-05_16-17Z-flamenco-job-status-troubleshooting.md` |
+| `.specstory/history/2025-04-25_19-30Z-i9-13ks-setup-troubleshooting.md` |
+| `.specstory/history/2025-05-07_22-05Z-script-modification-for-masterbox.md` |
+| `.specstory/history/2025-11-03_19-27Z-create-sister-script-for-sheepit.md` |
+| `.specstory/history/2026-01-09_18-22Z-nexus-manager-access-issue.md` |
+| `.specstory/history/2025-05-14_15-49Z-cmd-worker-error-handling-and-retry-logic.md` |
+| `.specstory/history/2026-01-09_20-34Z-flamenco-project-file-path-consistency.md` |
+| `scripts/TalkingHeads Custom Render.js` |
+| `.specstory/history/2025-05-06_21-34Z-identifying-mistakes-and-seeking-guidance.md` |
+| `.specstory/history/2025-11-06_17-28Z-update-path-structure-for-renders.md` |
+| `.specstory/history/2025-07-15_18-30Z-configure-launch-standard-worker-for-flamenco-3-7.md` |
+| `.specstory/history/2025-05-23_23-12Z-replace-remotecmd-with-remotesimplified.md` |
+| `.specstory/history/2025-05-06_20-07Z-switching-to-optix-gpu-rendering.md` |
+| `.specstory/history/2026-01-08_17-28Z-shaman-symlinking-for-windows-samba.md` |
+
+
+
+
+---
+
+
+
+Tool use: **ripgrep_raw_search**
+
+
+Parameters:
+
+```json
+{
+ "pattern": "blocklist|block_list|blacklist",
+ "caseInsensitive": true
+}
+```
+Additional data:
+
+```json
+{
+ "isPruned": true,
+ "pattern": "blocklist|block_list|blacklist",
+ "outputMode": "content",
+ "totalFiles": 2,
+ "totalMatches": 64,
+ "topFiles": [
+ {
+ "uri": ".specstory/history/2026-03-04_02-01Z-testing-discussion.md",
+ "matchCount": 1
+ },
+ {
+ "uri": ".specstory/history/2026-01-08_17-28Z-shaman-symlinking-for-windows-samba.md",
+ "matchCount": 63
+ }
+ ]
+}
+```
+Status: **completed**
+
+
+
+
+
+---
+
+Thought Process
+I found references to blocklist in the specstory history files. The key finding is in the testing-discussion.md file which shows:
+- `blocklist_threshold: 3` appears in configuration
+- Log messages showing "not enough failed tasks to blocklist worker" with `numFailedTasks`, `taskType=blender`, `threshold=3`
+
+This suggests Flamenco has a blocklist mechanism that triggers after a certain number of failed tasks. Let me search more broadly in the Flamenco codebase. First, let me understand the project structure better.
+
+---
+
+I found some references to blocklisting in the specstory history. Let me explore the actual Flamenco codebase to find more about the implementation. Let me look at the directory structure first.
+
+---
+
+
+Tool use: **run_terminal_command_v2** • Run command: Get-ChildItem -Path "c:\Users\Nathan\Desktop\flamenco" -Directory | Select-Object -ExpandProperty Name
+
+```bash
+Get-ChildItem -Path "c:\Users\Nathan\Desktop\flamenco" -Directory | Select-Object -ExpandProperty Name
+```
+
+
+
+---
+
+
+
+Tool use: **ripgrep_raw_search**
+
+
+Parameters:
+
+```json
+{
+ "pattern": "blocklist",
+ "outputMode": "content",
+ "caseInsensitive": true
+}
+```
+Additional data:
+
+```json
+{
+ "isPruned": true,
+ "pattern": "blocklist",
+ "outputMode": "content",
+ "totalFiles": 2,
+ "totalMatches": 18,
+ "topFiles": [
+ {
+ "uri": ".specstory/history/2026-03-04_02-01Z-testing-discussion.md",
+ "matchCount": 1
+ },
+ {
+ "uri": ".specstory/history/2026-01-08_17-28Z-shaman-symlinking-for-windows-samba.md",
+ "matchCount": 17
+ }
+ ]
+}
+```
+Status: **completed**
+
+
+
+
+
+---
+
+Thought Process
+The shell command returned an empty result, but the grep found references in the specstory history. It seems like the main Flamenco codebase may not be present in this workspace - only scripts and specstory history. Let me read the specstory files to understand what was discussed about blocklisting, and also look for any actual Flamenco source code.
+
+---
+
+Let me look for the Flamenco source code and read the relevant specstory files that discuss blocklisting.
+
+---
+
+
+Tool use: **run_terminal_command_v2** • Run command: ls -la "c:\Users\Nathan\Desktop\flamenco"
+
+```bash
+ls -la "c:\Users\Nathan\Desktop\flamenco"
+```
+
+
+
+---
+
+
+Tool use: **read_file_v2** • Read file: c:\Users\Nathan\Desktop\flamenco\.specstory\history\2026-03-04_02-01Z-testing-discussion.md
+
+
+
+
+---
+
+Thought Process
+The workspace appears to contain only scripts and specstory history, not the actual Flamenco source code. The grep results show log messages about blocklisting and a configuration setting `blocklist_threshold: 3`. Let me read more of the specstory file that mentions the blocklist_threshold setting and search the web for more information about Flamenco's blocklisting feature.
+
+---
+
+Let me search the web for more information about Flamenco's blocklisting feature and read more of the specstory discussions.
+
+---
+
+
+
+ Tool use: **web_search** • Searched web `undefined` • **1** results
+
+| Title | URL | Chunk |
+|-------|-----|-------|
+| Web search results for query: Flamenco render farm blocklist threshold configuration disable | | Links:
1. [Manager Configuration](https://flamenco.blender.org/usage/manager-configuration)
2. [Worker Configuration \| Flamenco](https://flamenco.blender.org/usage/worker-configuration/)
3. [Compositor Nodes](https://flamenco.blender.org/third-party-jobs/compositor-script)
4. [Shaman Storage System](https://flamenco.blender.org/usage/shared-storage/shaman)
5. [Manager Configuration: MQTT \| Flamenco](https://flamenco.blender.org/usage/manager-configuration/mqtt)
# Flamenco Blocklist Threshold Configuration
The `blocklist_threshold` is a Flamenco Manager configuration setting that determines when workers are added to a blocklist due to failures.[1]
## Configuration
To configure the blocklist threshold, add the following to your `flamenco-manager.yaml` file:[1]
```
blocklist_threshold: 3
```
The value represents the number of failures after which a worker will be blocklisted. In the example above, a worker is blocklisted after 3 failures.
## Related Settings
The blocklist threshold works alongside other failure-related configurations:[1]
- `task_timeout`: How long a task can run before timing out (e.g., `10m`)
- `worker_timeout`: How long before a worker is considered unresponsive (e.g., `1m`)
- `task_fail_after_softfail_count`: Number of soft failures before a task fails (e.g., `3`)
To disable or adjust the blocklist behavior, modify the `blocklist_threshold` value in your configuration file and restart Flamenco Manager for the changes to take effect. |
+
+
+
+
+---
+
+
+Tool use: **read_file_v2** • Read file: c:\Users\Nathan\Desktop\flamenco\.specstory\history\2026-03-04_02-01Z-testing-discussion.md
+
+
+
+
+---
+
+Thought Process
+The web search found the key information I need about Flamenco's blocklist threshold. Let me also look at the Flamenco documentation more and check for any additional details about disabling or configuring blocklisting.
+
+---
+
+Let me fetch the Flamenco documentation to get more details about the blocklist configuration.
+
+---
+
+
+
+Tool use: **web_fetch**
+
+
+Parameters:
+
+```json
+{
+ "url": "https://flamenco.blender.org/usage/manager-configuration/"
+}
+```
+Result:
+
+```json
+{
+ "url": "https://flamenco.blender.org/usage/manager-configuration/",
+ "markdown": "Manager Configuration | Flamenco\n\n[Edit page](https://projects.blender.org/studio/flamenco/_edit/main/web/project-website/content/usage/manager-configuration/_index.md)\n\n# Manager Configuration\n\nFlamenco Manager reads its configuration from`flamenco-manager.yaml`, located next to the`flamenco-manager` executable. The previous chapters ([Shared Storage](https://flamenco.blender.org/usage/shared-storage/) and [Variables](https://flamenco.blender.org/usage/variables/)) also describe parts of that configuration file.\n\n## Example\n\n```\n# flamenco-manager.yaml\n\n_meta:\n version: 3\n\n# Core settings\nmanager_name: Flamenco Manager\ndatabase: flamenco-manager.sqlite\nlisten: :8080\nautodiscoverable: true\n\n# Storage\nlocal_manager_storage_path: ./flamenco-manager-storage\nshared_storage_path: /path/to/storage\nshaman:\n enabled: true\n garbageCollect:\n period: 24h\n maxAge: 744h\n\n# Timeout & Failures\ntask_timeout: 10m\nworker_timeout: 1m\nblocklist_threshold: 3\ntask_fail_after_softfail_count: 3\n\n# Variables\nvariables:\n blender:\n values:\n - platform: linux\n value: blender\n - platform: windows\n value: blender\n - platform: darwin\n value: blender\n blenderArgs:\n values:\n - platform: all\n value: -b -y\n\n# MQTT Configuration\nmqtt:\n client:\n broker: 'tcp://mqttserver.local:1883'\n username: 'username'\n password: 'your-password-here'\n topic_prefix: flamenco\n\n```\n\nThe usual way to create a configuration file is simply by starting Flamenco Manager. If there is no config file yet, it will start the setup assistant to create one. If for any reasons the setup assistant is not usable for you, you can use the above example to create`flamenco-manager.yaml` yourself.\n\n## Definitions\n\nThe configuration is stored in a [YAML](https://spacelift.io/blog/yaml#basic-yaml-syntax) file. Each attribute is defined below.\n\n### Duration Format\n\nDurations are written in [Go’s notation for durations](https://pkg.go.dev/time#ParseDuration). Examples are`1h` for 1 hour, or`1m30s` for 1 minute and 30 seconds. To avoid ambiguity, hours are the largest available unit; there are days that are not exactly`24h`.\n\n### Core Settings\n\n---\n\n`manager_name` string\n\nThe name of the Flamenco Manager.\n\n---\n\n`database` string\n\nThe file path for the SQLite database.\n\n---\n\n`database_check_period` duration format\n\nHow frequently the database is checked for internal consistency.\n\nThis check always happens at startup of Flamenco Manager. By setting this to a non-zero duration, the check is also performed while Flamenco Manager is running.\n\nIt is not typically necessary to set this; it was implemented to help find a bug, which has been fixed in Flamenco 3.6 ([#104305](https://projects.blender.org/studio/flamenco/issues/104305)). The setting may be removed in the future.\n\n---\n\n`listen` string\n\nThe IP and port (e.g.,`:8080`,`192.168.0.1:8080`, or`[::]:8080`) Flamenco Manager will listen on.\n\nThis is the only port that is needed for Flamenco Manager, and will be used for the web interface, the API, and file submission via the Shaman system.\n\n---\n\n`autodiscoverable` boolean\n\nWhether or not the manager is discoverable by workers in the same network.\n\n### Storage\n\n---\n\n`local_manager_storage_path` string\n\nThe path where the Manager stores local files (e.g., logs, last-rendered images, etc.).\n\nThese files are only necessary for the manager. Workers never need to access this directly, as the files are accessible via the web interface.\n\n---\n\n`shared_storage_path` string\n\nThe [Shared Storage](https://flamenco.blender.org/usage/shared-storage/) path where files shared between Manager and Worker(s) live (e.g., rendered output files, or the .blend files of render jobs).\n\n---\n\n`shaman` map\n\nThe configuration for enabling and garbage collecting the [Shaman Storage System](https://flamenco.blender.org/usage/shared-storage/shaman/).\n\nThe exact structure for`shaman` follows:\n\n```\nshaman:\n enabled: true\n garbageCollect:\n period: 24h\n maxAge: 744h\n\n```\n\n---\n\n`enabled` boolean\n\nWhether or not to use the Shaman Storage System.\n\n---\n\n`garbageCollect` map\n\nThe configuration for [garbage collection](https://flamenco.blender.org/usage/shared-storage/shaman/#garbage-collection) on files in the Shaman Storage System.\n\n---\n\n`period` string in duration format\n\nThe period of time determining the frequency of garbage collection performed on file store.\n\n---\n\n`maxAge` string in duration format\n\nThe minimum lifespan of files required in order to be garbage collected.\n\n### Timeout & Failures\n\n---\n\n`task_timeout` string in duration format\n\nThe Manager will consider a Worker to be “problematic” if it hasn’t heard anything from that Worker for this amount of time. When that happens, the Worker will be shown on the Manager in`error` status.\n\n---\n\n`worker_timeout` string in duration format\n\nThe amount of time since the worker’s last sign of life (e.g., asking for a task to perform, or checking if it’s allowed to perform its current task) before getting marked “timed out” and sent to`error` status.\n\n---\n\n`blocklist_threshold` number\n\nThe number of failures allowed on a type of task per job before banning a worker from that task type on that job.\n\nFor example, when a worker fails multiple blender tasks on one job, it’s concluded that the job is too heavy for its hardware, and thus it gets blocked from doing more of those. It is then still allowed to do file management, video encoding tasks, or blender tasks on another job.\n\n---\n\n`task_fail_after_softfail_count` number\n\nThe number of workers allowed to have failed a task before hard-failing the task.\n\n### Variables\n\n---\n\n`variables` map\n\nThe [two-way variables](https://flamenco.blender.org/usage/variables/multi-platform/) to be used for specific operating systems.\n\nThe structure for`variables` follows:\n\n```\nvariables:\n <variable-name>:\n values:\n - platform: linux\n value: value for Linux\n - platform: windows\n value: value for Windows\n - platform: darwin\n value: value for macOS\n\n```\n\n---\n\n` ` map\n\nThe variable (e.g.,`blender`,`blenderArgs`, or`my_storage`) to be defined.\n\n---\n\n`values` array\n\nThe list of variable values with their respective platform to be used.\n\n---\n\n`platform` string\n\nThe platform for this variable value.\n\nPossible values:`linux`,`windows`,`darwin`, or`all`.\n\nAny other value used by Go’s [GOOS](https://pkg.go.dev/runtime#GOOS) constant or returned by Python’s [platform.platform()](https://docs.python.org/3/library/platform.html#platform.platform) function can be used here. Of the above values, only`all` is special as it pertains to all platforms.\n\n---\n\n`value` string\n\nThe contents for the variable, for the given platform.\n\n---\n\nFor more information, see [Variables](https://flamenco.blender.org/usage/variables/).\n\n### MQTT Configuration\n\nThis section is completely optional. If you do not know what it’s for, just leave it out.\n\n---\n\n`mqtt` map\n\nThe configuration for MQTT broker and client.\n\nThe exact structure for`mqtt` follows:\n\n```\nmqtt:\n client:\n broker: ''\n username: ''\n password: ''\n topic_prefix: ''\n\n```\n\n---\n\n`client` map\n\nThe configuration for the broker and client.\n\n---\n\n`clientID` string\n\nAn identifier that each MQTT client uses to identify itself.\n\n---\n\n`broker` string\n\nThe URL for the MQTT server.\n\n---\n\n`username` string\n\nThe username of the broker/client.\n\n---\n\n`password` string\n\nThe password of the broker/client.\n\n---\n\n`topic_prefix` string\n\nThe word to prefix each topic (e.g.,`flamenco`).\n\n---\n\nFor more information about the built-in MQTT client, see [Manager Configuration: MQTT](https://flamenco.blender.org/usage/manager-configuration/mqtt/).\n\n[gdoc_arrow_left_alt Two-way Variables for Multi-Platform Support](https://flamenco.blender.org/usage/variables/multi-platform/) [Manager Configuration: MQTT gdoc_arrow_right_alt](https://flamenco.blender.org/usage/manager-configuration/mqtt/)"
+}
+```
+User decision: **accepted**
+
+Status: **completed**
+
+
+
+
+
+---
+
+
+
+Tool use: **ripgrep_raw_search**
+
+
+Parameters:
+
+```json
+{
+ "pattern": "blocklist|failed.*tasks|numFailedTasks",
+ "outputMode": "content",
+ "context": 3,
+ "caseInsensitive": true
+}
+```
+Additional data:
+
+```json
+{
+ "isPruned": true,
+ "pattern": "blocklist|failed.*tasks|numFailedTasks",
+ "outputMode": "content",
+ "totalFiles": 4,
+ "totalMatches": 52,
+ "topFiles": [
+ {
+ "uri": ".specstory/history/2026-01-08_17-28Z-shaman-symlinking-for-windows-samba.md",
+ "matchCount": 123
+ },
+ {
+ "uri": ".specstory/history/2026-01-09_20-34Z-flamenco-project-file-path-consistency.md",
+ "matchCount": 14
+ },
+ {
+ "uri": ".specstory/history/2026-01-08_23-42Z-windows-symlinking-error.md",
+ "matchCount": 7
+ },
+ {
+ "uri": ".specstory/history/2026-03-04_02-01Z-testing-discussion.md",
+ "matchCount": 7
+ }
+ ]
+}
+```
+Status: **completed**
+
+
+
+
+
+---
+
+Thought Process
+I now have comprehensive information about Flamenco's blocklisting feature. Let me also check if there's any way to disable blocklisting per-worker or through the web interface by looking for more documentation or configuration options.
+
+---
+
+Let me search for more information about disabling blocklisting or any UI/API controls.
+
+---
+
+
+
+ Tool use: **web_search** • Searched web `undefined` • **1** results
+
+| Title | URL | Chunk |
+|-------|-----|-------|
+| Web search results for query: Flamenco blocklist disable 0 threshold "blocklist_threshold" worker job configuration | | Links:
1. [Worker Configuration \| Flamenco](https://flamenco.blender.org/usage/worker-configuration/)
2. [flamenco_worker/config.py · v2.0-beta10-worker6 · blender / flamenco-worker-python · GitLab](https://code.it4i.cz/blender/flamenco-worker-python/-/blob/v2.0-beta10-worker6/flamenco_worker/config.py)
3. [Job Types \| Flamenco](https://flamenco.blender.org/usage/job-types)
4. [Manager Configuration \| Flamenco](https://flamenco.blender.org/usage/manager-configuration/)
5. [Frequently Asked Questions](https://flamenco.blender.org/faq)
# Flamenco Blocklist Threshold Configuration
The `blocklist_threshold` is a Manager configuration setting in Flamenco that determines when workers are blocked from receiving tasks.[4]
## Configuration Location
Set `blocklist_threshold` in the `flamenco-manager.yaml` configuration file located next to the `flamenco-manager` executable.[4]
## Example Configuration
```yaml
blocklist_threshold: 3
```
## How It Works
The `blocklist_threshold` setting controls the failure tolerance before a worker is added to a blocklist. In the example above, a value of `3` means a worker will be blocked after 3 failures.[4]
## Disabling the Blocklist
To disable the blocklist entirely, set `blocklist_threshold` to `0`.[4] This prevents workers from being automatically blocked regardless of how many task failures occur.
## Related Settings
Other timeout and failure-related Manager configuration options include:[4]
- `task_timeout`: Maximum time allowed for a task
- `worker_timeout`: Maximum time a worker can be unresponsive
- `task_fail_after_softfail_count`: Number of soft failures before a task is considered failed |
+
+
+
+
+---
+
+
+Tool use: **read_file_v2** • Read file: c:\Users\Nathan\Desktop\flamenco\scripts\TalkingHeads Custom Render.js
+
+
+
+
+---
+
+Thought Process
+I now have comprehensive information about Flamenco's blocklisting feature. Let me compile my findings:
+
+1. **What is blocklisting**: Blocklisting is a Flamenco Manager feature that automatically prevents workers from receiving certain task types after they've failed those tasks multiple times on the same job.
+
+2. **How it works**: The `blocklist_threshold` setting in `flamenco-manager.yaml` controls how many failures are allowed before a worker is blocked. The default is 3. When a worker fails that many tasks of a particular type (e.g., "blender" tasks) on a single job, it gets added to a blocklist for that job/task type
+
+---
+
diff --git a/.specstory/history/2026-03-16_20-23Z-disabling-blocklisting-in-flamenco.md b/.specstory/history/2026-03-16_20-23Z-disabling-blocklisting-in-flamenco.md
new file mode 100644
index 0000000..ee0b5b7
--- /dev/null
+++ b/.specstory/history/2026-03-16_20-23Z-disabling-blocklisting-in-flamenco.md
@@ -0,0 +1,336 @@
+
+
+
+
+# Disabling blocklisting in Flamenco (2026-03-16 20:23Z)
+
+_**User**_
+
+Can I disable blocklisting on a machine or farm-wide in flamenco?
+
+---
+
+_**Agent (model kimi-k2.5, mode Agent)**_
+
+Thought Process
+The user is asking about disabling blocklisting in Flamenco. This appears to be a question about a software called Flamenco, which seems to be some kind of render farm or task management system. Let me first explore the codebase to understand what Flamenco is and how blocklisting works in it.
+
+I should search the codebase for information about blocklisting to understand the context better.
+
+---
+
+I'll explore the Flamenco codebase to understand how blocklisting works and whether it can be disabled.
+
+---
+
+
+
+Tool use: **task_v2**
+
+
+Parameters:
+
+```json
+{
+ "description": "Explore Flamenco blocklisting",
+ "prompt": "Search the Flamenco codebase to understand:\n1. What is blocklisting and how does it work in Flamenco?\n2. Is there a way to disable blocklisting - either per-machine or farm-wide?\n3. Look for configuration options, settings, or code related to blocklisting\n\nSearch for terms like \"blocklist\", \"block_list\", \"blacklist\", and explore the codebase structure to understand the project. Provide findings about whether blocklisting can be disabled and how.",
+ "subagentType": "explore",
+ "model": "accounts/fireworks/models/kimi-k2p5",
+ "name": "explore"
+}
+```
+Additional data:
+
+```json
+{
+ "status": "success",
+ "subagentComposerId": "dbf66ebd-53bc-4ef4-b844-c7c6c8bc834c",
+ "terminationReason": "completed"
+}
+```
+Result:
+
+```json
+{
+ "agentId": "dbf66ebd-53bc-4ef4-b844-c7c6c8bc834c"
+}
+```
+Status: **completed**
+
+
+
+
+
+---
+
+Thought Process
+The exploration provides good information. Let me provide a clear answer to the user about disabling blocklisting in Flamenco.
+
+---
+
+Yes, you can disable blocklisting in Flamenco, but only **farm-wide** via the manager configuration—there is no per-machine disable option.
+
+## How to Disable Blocklisting
+
+Add this to your `flamenco-manager.yaml` file (located next to the `flamenco-manager` executable):
+
+```yaml
+# Disable blocklisting entirely
+blocklist_threshold: 0
+```
+
+Then restart the Flamenco Manager.
+
+## Configuration Options
+
+| Setting | Description | Default |
+|---------|-------------|---------|
+| `blocklist_threshold` | Number of failures before blocking a worker from a task type on a job | 3 |
+
+You can also increase the threshold instead of disabling it completely:
+
+```yaml
+# More tolerant - requires 5 failures before blocking
+blocklist_threshold: 5
+```
+
+## Important Notes
+
+- **Per-job scope**: Blocklisting is per-job and per-task-type. A worker blocked on "blender" tasks for Job A can still work on "blender" tasks for Job B.
+- **No per-worker control**: There's no UI or API to disable blocklisting for individual workers—it's a global setting only.
+- **Purpose**: Blocklisting protects your farm from repeatedly assigning tasks to workers that are struggling with particular jobs (e.g., due to insufficient memory or incompatible scene files).
+
+---
+
+_**User**_
+
+Changing the threshold to 0 doesn't seem to prevent blocklisting.
+
+---
+
+_**Agent (model kimi-k2.5, mode Agent)**_
+
+Thought Process
+The user is saying that setting `blocklist_threshold: 0` doesn't prevent blocklisting. This could be a bug or the configuration might not be getting applied properly. Let me search the codebase to understand how the blocklist threshold is actually implemented and whether there's a bug or different behavior when it's set to 0.
+
+I should search for:
+1. How the blocklist_threshold is parsed and used in the code
+2. Whether 0 is treated as "disabled" or if there's special handling needed
+3. Any bugs or issues with the threshold configuration
+
+Let me search the codebase for the blocklist implementation.
+
+---
+
+Let me investigate the actual code implementation to see how the threshold is handled.
+
+---
+
+
+
+Tool use: **ripgrep_raw_search**
+
+
+Parameters:
+
+```json
+{
+ "pattern": "blocklist_threshold",
+ "outputMode": "content",
+ "context": 5,
+ "caseInsensitive": false
+}
+```
+Additional data:
+
+```json
+{
+ "isPruned": true,
+ "pattern": "blocklist_threshold",
+ "outputMode": "content",
+ "totalFiles": 3,
+ "totalMatches": 9,
+ "topFiles": [
+ {
+ "uri": ".specstory/history/2026-01-08_17-28Z-shaman-symlinking-for-windows-samba.md",
+ "matchCount": 22
+ },
+ {
+ "uri": ".specstory\\history\\2026-03-16_20-23Z-blocklisting-in-flamenco-codebase.md",
+ "matchCount": 64
+ },
+ {
+ "uri": ".specstory/history/2026-03-04_02-01Z-testing-discussion.md",
+ "matchCount": 11
+ }
+ ]
+}
+```
+Status: **completed**
+
+
+
+
+
+---
+
+
+
+Tool use: **ripgrep_raw_search**
+
+
+Parameters:
+
+```json
+{
+ "pattern": "block.list|BlockList|blocklist",
+ "outputMode": "files_with_matches",
+ "caseInsensitive": false
+}
+```
+Additional data:
+
+```json
+{
+ "isPruned": true,
+ "pattern": "block.list|BlockList|blocklist",
+ "outputMode": "files_with_matches",
+ "totalFiles": 4,
+ "totalMatches": 4,
+ "topFiles": [
+ {
+ "uri": ".specstory\\history\\2026-03-16_20-23Z-blocklisting-in-flamenco-codebase.md",
+ "matchCount": 1
+ },
+ {
+ "uri": ".specstory/history/2026-01-08_17-28Z-shaman-symlinking-for-windows-samba.md",
+ "matchCount": 1
+ },
+ {
+ "uri": ".specstory/history/2026-03-04_02-01Z-testing-discussion.md",
+ "matchCount": 1
+ },
+ {
+ "uri": ".specstory\\history\\2026-03-16_20-23Z-disabling-blocklisting-in-flamenco.md",
+ "matchCount": 1
+ }
+ ]
+}
+```
+Status: **completed**
+
+
+
+
+
+---
+
+Thought Process
+The workspace appears to be mostly specstory history files and doesn't contain the actual Flamenco source code. I need to search the web for more information about whether setting `blocklist_threshold: 0` actually works to disable blocklisting, or if this is a known issue.
+
+Let me also look at the specstory history about blocklisting to see if there are any clues about this issue.
+
+---
+
+
+Tool use: **read_file_v2** • Read file: c:\Users\Nathan\Desktop\flamenco/.specstory\history\2026-03-16_20-23Z-disabling-blocklisting-in-flamenco.md
+
+
+
+
+---
+
+
+
+Tool use: **web_fetch**
+
+
+Parameters:
+
+```json
+{
+ "url": "https://flamenco.blender.org/usage/manager-configuration/"
+}
+```
+Result:
+
+```json
+{
+ "url": "https://flamenco.blender.org/usage/manager-configuration/",
+ "markdown": "Manager Configuration | Flamenco\n\n[Edit page](https://projects.blender.org/studio/flamenco/_edit/main/web/project-website/content/usage/manager-configuration/_index.md)\n\n# Manager Configuration\n\nFlamenco Manager reads its configuration from`flamenco-manager.yaml`, located next to the`flamenco-manager` executable. The previous chapters ([Shared Storage](https://flamenco.blender.org/usage/shared-storage/) and [Variables](https://flamenco.blender.org/usage/variables/)) also describe parts of that configuration file.\n\n## Example\n\n```\n# flamenco-manager.yaml\n\n_meta:\n version: 3\n\n# Core settings\nmanager_name: Flamenco Manager\ndatabase: flamenco-manager.sqlite\nlisten: :8080\nautodiscoverable: true\n\n# Storage\nlocal_manager_storage_path: ./flamenco-manager-storage\nshared_storage_path: /path/to/storage\nshaman:\n enabled: true\n garbageCollect:\n period: 24h\n maxAge: 744h\n\n# Timeout & Failures\ntask_timeout: 10m\nworker_timeout: 1m\nblocklist_threshold: 3\ntask_fail_after_softfail_count: 3\n\n# Variables\nvariables:\n blender:\n values:\n - platform: linux\n value: blender\n - platform: windows\n value: blender\n - platform: darwin\n value: blender\n blenderArgs:\n values:\n - platform: all\n value: -b -y\n\n# MQTT Configuration\nmqtt:\n client:\n broker: 'tcp://mqttserver.local:1883'\n username: 'username'\n password: 'your-password-here'\n topic_prefix: flamenco\n\n```\n\nThe usual way to create a configuration file is simply by starting Flamenco Manager. If there is no config file yet, it will start the setup assistant to create one. If for any reasons the setup assistant is not usable for you, you can use the above example to create`flamenco-manager.yaml` yourself.\n\n## Definitions\n\nThe configuration is stored in a [YAML](https://spacelift.io/blog/yaml#basic-yaml-syntax) file. Each attribute is defined below.\n\n### Duration Format\n\nDurations are written in [Go’s notation for durations](https://pkg.go.dev/time#ParseDuration). Examples are`1h` for 1 hour, or`1m30s` for 1 minute and 30 seconds. To avoid ambiguity, hours are the largest available unit; there are days that are not exactly`24h`.\n\n### Core Settings\n\n---\n\n`manager_name` string\n\nThe name of the Flamenco Manager.\n\n---\n\n`database` string\n\nThe file path for the SQLite database.\n\n---\n\n`database_check_period` duration format\n\nHow frequently the database is checked for internal consistency.\n\nThis check always happens at startup of Flamenco Manager. By setting this to a non-zero duration, the check is also performed while Flamenco Manager is running.\n\nIt is not typically necessary to set this; it was implemented to help find a bug, which has been fixed in Flamenco 3.6 ([#104305](https://projects.blender.org/studio/flamenco/issues/104305)). The setting may be removed in the future.\n\n---\n\n`listen` string\n\nThe IP and port (e.g.,`:8080`,`192.168.0.1:8080`, or`[::]:8080`) Flamenco Manager will listen on.\n\nThis is the only port that is needed for Flamenco Manager, and will be used for the web interface, the API, and file submission via the Shaman system.\n\n---\n\n`autodiscoverable` boolean\n\nWhether or not the manager is discoverable by workers in the same network.\n\n### Storage\n\n---\n\n`local_manager_storage_path` string\n\nThe path where the Manager stores local files (e.g., logs, last-rendered images, etc.).\n\nThese files are only necessary for the manager. Workers never need to access this directly, as the files are accessible via the web interface.\n\n---\n\n`shared_storage_path` string\n\nThe [Shared Storage](https://flamenco.blender.org/usage/shared-storage/) path where files shared between Manager and Worker(s) live (e.g., rendered output files, or the .blend files of render jobs).\n\n---\n\n`shaman` map\n\nThe configuration for enabling and garbage collecting the [Shaman Storage System](https://flamenco.blender.org/usage/shared-storage/shaman/).\n\nThe exact structure for`shaman` follows:\n\n```\nshaman:\n enabled: true\n garbageCollect:\n period: 24h\n maxAge: 744h\n\n```\n\n---\n\n`enabled` boolean\n\nWhether or not to use the Shaman Storage System.\n\n---\n\n`garbageCollect` map\n\nThe configuration for [garbage collection](https://flamenco.blender.org/usage/shared-storage/shaman/#garbage-collection) on files in the Shaman Storage System.\n\n---\n\n`period` string in duration format\n\nThe period of time determining the frequency of garbage collection performed on file store.\n\n---\n\n`maxAge` string in duration format\n\nThe minimum lifespan of files required in order to be garbage collected.\n\n### Timeout & Failures\n\n---\n\n`task_timeout` string in duration format\n\nThe Manager will consider a Worker to be “problematic” if it hasn’t heard anything from that Worker for this amount of time. When that happens, the Worker will be shown on the Manager in`error` status.\n\n---\n\n`worker_timeout` string in duration format\n\nThe amount of time since the worker’s last sign of life (e.g., asking for a task to perform, or checking if it’s allowed to perform its current task) before getting marked “timed out” and sent to`error` status.\n\n---\n\n`blocklist_threshold` number\n\nThe number of failures allowed on a type of task per job before banning a worker from that task type on that job.\n\nFor example, when a worker fails multiple blender tasks on one job, it’s concluded that the job is too heavy for its hardware, and thus it gets blocked from doing more of those. It is then still allowed to do file management, video encoding tasks, or blender tasks on another job.\n\n---\n\n`task_fail_after_softfail_count` number\n\nThe number of workers allowed to have failed a task before hard-failing the task.\n\n### Variables\n\n---\n\n`variables` map\n\nThe [two-way variables](https://flamenco.blender.org/usage/variables/multi-platform/) to be used for specific operating systems.\n\nThe structure for`variables` follows:\n\n```\nvariables:\n <variable-name>:\n values:\n - platform: linux\n value: value for Linux\n - platform: windows\n value: value for Windows\n - platform: darwin\n value: value for macOS\n\n```\n\n---\n\n` ` map\n\nThe variable (e.g.,`blender`,`blenderArgs`, or`my_storage`) to be defined.\n\n---\n\n`values` array\n\nThe list of variable values with their respective platform to be used.\n\n---\n\n`platform` string\n\nThe platform for this variable value.\n\nPossible values:`linux`,`windows`,`darwin`, or`all`.\n\nAny other value used by Go’s [GOOS](https://pkg.go.dev/runtime#GOOS) constant or returned by Python’s [platform.platform()](https://docs.python.org/3/library/platform.html#platform.platform) function can be used here. Of the above values, only`all` is special as it pertains to all platforms.\n\n---\n\n`value` string\n\nThe contents for the variable, for the given platform.\n\n---\n\nFor more information, see [Variables](https://flamenco.blender.org/usage/variables/).\n\n### MQTT Configuration\n\nThis section is completely optional. If you do not know what it’s for, just leave it out.\n\n---\n\n`mqtt` map\n\nThe configuration for MQTT broker and client.\n\nThe exact structure for`mqtt` follows:\n\n```\nmqtt:\n client:\n broker: ''\n username: ''\n password: ''\n topic_prefix: ''\n\n```\n\n---\n\n`client` map\n\nThe configuration for the broker and client.\n\n---\n\n`clientID` string\n\nAn identifier that each MQTT client uses to identify itself.\n\n---\n\n`broker` string\n\nThe URL for the MQTT server.\n\n---\n\n`username` string\n\nThe username of the broker/client.\n\n---\n\n`password` string\n\nThe password of the broker/client.\n\n---\n\n`topic_prefix` string\n\nThe word to prefix each topic (e.g.,`flamenco`).\n\n---\n\nFor more information about the built-in MQTT client, see [Manager Configuration: MQTT](https://flamenco.blender.org/usage/manager-configuration/mqtt/).\n\n[gdoc_arrow_left_alt Two-way Variables for Multi-Platform Support](https://flamenco.blender.org/usage/variables/multi-platform/) [Manager Configuration: MQTT gdoc_arrow_right_alt](https://flamenco.blender.org/usage/manager-configuration/mqtt/)"
+}
+```
+User decision: **accepted**
+
+Status: **completed**
+
+
+
+
+
+---
+
+Thought Process
+The documentation shows that `blocklist_threshold` is a number that represents "The number of failures allowed on a type of task per job before banning a worker from that task type on that job."
+
+It doesn't explicitly say that setting it to 0 disables blocklisting. Let me search for more information about this, possibly looking at the source code or issues.
+
+---
+
+Let me search for more information about whether setting the threshold to 0 actually disables blocklisting, or if this is a known issue.
+
+---
+
+
+
+ Tool use: **web_search** • Searched web `undefined` • **1** results
+
+| Title | URL | Chunk |
+|-------|-----|-------|
+| Web search results for query: Flamenco blocklist_threshold 0 not working disable issue bug | | Links:
1. [Manager Configuration \| Flamenco](https://flamenco.blender.org/usage/manager-configuration/)
2. [Unable to connect manager to server - what goes in each config? · Issue #228 · armadillica/flamenco](https://github.com/armadillica/flamenco/issues/228)
3. [Issues - flamenco - Blender Projects](https://projects.blender.org/studio/flamenco/issues?labels=605)
4. [Frequently Asked Questions](https://flamenco.blender.org/faq)
5. [Worker Configuration \| Flamenco](https://flamenco.blender.org/usage/worker-configuration/)
# Flamenco blocklist_threshold 0 Issue
Based on the documentation, `blocklist_threshold` is a configuration parameter in Flamenco Manager's `flamenco-manager.yaml` file that determines when workers are added to a blocklist due to task failures.[1]
The configuration shows that `blocklist_threshold` is set as a numeric value (e.g., `blocklist_threshold: 3`), which indicates how many failures trigger blocklisting.[1] However, the search results do not contain specific documentation about using `blocklist_threshold: 0` to disable the blocklist feature, nor do they document any known bugs related to this setting not working as expected.
To fully disable the blocklist, you may need to:
- Set it to a very high value instead of 0
- Check the Flamenco issue tracker for any reported bugs related to this parameter
For more detailed information about this specific issue, you may need to consult the Flamenco bug tracker at projects.blender.org/studio/flamenco/issues or the community documentation. |
+
+
+
+
+---
+
+
+
+ Tool use: **web_search** • Searched web `undefined` • **1** results
+
+| Title | URL | Chunk |
+|-------|-----|-------|
+| Web search results for query: Flamenco render farm blocklist threshold 0 disable site:projects.blender.org | | Links:
1. [studio/flamenco: Production render farm manager. - flamenco - Blender Projects](https://projects.blender.org/studio/flamenco)
2. [Issues - flamenco - Blender Projects](https://projects.blender.org/studio/flamenco/issues?labels=605)
3. [archive/flamenco-manager: Flamenco-manager - flamenco-manager - Blender Projects](https://projects.blender.org/archive/flamenco-manager)
4. [Replace UPnP/SSDP with DNS-SD
#104262](https://projects.blender.org/studio/flamenco/issues/104262)
5. [archive/flamenco-worker: Flamenco-worker - flamenco-worker - Blender Projects](https://projects.blender.org/archive/flamenco-worker)
I was unable to find specific information about the "blocklist threshold 0 disable" feature in Flamenco within the provided search results.
The results show that Flamenco is a production render farm manager[1], and there is a recent commit related to blocklist UI improvements[1], but the search results don't contain documentation or details about configuring a blocklist threshold parameter set to 0 or how to disable it.
To find this information, you may need to:
- Check the Flamenco documentation or wiki directly on the project site
- Review the source code in the addon or internal directories
- Search the project's issues or pull requests for blocklist-related discussions |
+
+
+
+
+---
+
+Thought Process
+The search results don't show any specific bug about blocklist_threshold: 0 not working, but they also don't confirm that 0 disables the feature. Let me look at the Flamenco source code directly to understand how the blocklist threshold is actually implemented. I'll try to find the Flamenco repository and look at the actual code.
+
+---
+
+
+
+Tool use: **web_fetch**
+
+
+Parameters:
+
+```json
+{
+ "url": "https://projects.blender.org/studio/flamenco"
+}
+```
+User decision: **accepted**
+
+Status: **loading**
+
+
+
+
+
+---
+