Meridian handbook
ReferenceConfiguration

engine.yaml: DMO modules

Every key of engine.yaml's claims section (ownership claim methods, signal weights, auto-approval) and membership section (renewal reminders), with type, default and meaning, and where the portal settings live.

engine-dmo

This feature is part of the DMO bundle (engine-dmo).

These sections belong to modules only engine-dmo compiles. engine-cms refuses them by the module’s name.

claims

How a business proves it owns a listing. Each verification method adds a signal with a weight to the claim’s confidence score; staff decide, unless auto-approval is on and the score clears the threshold.

claims:
  verification_ttl: 7d
  methods:
    post:
      enabled: true
      code_ttl: 30d
  auto_approve:
    enabled: true
    threshold: 120
KeyTypeDefaultMeaning
claims.verification_ttlretention7dA claim not verified in this long expires
claims.methods.email_domain.enabledbooleantrueThe claimant’s email domain matching the listing’s website domain counts
claims.methods.listed_email.enabledbooleantrueA confirmation sent to the email address on the listing counts
claims.methods.contact_approval.enabledbooleantrueAn existing contact of the organisation approving the claim counts
claims.methods.phone_callback.enabledbooleantrueStaff calling the listed number and confirming counts
claims.methods.post.enabledbooleantrueA code posted to the listed address and entered by the claimant counts
claims.methods.post.code_ttlretention30dHow long a posted code works
claims.methods.post.max_attemptsinteger5Wrong entries allowed for a posted code
claims.methods.phone_auto.enabledbooleanfalseAutomated phone verification. Reserved: true is refused, as no telephony driver ships
claims.signalsmap of integersSee belowEach signal’s weight. Writing the map replaces the listed weights by key
claims.auto_approve.enabledbooleanfalseApprove a claim automatically when its score reaches the threshold
claims.auto_approve.thresholdinteger80The score that approves. A warning when it is not above the largest automated signal’s weight, since one signal could then approve a claim
claims.notify_existing_contactsbooleantrueTell the organisation’s existing contacts that someone has claimed it
claims.free_provider_liststringbundledThe free email providers (whose domains prove nothing): bundled, the list shipped with the engine, or a path relative to the project of a text file with one domain per line and # comments

The default signal weights:

SignalWeight
email_domain_match50
listed_email_match60
contact_approval70
contact_objection-100
phone_callback60
post_code_returned60
free_provider_only-20
prior_rejection-30
manual100

engine-dmo crm claims rescore recomputes open claims under changed weights; it never approves one. See Claims.

membership

KeyTypeDefaultMeaning
membership.renewal.reminderslist of strings[60d, 30d, 7d, 0d]When, before a membership renews, the renewal notice is sent: whole days from 0d to 366d, counted in the site’s time zone

The tiers themselves are in config/memberships.yaml.

portal

The member portal’s settings live in config/portal/portal.yaml. A portal: block left in engine.yaml is still read, with a warning saying where it belongs; its keys are the same as that file’s.