Outreach Gate
Run the gate stage for one outreach run: decide who is eligible to keep moving and route or suppress the rest. This is a bulk stage. The per-person verdict belongs to eligibility-gate and every write belongs to twenty-engine-sync; this skill owns batch scope, caps, checkpoints, and the QA gate.
References
Read these first:
references/CONTEXT.mdreferences/docs/outreach-operator/run-contract.mdreferences/docs/outreach-operator/tool-map.mdreferences/docs/outreach-operator/control-plane.md
Open when checkpointing to Paperclip or choosing a surface:
references/docs/outreach-operator/workflow.mdreferences/docs/paperclip-operator/cli-contract.mdreferences/docs/paperclip-operator/integration-matrix.md
Process
Follow the bulk-stage pattern in run-contract.md. The verdict is eligibility-gate; the writes are twenty-engine-sync.
- Resume. Read the Run Record. Confirm
gateis in the run's stage scope and read its checkpoint. Read the suppression, dedup, TTL, consent, and routing rules.- Done when the rules are known and the current counts are stated.
- Read the segment from Twenty: the run's resolved leads not yet gated.
- Get the verdict. For each person, get the
eligibility-gateverdict (reuse / re-enrich / source / suppress / skip) and routing. The gate is decision-only; it does not write. - Apply the verdict through
twenty-engine-sync: dedup, TTL checks, suppression, and routing. Suppress through the wired blocklists where applicable (grinfi__add_to_leads_blacklist,instantly__blocklist_create); seetool-map.md.- Never contact or queue a
suppressor no-consent person. - Stop and checkpoint as
stoppedif a cap or stop condition trips.
- Never contact or queue a
- Checkpoint. Write gate counts (eligible, suppressed, re-enrich, skipped, errored) and move
gatetoqa.- Done when every resolved lead carries a verdict and routing, and the counts sum to the resolved total.
- QA gate. Present the gated batch and the suppression outcomes against the run's QA gate. On pass, set
gatetodone. On fail, set it toreviseorstoppedwith a comment.
Boundaries
- Bulk stage. Gate decides eligibility and routing; it does not enrich, assemble, or send.
- The verdict belongs to
eligibility-gate; the writes belong totwenty-engine-sync. Do not reimplement the verdict or write Twenty directly. - Suppression is hard. Never move a suppressed or no-consent person forward, and honor TTL and dedup before spend.
- Honor caps and stop conditions, and stay within the run's segment.