dodil/erp-brick-pipeline

src/brick_pipeline/roles.yaml

# The default roles this brick ships (erp-platform 0.9.2: a brick decides by PERMISSION; the roles are the customer's).
# From the CRM spec's actors (erp-method modules/crm). A composition maps them to its own pool roles — the pool's
# catalog (`dodil appid roles get <pool> --org <org>`) is the deployed truth; `erp-compose check --roles` reads both.
roles:
  rep:              [pipeline:opportunity:write]
  manager:          [pipeline:opportunity:write, pipeline:opportunity:read_all, pipeline:opportunity:manage,
                     pipeline:opportunity:reopen, pipeline:forecast:override, pipeline:stages:write]
  scheduler:        [pipeline:forecast:snapshot]          # whatever runs the nightly snapshot (no platform scheduler)
  activity_service: [pipeline:opportunity:touch]          # the activity brick: a deal is being worked
  lead_service:     [pipeline:opportunity:link_source]    # the lead brick: a converted lead's deal (a machine permission)
service_clients: [scheduler, activity_service, lead_service]