返回 ppt-master
web-image-review.md
根目录 / skills / ppt-master / workflows / stages / web-image-review.md
1 ---
2 description: Conditional isolated multimodal review of bounded web-image thumbnail pages.
3 ---
4
5 # Web Image Review Stage
6
7 > Supporting Generate stage for choosing from thumbnail pages already prepared
8 > by the web-image acquisition path. It reviews pixels only: it never searches,
9 > downloads, changes the locked image intent, or writes project artifacts.
10
11 ## When to Run
12
13 | Review capability | Action |
14 |---|---|
15 | An isolated worker can inspect the declared local images | Dispatch exactly one reviewer for all pending sheets in the current acquisition batch |
16 | Only the active image owner can inspect images | Read this stage and review the same batch locally |
17 | No available context can inspect images | Skip this stage and use the strict metadata-only acquisition path |
18
19 Run after `--save-candidates` has produced `Needs-Selection` rows and before any
20 `--promote` command. When the host supports follow-up messages, reuse the same
21 reviewer for later candidate pages in that acquisition run; never dispatch one
22 reviewer per resource row.
23
24 ---
25
26 ## Execution Context
27
28 **Default — isolate thumbnail pixels when available**: The active image owner
29 retains query, search, pagination, promotion, status, and provenance ownership.
30 Supply the reviewer only this stage's absolute path and these per-row records:
31
32 | Input | Required value |
33 |---|---|
34 | Row identity | Resource filename or stable batch-row identifier |
35 | Acceptance intent | Exact locked `Reference` and `Crop Policy` |
36 | Candidate state | Current page, `has_more_candidates`, and `next_candidate_page` when present |
37 | Local evidence | Absolute `review_sheet.jpg` and `candidates.json` paths |
38
39 The isolated reviewer reads this file completely, then inspects only the
40 declared sidecars and review images. It does not read `image-base.md`,
41 `image-searcher.md`, the Design Spec, the lock, or source files. It runs no
42 network request, command, or project write. If any declared path is unreadable
43 or image inspection is unavailable, return `blocked` with the exact reason.
44
45 ---
46
47 ## Review Contract
48
49 Apply the gates in order for every row:
50
51 | Order | Gate |
52 |---:|---|
53 | 1 | Reject a candidate unless its `license_tier` is `no-attribution` or `attribution-required`; also reject unreadable previews or known dimensions that cannot serve the planned placement |
54 | 2 | Confirm the exact subject or identity; `visual-verification-required` passes only when the pixels establish the missing identity evidence |
55 | 3 | Check orientation, focal placement, crop safety, and usable quiet region against the locked intent |
56 | 4 | Check the requested view, action, and mood |
57 | 5 | Among passing candidates, prefer lower expected crop loss and higher usable resolution, then no-attribution |
58
59 **Mandatory — bounded detail inspection**: Triage with `review_sheet.jpg`.
60 Open an individual `review/candidate_NN.jpg` only when exact identity or a fine
61 detail cannot be resolved from the sheet; never bulk-open every candidate.
62
63 **Hard rule — no least-bad promotion**: Select only a candidate that passes all
64 applicable gates. When none passes, return `no-pass`; do not weaken the locked
65 Reference or Crop Policy.
66
67 ---
68
69 ## Receipt and Hand-off
70
71 Return one compact table and no embedded images:
72
73 ```markdown
74 | row | decision | candidate | reason | next |
75 |---|---|---|---|---|
76 | <id> | selected / no-pass / blocked | candidate_NN.jpg / — | <short evidence> | promote / next-page / pool-exhausted / repair-input |
77 ```
78
79 For `selected`, name exactly one candidate from that row's current page. For
80 `no-pass`, use `next-page` when `has_more_candidates` is true; otherwise use
81 `pool-exhausted`. Keep the entire chat receipt under 200 words.
82
83 The active image owner validates every selected filename against
84 `candidates.json`, runs `--promote`, and verifies the downloaded original's
85 readable dimensions and provenance. A no-pass row advances to the next ranked
86 page before query replacement. An invalid receipt returns to the same reviewer
87 for correction; it never authorizes an arbitrary promotion.
88
88 lines MARKDOWN