Skip to content

Picklist value sets diverge across objects; seed data contradicts schemas and hooks #490

Closed

Description

@yinlianghui

Same-named picklists have different value sets on different objects

  • lead_source: 12 values on Lead (lead.object.ts:155-172), 6 on Opportunity (opportunity.object.ts:147-158), 5 on Contact (contact.object.ts:141-151)
  • industry: 15 values on Lead (lead.object.ts:83-103), 6 on Account (account.object.ts:73-84)
  • salutation: 4 on Lead, 5 on Contact (Contact adds prof)
  • payment_terms: 5 on Quote (incl. due_on_receipt), 4 on Contract

lead-conversion.flow.ts:61 copies {leadRecord.industry} into crm_account.industry and :127 copies {leadRecord.lead_source} into crm_opportunity.lead_source — Lead-only values (logistics, energy, webinar, paid_search, …) become illegal enum values on the created records. Seeded leads contain these values.

Copies in flows/actions also drift: schedule-followup.flow.ts:50-56 re-declares Task type but is missing other; opportunity.actions.ts:98-106 re-declares all 7 stage options.

Seed data (src/data/index.ts) contradicts schemas and hooks

  • Tasks set related_to_account/opportunity/case (:531-550) but never related_to_type; task.hook.ts:191-194 and the Related tab (schedule-followup.flow.ts:87-88 comment) require both halves.
  • Explicit values are seeded into autonumber fields: case_number (9 rows), contract_number (4), quote_number (5), also used as externalId (:858, :936).
  • Readonly fields are seeded (is_closed, created_date, days_in_stage, resolution_time_hours, actual_revenue); :745,755 set is_closed: true on resolved cases while case.hook.ts:64 computes false.
  • probability / forecast_category seed values contradict the mapping in opportunity.hook.ts:27-56, which overwrites them in beforeInsert (e.g. qualification 30 vs 25, proposal pipeline vs commit; pseudo-random block at :471).
  • :756 flags cases as SLA-violated while :767 gives them future sla_due_date values.
  • period_label seeds use 'This Quarter'-style strings (:1041,1055,1069); forecast.hook.ts:30-36 generates 'Q3 2026'-style.
  • :1176 comment references src/objects/demo_bootstrap.hook.ts, which does not exist.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions