URL: /code/checks · Id: `page:/code/checks`

# Checks: what refuses one send

> The nine compile checks, the line dev prints for each, and the per-send codes each call can refuse with.

Nine checks run when a file compiles, and `dev` names the line that fails. At send time the same lines hold as typed refusals, one code per check.

```text title="dev, one line per check"
$ npx startup-builder dev
metrics/q4.mdx:5  S1  keyResults[1].metric: demo-requests has no parent chain to arr. Set its parent: opened-deals-and-trials.
sequences/cold-email-thread-founder.mdx:5  S2  steps.second sends with no code-tier Check. Add guards: [customer-collision].
audiences/lapsed-leads.mdx:4  S3  exclude: drops suppressed. Suppressed Contacts never enter a List: put it back.
plays/lead-reactivation.mdx:5  S4  budget: 48 USD a month is over Dana’s Mandate of 0. Sign it with Mandate.authorize, or the first send waits on an Approval.
plays/lead-reactivation.mdx:4  S5  on: Lead.lapsed is not a registered Event. Did you mean Offer.trialed?
content/webinars/60-day-notices.mdx:4  S6  distribute.posts.handles: dana-x is not a connected account. Did you mean dana-linkedin?
plays/cold-email.mdx:5  S7  body: “sound friendly” compiles to no Evaluator. Write what a draft must hold or must leave out.
experiments/pro-price.mdx:3  S8  varies: offers/pro.mdx price, assigned by contact. Assign by market or by time.
agents/sales/prospector.mdx:4  S9  results: reply-count is not a node or leaf of the ARR tree. Did you mean positive-reply-rate?
```

## Checks
| Check | It holds | At send time |
| --- | --- | --- |
| <a id="s1"></a>S1 | The Metric’s parent chain reaches `arr`: the Result card’s path. | — |
| <a id="s2"></a>S2 | Every send passes a code-tier Check before it goes. | [`customer-collision`](/code/refusals#check-customer-collision), [`domain-authenticated`](/code/refusals#check-domain-authenticated), [`mailbox-warm`](/code/refusals#check-mailbox-warm), [`price`](/code/refusals#check-price), [`claim`](/code/refusals#check-claim), [`spam-brake`](/code/refusals#check-spam-brake), [`owned-by-a-person`](/code/refusals#check-owned-by-a-person) |
| <a id="s3"></a>S3 | Lists leave out suppressed Contacts and read Consent. | [`suppressed-contact`](/code/refusals#check-suppressed-contact), [`no-consent`](/code/refusals#check-no-consent), [`consent-stop`](/code/refusals#check-consent-stop), [`customer-collision`](/code/refusals#check-customer-collision) |
| <a id="s4"></a>S4 | The budget fits the Mandate, or opens an Approval. | [`spend-limit`](/code/refusals#stop-spend-limit) |
| <a id="s5"></a>S5 | Every `on:` names a registered Event. | — |
| <a id="s6"></a>S6 | Content `from` and `distribute` handles resolve. | — |
| <a id="s7"></a>S7 | Every body rule compiles to an Evaluator that runs as <Op verb="Action.evaluate" /> on each draft before its window opens. | [`provenance-hold`](/code/refusals#check-provenance-hold), [`fact-check`](/code/refusals#check-fact-check), [`content-evals`](/code/refusals#check-content-evals), [`claims-resolve`](/code/refusals#check-claims-resolve), [`approved-pages`](/code/refusals#check-approved-pages) |
| <a id="s8"></a>S8 | An Experiment that varies an Offer’s Price assigns by market or by time. | [`price-split-by-buyer`](/code/refusals#check-price-split-by-buyer) |
| <a id="s9"></a>S9 | Each Key Result names a node or leaf of the ARR tree, and a seat’s Key Result sits in its band. | — |

## Refusals
| The call it guards | Codes |
| --- | --- |
| <Op verb="Agreement.create" /> | [`borrowed-first`](/code/refusals#check-borrowed-first), [`evidence`](/code/refusals#check-evidence) |
| <Op verb="Audience.update" /> | [`audience-guard`](/code/refusals#check-audience-guard) |
| <Op verb="Contact.enrich" /> | [`customer-collision`](/code/refusals#check-customer-collision) |
| <Op verb="Contact.enroll" /> | [`no-consent`](/code/refusals#check-no-consent), [`suppressed-contact`](/code/refusals#check-suppressed-contact) |
| <Op verb="Content.publish" /> | [`content-evals`](/code/refusals#check-content-evals), [`fact-check`](/code/refusals#check-fact-check) |
| <Op verb="Conversation.answer" /> | [`claim`](/code/refusals#check-claim) |
| <Op verb="Deal.advance" /> | [`stage-fields`](/code/refusals#check-stage-fields) |
| <Op verb="Deal.propose" /> | [`no-meeting-held`](/code/refusals#check-no-meeting-held) |
| <Op verb="Message.broadcast" /> | [`provenance-hold`](/code/refusals#check-provenance-hold), [`spam-brake`](/code/refusals#check-spam-brake) |
| <Op verb="Message.schedule" /> | [`consent-stop`](/code/refusals#check-consent-stop), [`domain-authenticated`](/code/refusals#check-domain-authenticated), [`double-opt-in`](/code/refusals#check-double-opt-in), [`mailbox-warm`](/code/refusals#check-mailbox-warm), [`visit-in-copy`](/code/refusals#check-visit-in-copy) |
| <Op verb="Offer.publish" /> | [`contribution-floor`](/code/refusals#check-contribution-floor) |
| <Op verb="Post.publish" /> | [`claims-resolve`](/code/refusals#check-claims-resolve) |
| <Op verb="Post.schedule" /> | [`embargo`](/code/refusals#check-embargo) |
| <Op verb="Quote.send" /> | [`price`](/code/refusals#check-price) |
| <Op verb="Renewal.open" /> | [`renewal-notice`](/code/refusals#check-renewal-notice) |
| <Op verb="Review.publish" /> | [`display-consent`](/code/refusals#check-display-consent) |
| <Op verb="Subscription.unsubscribe" /> | [`exit-never-waits`](/code/refusals#check-exit-never-waits) |
| Any send a Play starts | [`abuse`](/code/refusals#check-abuse), [`accept-guard`](/code/refusals#check-accept-guard), [`activation-event`](/code/refusals#check-activation-event), [`address-cap`](/code/refusals#check-address-cap), [`admin-lock`](/code/refusals#check-admin-lock), [`advice-review`](/code/refusals#check-advice-review), [`agent-label`](/code/refusals#check-agent-label), [`agreement`](/code/refusals#check-agreement), [`allocation-fence`](/code/refusals#check-allocation-fence), [`announced-only`](/code/refusals#check-announced-only), [`approved-pages`](/code/refusals#check-approved-pages), [`ask-budget`](/code/refusals#check-ask-budget), [`audience-age`](/code/refusals#check-audience-age), [`audience-rest`](/code/refusals#check-audience-rest), [`authorship`](/code/refusals#check-authorship), [`availability`](/code/refusals#check-availability), [`bank-gap`](/code/refusals#check-bank-gap), [`bar-cap`](/code/refusals#check-bar-cap), [`baseline`](/code/refusals#check-baseline), [`batch-cap`](/code/refusals#check-batch-cap), [`billing-connected`](/code/refusals#check-billing-connected), [`binding-terms`](/code/refusals#check-binding-terms), [`blank-over-guess`](/code/refusals#check-blank-over-guess), [`boundary`](/code/refusals#check-boundary), [`buyer-keeps`](/code/refusals#check-buyer-keeps), [`buyer-stop`](/code/refusals#check-buyer-stop), [`capacity`](/code/refusals#check-capacity), [`capacity-drop`](/code/refusals#check-capacity-drop), [`capture-path`](/code/refusals#check-capture-path), [`category`](/code/refusals#check-category), [`cell-floor`](/code/refusals#check-cell-floor), [`change-feed`](/code/refusals#check-change-feed), [`cherry-pick`](/code/refusals#check-cherry-pick), [`claims-hold`](/code/refusals#check-claims-hold), [`class-cap`](/code/refusals#check-class-cap), [`click-first`](/code/refusals#check-click-first), [`clinician-hold`](/code/refusals#check-clinician-hold), [`cloak`](/code/refusals#check-cloak), [`cluster`](/code/refusals#check-cluster), [`code-test`](/code/refusals#check-code-test), [`coherence`](/code/refusals#check-coherence), [`collection-record`](/code/refusals#check-collection-record), [`collision-hold`](/code/refusals#check-collision-hold), [`comparison-claim`](/code/refusals#check-comparison-claim), [`concentration`](/code/refusals#check-concentration), [`connections-file`](/code/refusals#check-connections-file), [`consent-withdrawn`](/code/refusals#check-consent-withdrawn), [`contact-lease`](/code/refusals#check-contact-lease), [`conversion-send`](/code/refusals#check-conversion-send), [`copy-deletion`](/code/refusals#check-copy-deletion), [`correction-cap`](/code/refusals#check-correction-cap), [`correctness`](/code/refusals#check-correctness), [`count-check`](/code/refusals#check-count-check), [`count-floor`](/code/refusals#check-count-floor), [`creator-ceiling`](/code/refusals#check-creator-ceiling), [`credit`](/code/refusals#check-credit), [`crisis-hold`](/code/refusals#check-crisis-hold), [`cross-sell-off`](/code/refusals#check-cross-sell-off), [`customer-ask-cap`](/code/refusals#check-customer-ask-cap), [`customer-side`](/code/refusals#check-customer-side), [`deadline-drop`](/code/refusals#check-deadline-drop), [`decay`](/code/refusals#check-decay), [`deploy-freeze`](/code/refusals#check-deploy-freeze), [`disclosure`](/code/refusals#check-disclosure), [`disclosure-hold`](/code/refusals#check-disclosure-hold), [`dispute-hold`](/code/refusals#check-dispute-hold), [`distinctness`](/code/refusals#check-distinctness), [`do-not-call`](/code/refusals#check-do-not-call), [`domain`](/code/refusals#check-domain), [`dormant-address`](/code/refusals#check-dormant-address), [`draft-match`](/code/refusals#check-draft-match), [`drag`](/code/refusals#check-drag), [`drift-hold`](/code/refusals#check-drift-hold), [`duplicate`](/code/refusals#check-duplicate), [`duplicate-page`](/code/refusals#check-duplicate-page), [`editorial`](/code/refusals#check-editorial), [`engagement-ceiling`](/code/refusals#check-engagement-ceiling), [`engagement-gate`](/code/refusals#check-engagement-gate), [`evaluator`](/code/refusals#check-evaluator), [`evaluator-lock`](/code/refusals#check-evaluator-lock), [`exclusive`](/code/refusals#check-exclusive), [`expiry-hold`](/code/refusals#check-expiry-hold), [`fabrication-veto`](/code/refusals#check-fabrication-veto), [`face-voice-consent`](/code/refusals#check-face-voice-consent), [`field-scope`](/code/refusals#check-field-scope), [`finding`](/code/refusals#check-finding), [`fingerprint`](/code/refusals#check-fingerprint), [`first-party`](/code/refusals#check-first-party), [`fix-gate`](/code/refusals#check-fix-gate), [`flag-gate`](/code/refusals#check-flag-gate), [`flake`](/code/refusals#check-flake), [`fraud`](/code/refusals#check-fraud), [`fraud-hold`](/code/refusals#check-fraud-hold), [`fresh-anecdote`](/code/refusals#check-fresh-anecdote), [`fresh-reading`](/code/refusals#check-fresh-reading), [`fresh-reads`](/code/refusals#check-fresh-reads), [`gift-approval`](/code/refusals#check-gift-approval), [`gift-cap`](/code/refusals#check-gift-cap), [`gift-connection`](/code/refusals#check-gift-connection), [`give-ask-guard`](/code/refusals#check-give-ask-guard), [`grade-floor`](/code/refusals#check-grade-floor), [`handle-connected`](/code/refusals#check-handle-connected), [`held-out-gate`](/code/refusals#check-held-out-gate), [`hold`](/code/refusals#check-hold), [`holdout-floor`](/code/refusals#check-holdout-floor), [`hospitality-cap`](/code/refusals#check-hospitality-cap), [`import-refusal`](/code/refusals#check-import-refusal), [`inbound-source`](/code/refusals#check-inbound-source), [`incident-hold`](/code/refusals#check-incident-hold), [`independence`](/code/refusals#check-independence), [`insider`](/code/refusals#check-insider), [`intake`](/code/refusals#check-intake), [`invitation-rest`](/code/refusals#check-invitation-rest), [`invite-bounce`](/code/refusals#check-invite-bounce), [`join-raid`](/code/refusals#check-join-raid), [`keep-first`](/code/refusals#check-keep-first), [`kitchen-notes`](/code/refusals#check-kitchen-notes), [`knowledge`](/code/refusals#check-knowledge), [`knowledge-hold`](/code/refusals#check-knowledge-hold), [`label-backlog`](/code/refusals#check-label-backlog), [`late-note`](/code/refusals#check-late-note), [`late-send`](/code/refusals#check-late-send), [`launch-readiness`](/code/refusals#check-launch-readiness), [`leak-scan`](/code/refusals#check-leak-scan), [`license-allowlist`](/code/refusals#check-license-allowlist), [`limit-on-offer`](/code/refusals#check-limit-on-offer), [`limit-truth`](/code/refusals#check-limit-truth), [`line-claim`](/code/refusals#check-line-claim), [`line-on-pricing`](/code/refusals#check-line-on-pricing), [`lint-block`](/code/refusals#check-lint-block), [`listing-cap`](/code/refusals#check-listing-cap), [`listing-guard`](/code/refusals#check-listing-guard), [`live-answer`](/code/refusals#check-live-answer), [`mark-cap`](/code/refusals#check-mark-cap), [`market`](/code/refusals#check-market), [`market-hold`](/code/refusals#check-market-hold), [`marketing-purpose`](/code/refusals#check-marketing-purpose), [`mention-budget`](/code/refusals#check-mention-budget), [`metadata`](/code/refusals#check-metadata), [`method`](/code/refusals#check-method), [`movement-limit`](/code/refusals#check-movement-limit), [`named-score`](/code/refusals#check-named-score), [`no-amplification`](/code/refusals#check-no-amplification), [`no-cash-or-travel`](/code/refusals#check-no-cash-or-travel), [`no-conditional-seat`](/code/refusals#check-no-conditional-seat), [`no-contact`](/code/refusals#check-no-contact), [`no-reset`](/code/refusals#check-no-reset), [`notice`](/code/refusals#check-notice), [`notice-at-join`](/code/refusals#check-notice-at-join), [`number-match`](/code/refusals#check-number-match), [`number-token`](/code/refusals#check-number-token), [`obligation-void`](/code/refusals#check-obligation-void), [`old-employer`](/code/refusals#check-old-employer), [`opinion-bank`](/code/refusals#check-opinion-bank), [`opt-in`](/code/refusals#check-opt-in), [`opt-out`](/code/refusals#check-opt-out), [`organization-lock`](/code/refusals#check-organization-lock), [`organization-stop`](/code/refusals#check-organization-stop), [`organizer-list`](/code/refusals#check-organizer-list), [`original-audience`](/code/refusals#check-original-audience), [`outcome-event`](/code/refusals#check-outcome-event), [`overlap-terms`](/code/refusals#check-overlap-terms), [`owned-by-a-person`](/code/refusals#check-owned-by-a-person), [`owner`](/code/refusals#check-owner), [`ownership`](/code/refusals#check-ownership), [`ownership-stated`](/code/refusals#check-ownership-stated), [`paid-slot`](/code/refusals#check-paid-slot), [`partner-box`](/code/refusals#check-partner-box), [`partner-claim`](/code/refusals#check-partner-claim), [`pass-sheet-lock`](/code/refusals#check-pass-sheet-lock), [`paying-user`](/code/refusals#check-paying-user), [`payout-limit`](/code/refusals#check-payout-limit), [`pending-ceiling`](/code/refusals#check-pending-ceiling), [`pester`](/code/refusals#check-pester), [`pick`](/code/refusals#check-pick), [`pilot-cap`](/code/refusals#check-pilot-cap), [`pitch-cap`](/code/refusals#check-pitch-cap), [`plan-lock`](/code/refusals#check-plan-lock), [`portfolio-caps`](/code/refusals#check-portfolio-caps), [`pre-registration`](/code/refusals#check-pre-registration), [`prep-holds`](/code/refusals#check-prep-holds), [`price-match`](/code/refusals#check-price-match), [`price-split-by-buyer`](/code/refusals#check-price-split-by-buyer), [`price-sync`](/code/refusals#check-price-sync), [`probe-limit`](/code/refusals#check-probe-limit), [`problem-cost`](/code/refusals#check-problem-cost), [`prompt-cap`](/code/refusals#check-prompt-cap), [`proof`](/code/refusals#check-proof), [`proof-drift`](/code/refusals#check-proof-drift), [`provenance`](/code/refusals#check-provenance), [`provision-throttle`](/code/refusals#check-provision-throttle), [`public-fetch`](/code/refusals#check-public-fetch), [`question-cap`](/code/refusals#check-question-cap), [`quiet-hours`](/code/refusals#check-quiet-hours), [`raise`](/code/refusals#check-raise), [`re-run-cap`](/code/refusals#check-re-run-cap), [`read-lock`](/code/refusals#check-read-lock), [`read-only`](/code/refusals#check-read-only), [`readability`](/code/refusals#check-readability), [`readiness`](/code/refusals#check-readiness), [`recompute`](/code/refusals#check-recompute), [`reconcile`](/code/refusals#check-reconcile), [`recording`](/code/refusals#check-recording), [`recording-hold`](/code/refusals#check-recording-hold), [`recording-off`](/code/refusals#check-recording-off), [`regression`](/code/refusals#check-regression), [`removals-first`](/code/refusals#check-removals-first), [`render-check`](/code/refusals#check-render-check), [`reply-hold`](/code/refusals#check-reply-hold), [`resolution-stop`](/code/refusals#check-resolution-stop), [`review-ask-audit`](/code/refusals#check-review-ask-audit), [`review-reply`](/code/refusals#check-review-reply), [`reward`](/code/refusals#check-reward), [`reward-hold`](/code/refusals#check-reward-hold), [`rights-hold`](/code/refusals#check-rights-hold), [`rival-name`](/code/refusals#check-rival-name), [`role-unstaffed`](/code/refusals#check-role-unstaffed), [`room-cadence`](/code/refusals#check-room-cadence), [`room-rules`](/code/refusals#check-room-rules), [`sample-rule`](/code/refusals#check-sample-rule), [`sandbox-connected`](/code/refusals#check-sandbox-connected), [`sandbox-only`](/code/refusals#check-sandbox-only), [`scale-gate`](/code/refusals#check-scale-gate), [`screening`](/code/refusals#check-screening), [`seeded-request`](/code/refusals#check-seeded-request), [`self-exclusion`](/code/refusals#check-self-exclusion), [`session-gate`](/code/refusals#check-session-gate), [`shadow-hold`](/code/refusals#check-shadow-hold), [`sheet-lock`](/code/refusals#check-sheet-lock), [`ship-date`](/code/refusals#check-ship-date), [`side-effect-hold`](/code/refusals#check-side-effect-hold), [`slot-id`](/code/refusals#check-slot-id), [`snippet-pause`](/code/refusals#check-snippet-pause), [`source-change`](/code/refusals#check-source-change), [`source-consent`](/code/refusals#check-source-consent), [`stale-fact`](/code/refusals#check-stale-fact), [`stale-output`](/code/refusals#check-stale-output), [`stale-snapshot`](/code/refusals#check-stale-snapshot), [`status`](/code/refusals#check-status), [`steering`](/code/refusals#check-steering), [`step-gate`](/code/refusals#check-step-gate), [`steward-line`](/code/refusals#check-steward-line), [`store-billed`](/code/refusals#check-store-billed), [`store-rule`](/code/refusals#check-store-rule), [`stripe-revenue`](/code/refusals#check-stripe-revenue), [`summons-only`](/code/refusals#check-summons-only), [`supplied-address`](/code/refusals#check-supplied-address), [`synthetic-media`](/code/refusals#check-synthetic-media), [`target-decline`](/code/refusals#check-target-decline), [`tax-screening`](/code/refusals#check-tax-screening), [`terms-hold`](/code/refusals#check-terms-hold), [`testimonial`](/code/refusals#check-testimonial), [`thread-link`](/code/refusals#check-thread-link), [`tier-gate`](/code/refusals#check-tier-gate), [`tragedy-skip`](/code/refusals#check-tragedy-skip), [`trial-cost`](/code/refusals#check-trial-cost), [`uniform-ask`](/code/refusals#check-uniform-ask), [`unsure-view`](/code/refusals#check-unsure-view), [`use-when`](/code/refusals#check-use-when), [`venue-rest`](/code/refusals#check-venue-rest), [`verification`](/code/refusals#check-verification), [`viewer-limit`](/code/refusals#check-viewer-limit), [`visible-only`](/code/refusals#check-visible-only), [`visit-capture`](/code/refusals#check-visit-capture), [`voice-consent`](/code/refusals#check-voice-consent), [`voice-gate`](/code/refusals#check-voice-gate), [`vote-ask`](/code/refusals#check-vote-ask), [`watched-event`](/code/refusals#check-watched-event), [`window-close`](/code/refusals#check-window-close), [`window-expiry`](/code/refusals#check-window-expiry), [`words-check`](/code/refusals#check-words-check) |

Each code with its fix, its wait and the call that clears it: [Refusals](/code/refusals).