backbone-digest 0.3.0

KPI digests — the periodic KPI-email engine: a declarative name-keyed KPI registry other modules extend, per-recipient fenced rendering with declared (never row-count) KPI drops, the anti-spam slowdown ladder, a shared tips carousel, and a daily plain-pull cron whose due-date column is the queue (Odoo digest port)
server:
  host: 0.0.0.0
  port: 8080
  grpc_port: 50051
database:
  url: postgresql://root:password@localhost:5432/digestdb
  max_connections: 10
  min_connections: 5
  connect_timeout: 30
  idle_timeout: 600
logging:
  level: info
  format: json
  file: logs/digest.log
jobs: {}
survey:
  attempt_token:
    ttl_days: 30
  session_code:
    min_digits: 4
    max_digits: 9
    hard_ttl_hours: 24
  lockout:
    max_failures: 3
    base_seconds: 30
    cap_seconds: 900
    min_spacing_seconds: 1
module:
  name: survey
  enabled: true
features:
  soft_delete: true
  state_machines: true
  workflows: false
entities:
  survey:
    collection: survey_surveys
    enabled: true
    cache_ttl: 300
    pagination:
      default_limit: 20
      max_limit: 100
  question:
    collection: survey_questions
    enabled: true
    cache_ttl: 300
    pagination:
      default_limit: 50
      max_limit: 500
  question_answer:
    collection: survey_question_answers
    enabled: true
    cache_ttl: 300
    pagination:
      default_limit: 50
      max_limit: 500
  user_input:
    collection: survey_user_inputs
    enabled: true
    cache_ttl: 0
    pagination:
      default_limit: 50
      max_limit: 500
  user_input_line:
    collection: survey_user_input_lines
    enabled: true
    cache_ttl: 0
    pagination:
      default_limit: 100
      max_limit: 1000
  survey_survey_restrict_user:
    collection: survey_survey_restrict_users
    enabled: true
    cache_ttl: 300
    pagination:
      default_limit: 50
      max_limit: 500
  survey_survey_lang:
    collection: survey_survey_langs
    enabled: true
    cache_ttl: 300
    pagination:
      default_limit: 50
      max_limit: 500
  survey_question_triggering_answer:
    collection: survey_question_triggering_answers
    enabled: true
    cache_ttl: 300
    pagination:
      default_limit: 50
      max_limit: 500
  survey_user_input_predefined_question:
    collection: survey_user_input_predefined_questions
    enabled: true
    cache_ttl: 0
    pagination:
      default_limit: 100
      max_limit: 1000
  digest_digest:
    collection: digest_digests
    enabled: true
    cache_ttl: 300
    pagination:
      default_limit: 20
      max_limit: 100
  digest_subscription:
    collection: digest_subscriptions
    enabled: true
    cache_ttl: 300
    pagination:
      default_limit: 20
      max_limit: 100
  digest_digest_kpi:
    collection: digest_digest_kpis
    enabled: true
    cache_ttl: 300
    pagination:
      default_limit: 20
      max_limit: 100
  digest_tip:
    collection: digest_tips
    enabled: true
    cache_ttl: 300
    pagination:
      default_limit: 20
      max_limit: 100
  digest_tip_user:
    collection: digest_tip_users
    enabled: true
    cache_ttl: 300
    pagination:
      default_limit: 20
      max_limit: 100
tracing:
  enabled: true
  exporter: otlp
  endpoint: http://localhost:4317
metrics:
  enabled: true
  endpoint: /metrics
  port: 9090