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
, orcache
for 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_background
processor will favor it when available.