JobFS Overview
JobFS is ProcBlock's virtual filesystem, used to manage all files in a template-driven job. Paths follow this format:
{store}/{filename}
All stores are job-specific, except for account/, which is scoped per account. Paths are flat—no subdirectories are allowed.
Store Roles and Rules
| Store | Purpose | Notes |
|---|---|---|
input |
Initial user uploads | Read-only after upload. |
mem |
Temporary in-memory files | Ephemeral. Auto-cleared after the job finishes. |
temp |
Temporary on-disk files | Ephemeral. Auto-cleared after the job finishes. |
cache |
Job-local cache for reusables (e.g. masks, depth) | Persisted for reuse. Copied forward if job is regenerated. |
output |
Final deliverables | Versioned. CDN-backed. Included in all exports. |
account |
Shared static assets (e.g., logos, overlays) | Read-only during processing. Available across all jobs. |
Versioning & Regeneration Behavior
output/files are versioned. Every time the job is processed, the version is incremented.- Job regeneration copies over
input/andcache/files from the original job to preserve state without overwriting.
Export Behavior
- All files written to
output/are automatically bundled into job exports for delivery or download.
Authoring Guidance
- Never write to
input/oraccount/. - Use
mem,temp, orcachefor intermediate results. - Use
account/only for static, pre-uploaded assets. - Write final results to
output/—they will be versioned and exported.
Notable files:
input/input.png: A preprocessed uploaded image.output/output.png: The expected target for most jobs. (not enforced)input/prefix.yaml: Will be appended to the job definition during processing.cache/mask.png: The mask editor references this file."cache/mask-or.png: The mask editor saves to this file and themask_backgroundprocessor will favor it when available.