Bulk and scheduled work runs as durable jobs per workspace
Context
Large evaluations and overnight reconciliation need progress that outlives an interactive request.
Decision
Run population, simulation, responsibility reconciliation and computed attention through durable jobs keyed to their unit of work.
Alternatives Considered
Loop through all workspaces in one long function: A timeout can interrupt many workspaces without individual progress records.
Perform bulk work in the interactive request: Large populations exceed interactive request limits.
Consequences
The shared job engine tracks and settles executions. Repeating a submission identity avoids duplicate scheduled jobs; a new manual population request creates a new run. Small sweeps and reminder sends remain scheduled functions with per-workspace failure isolation.