Recued
Menu
← Back to recipes

Reclaim a closed job

by recued-core v2 9 views

Use “Reclaim a closed job” in Recued. Changes remain behind Recued's approval controls.

Complete workflow

Job Status Board 9 pinned recipes

Use Job Status Board in Recued for reception, intake, records, and local first. It includes 12 built-in actions and 7 ready-to-run workflows. Actions that change data use Recued's approval controls.

You are viewing one recipe in this workflow. Installing it opens the complete pack so its other recipes and background automations arrive together.

Reclaim a closed job
This recipe

Use “Reclaim a closed job” in Recued. Changes remain behind Recued's approval controls.

pack:job-status-boardrecordscleanupretention
by recued-core pinned v2

Use “Open a job from an intake response” in Recued. Turns one accepted Reception response into one deterministic Records job and one deterministic opened event. Retrying after either create boundary converges on the same two rows; visitor text stays in PII-labelled owner-local fields.

pack:job-status-boardrecordsintakejob
by recued-core pinned v5

Use “Attach a status page to a job” in Recued. Reads one Records job and CAS-upserts the owner-minted status URL without changing its other fields.

pack:job-status-boardrecordsstatus-pagejob
by recued-core pinned v4

Use “Advance a job stage” in Recued. CAS-updates one Records job and then convergently creates the progress event watched by the notification recipe. Two actors holding the same revision cannot both win.

pack:job-status-boardrecordsstatuscas
by recued-core pinned v5

Use “List the job board” in Recued. Searches Records by status, sorts by latest update, counts the exact result set, re-reads the page with getmany, and renders detail actions. The board pages through the result set and re-filters in place from its own declared variables.

pack:job-status-boardrecordsboardsearch
by recued-core pinned v4

Use “List reclaimable jobs” in Recued. It provides a read-only view of archived jobs, oldest touched first, with how long each has been sitting and a per-row reclaim action.

pack:job-status-boardrecordscleanupretention
by recued-core pinned v2
Show all 9 recipes

Use “Close a job” in Recued. CAS-closes one Records job, archives it from the active board, and creates one deterministic close event for the notification watcher.

pack:job-status-boardrecordsclosejob
by recued-core pinned v4
Notify a customer about job progress
Background automation

Use “Notify a customer about job progress” in Recued. Records watcher for committed jobevent rows. It re-reads the pointer by id and uses the durable event id as the mail reconciliation key, so delivery retries converge without claiming provider-level exactly once.

pack:job-status-boardrecordswatchernotification
by recued-core pinned v2
View pack details, dependencies, and permissions →

Reclaiming is deleting

Clears a closed job's progress-event trail and then removes the job row, so it stops counting against your board. The events go first: an event trail pointing at a job that no longer exists is worse than either outcome, and this order means a half-run leaves the job visibly present to run again.

It needs FULL access at install

This recipe is DENIED if the pack was installed with write access — pick all. It deletes (job.delete, job_event.delete), and deleting is classed destructive, which write does not grant.

The refusal is operation_not_granted at the gateway, before the recipe's first step runs — so nothing here can catch it and tell you. That is why it is written where someone chooses the scope.

The name does not say "delete", but that is what it does. Reclaiming a job is not archiving it: the row and its history are gone afterwards.

How it works 18 steps

Inspect the data fetches, transforms, gates, and output this recipe runs.

Data fetch
job ?
Process (17 steps)
job_ref template
Generate text from a template
children ?
child_count count
Count items in children records
is_archived compare
Check if job record archived equals true
has_no_children compare
Check if child count equals 0
safe_to_reclaim all
Check if all conditions are true
reclaim_guard guard
Stop if safe to reclaim equals
events ?
event_count count
Count items in events records
delete_events ?
remaining ?
remaining_count count
Count items in remaining records
trail_cleared compare
Check if remaining count equals 0
delete_job ?
skip: step.trail_cleared equal false
outcome ternary
Apply ternary
job_removed default
Apply default
card to_summary
Format results as a summary card
Settings 2 configurable

Configurable at install. Defaults shown — change them anytime in Recued.

job id setting = [object Object]
event page limit setting = 100

About

Tags

pack:job-status-boardrecordscleanupretentionquota

Details

18 steps 2 configurable settings recipe_id: reclaim-closed-job