Recued
Menu
← Back to recipes

Review one photo

by recued-core v2 51 views 2 installs

Use “Review one photo” in Recued. See the picture itself beside the names Recued matched in it, correct the line it wrote, and say whether it is ready to send — the one place a wrong name or a wrong sentence can be caught before it reaches somebody.

Complete workflow

Photo Attribution 16 pinned recipes

Use Photo Attribution in Recued to match one event's photos to the people you know, write a warm line for each picture, review them, and send everyone their own. Faces are matched on your machine; your photos are never copied; sending asks first. First install two programs on the server: face_recognition (pipx) and libvips (brew install vips). Then allow their actions on each tool pack's Access tab. Open “Scan an event folder” for the rest of the setup.

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

Review one photo
This recipe

Use “Review one photo” in Recued. See the picture itself beside the names Recued matched in it, correct the line it wrote, and say whether it is ready to send — the one place a wrong name or a wrong sentence can be caught before it reaches somebody.

pack:photo-attributionphotofacedelivery
by recued-core pinned v2

Use “Scan an event folder” in Recued. Compare every photo in one event folder against the people you know, and record who appears in each picture. Photos stay where they are and are never copied. Matching happens on your own machine.

pack:photo-attributionphotofacedelivery
by recued-core pinned v2

Use “Write the photo lines” in Recued. Look at each scanned photo and write one warm line naming the people recognised in it. A small copy with its embedded details removed is what the model sees, and the original is never sent. Run it again until the queue is empty.

pack:photo-attributionphotofacedelivery
by recued-core pinned v2

Use “The roster” in Recued. See everyone Recued can recognise, whether each person can actually be written to, and who has been retired — and open any of them from here, which is the only way in to a person.

photosrosterpeople
by recued-core pinned v1

Use “Review photos before sending” in Recued. List the photos waiting for a look, with the line that will arrive alongside each one and the names it was written for. Open a photo to approve it, rewrite the line, or leave it out.

pack:photo-attributionphotofacedelivery
by recued-core pinned v1

Use “Look at one person” in Recued. See who a roster entry actually is — their reference photo shown from your own folder, beside the name and address Recued will use for them — so a wrong or duplicated face is something you can see rather than guess at.

pack:photo-attributionrosterpeoplephoto
by recued-core pinned v1
Show all 16 recipes

Use “Set someone's details” in Recued. Fill in an email address and the name that messages should use for one person on your roster. A field left blank keeps what is already there rather than clearing it. The key derived from their reference photo cannot be changed.

pack:photo-attributionphotofacedelivery
by recued-core pinned v2

Use “Retire a person” in Recued. Take somebody off the roster without deleting anything they are attached to — a duplicate left behind by a renamed reference photo, or someone who should not be sent to any more. Their photos stay on record; they simply stop being matched and stop being sent to.

pack:photo-attributionrosterpeoplecleanup
by recued-core pinned v2

Use “Import the roster (CSV)” in Recued. Add everyone to the roster from a spreadsheet in one go — their key, the name messages should use, and their email address — instead of typing each person in after the first scan.

pack:photo-attributionrostercsvimport
by recued-core pinned v3

Use “Export the roster (CSV)” in Recued. Copy out everyone on the roster as a spreadsheet, or - on an empty roster - get the column headings the importer expects, so you can fill them in and import the list instead of typing it.

pack:photo-attributionrostercsvexport
by recued-core pinned v1

Use “See who is ready to receive” in Recued. List everyone with approved photos waiting, and separately everyone recognised who has no email address yet. Send each person from here. Nobody is dropped quietly, because a missing address is the usual reason a photo never arrives.

pack:photo-attributionphotofacedelivery
by recued-core pinned v1

Use “Re-describe a person” in Recued. After changing someone's name, rebuild the stored names on their photos and queue those photos to be written again. Photos already approved are left alone and counted, because somebody signed those off.

pack:photo-attributionphotofacedelivery
by recued-core pinned v2
Skip a photo
Background automation

Use “Skip a photo” in Recued. Leave one photo out of the sending queue and release everyone who was waiting on it. Their other photos are untouched, so this cancels one picture for everyone in it rather than cancelling a person.

pack:photo-attributionphotofacedelivery
by recued-core pinned v2
Send one person their photos
Background automation

Use “Send one person their photos” in Recued. Send one person a single message carrying every photo of them that has been approved. A fresh copy of each picture is made with its embedded details removed, and that copy is what travels.

pack:photo-attributionphotofacedelivery
by recued-core pinned v2

Use “See what has been delivered” in Recued. Show who has received which photo and when, one row per person per picture, with the message it arrived under. It reads information without changing anything.

pack:photo-attributionphotofacedelivery
by recued-core pinned v1
View pack details, dependencies, and permissions →

What this is

The review screen: the photo itself, the names Recued matched in it, and the line it wrote — together, so a wrong name or a wrong sentence is something you can see rather than take on trust.

This is the only place a wrong attribution gets caught. Nothing else compares the names against the picture, and the next step after this sends the picture to the people named.

The photo is read live, never copied

The picture is read from where it sits each time you open this, and Recued keeps no copy. Move or rename it and this says so, rather than showing a thumbnail that is quietly out of date.

Correcting the line

The box opens with the line already in it, so fixing one word means fixing one word. Press Save and the correction is kept.

Saving an unchanged line changes nothing — not the wording, and not who is recorded as having written it. (Emptying the box keeps the line too; there is no way to leave a photo with no line at all.)

⚠ What actually protects a line you wrote is marking the photo ready. An approved photo is never rewritten. A photo you corrected but left unapproved still counts as waiting, so re-describing one of the people in it will discard your line and write a fresh one — deliberately, because the reason to re-describe somebody is that their name changed, and your line names them under the old one. If you have fixed the wording, mark it ready in the same visit.

Ready to send?

Three choices, not a tick box, and deliberately:

  • leave as it is — the default, so opening this screen and pressing Save never

changes whether a photo is ready.

  • yes, ready — the photo and its line are approved for everyone recognised in it.
  • no, hold it back — returns it to the pile for another look.

A tick box could not tell "I did not touch this" from "no", so simply opening a photo would have quietly un-approved it.

Who was matched, and how closely

The table lists each person and their distance — lower is a closer match. Two names may be two people, or one face that resembled two people on your roster, and the picture above is how you tell which.

Leaving a photo out

Skipping releases everyone waiting on it and nothing is sent. The record stays, so a re-scan will not offer it again.

Not offered to an AI

This screen is kept out of the chat and MCP tool catalog. Approving a photo is the decision to send someone their picture, and it belongs to a person looking at the picture.

It used to share that job with two smaller recipes — one that approved a photo by id, one that rewrote its line. Both are retired: this screen does what they did, with the photo in front of you, and two ways to do one thing is how they drifted apart (one of them stamped when you decided; the other did not).

What that flag is, exactly: it means an AI is never handed this as a tool. It is not an authorisation boundary — a caller that already knows the recipe's name can still reach it through the generic runner. What actually stops an AI here is the approval gate: driven from an AI, every write this screen makes pauses for the owner first. Both together are the point; neither alone is the whole answer.

When you last decided

Marking a photo ready — or holding it back — records the moment you did. Editing the line alone does not: correcting a word is not the same as reaching a verdict, and the two are worth telling apart when you come back to a pile of photos weeks later.

How this photo got here

The dates say when it was scanned, when its line was written, and when you last decided about it — so a photo that has been sitting for weeks is distinguishable from one that arrived this morning. Matched at is the tolerance the scan ran with: a higher number lets more faces through, so a surprising name on a photo matched at a loose tolerance is worth a second look.

A photo you left out shows the reason you gave, so the decision is still legible later.

How it works 37 steps

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

Process (37 steps)
◆ photo recued-core.photo-attribution.photo.get
Get photo on photo attribution
■ found compare
Check if photo record id has data
⚠ guard guard
Stop if found equals
■ edit trim
Trim whitespace from setting sentence
■ has_edit all
Check if all conditions are true
◆ wrote recued-core.photo-attribution.photo.update
Update photo on photo attribution
skip: step.has_edit equal false
■ approving compare
Check if setting ready equals yes, ready
■ holding compare
Check if setting ready equals no, hold it back
■ touched any
Check if any of the conditions are true
■ next_status ternary
Apply ternary
◆ after_edit recued-core.photo-attribution.photo.get
Get photo on photo attribution
■ now date_add
Add 0 seconds to
◆ restated recued-core.photo-attribution.photo.update
Update photo on photo attribution
skip: step.touched equal false
◆ now_photo recued-core.photo-attribution.photo.get
Get photo on photo attribution
■ photo_ref template
Generate text from a template
◆ people recued-core.photo-attribution.attributed_result.search
Search attributed result on photo attribution
■ prows default
Apply default
■ src trim
Trim whitespace from now photo record source path
■ can_look compare
Check if src has data
■ look_at default
Apply default
◆ shot recued-core.photo-derive.image.preview
Preview image on photo derive
skip: step.can_look equal false
■ tries default
Apply default
■ shot_ok filter
Filter by condition
■ got_shot compare
Check if shot ok 0 result file ref exists
◆ read core.storage.file.read-temp
Read temp storage file
skip: step.got_shot equal false
■ live default
Apply default
skip: step.got_shot equal false
■ photo_note ternary
Apply ternary
■ p_ids replace
Replace text in item profile ref
◆ p_got recued-core.photo-attribution.face_profile.get
Get face profile on photo attribution
■ p_named map
Extract from each item
■ p_rows coalesce
Use the first available value from: item name, item roster key, (unnamed)
■ people_rows map
Extract from each item
■ people_table to_table
Format results as a data table
■ actions default
Apply default
■ was_skipped compare
Check if now photo record status equals skipped
■ skip_note ternary
Apply ternary
■ card to_summary
Format results as a summary card
▼
Output
summary card
file_preview live
filter now_photo
table people_table
record_fields now_photo.record
button actions
Settings 3 configurable

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

ready setting = leave as it is
photo id setting = [object Object]
sentence setting =

Uses (6 operations)

Pack operation Get photo on photo attribution recued-core.photo-attribution.photo.get
Pack operation Update photo on photo attribution recued-core.photo-attribution.photo.update
Pack operation Search attributed result on photo attribution recued-core.photo-attribution.attributed_result.search
Pack operation Preview image on photo derive recued-core.photo-derive.image.preview
Files Read temp storage file core.storage.file.read-temp
Pack operation Get face profile on photo attribution recued-core.photo-attribution.face_profile.get

Trust & control

What installing this recipe would let it do. Recued grants these permissions at install — review them there before approving.

What it's allowed to do

Write Pack Photo Attribution external change
Read: photo.get · No approvalWrite: photo.update · No approvalRead: attributed_result.search · No approvalRead: face_profile.get · No approval
Read Files core.storage.file.read-temp read-only

1 more isn't listed here. You'll see it at install.

Data it touches

SurfacesFiles

About

Tags

pack:photo-attributionphotofacedeliveryrecordsv1

Details

37 steps 3 configurable settings recipe_id: photo-detail