feat: contingent possible values for deal stage, activity outcome and list-member submission #6

Merged
KofTwentyTwo merged 1 commits from feature/contingent-possible-values into develop 2026-10-14 12:09:10 +00:00
KofTwentyTwo commented 2026-10-14 01:14:00 +00:00 (Migrated from github.com)

Summary

Contingent possible values (QQQ docs/CONTINGENT-POSSIBLE-VALUES.md):

Table A → B Criterion
crmDeal pipelineId → pipelineStageId pipelineId = ${input.pipelineId}
crmActivity activityTypeId → outcomeId activityTypeId = ${input.activityTypeId}
crmEmailListMember contactId → formSubmissionId contactId = ${input.contactId}

Skipped:

  • Activity companyId → contactId/dealId: company is optional, and contact-only activities are supported.
  • LogActivityProcess: its inputs are backend-only, with no form.

Tests

ContingentPossibleValuesTest asserts the metadata and runs real searches across two scopes (an empty parent returns none for FORM and all for FILTER).

Local offline verify could not resolve qbit-build-parent ${revision} from the local cache, so CI is the gate. A local build with a supplemental POM passed 378 tests.

🤖 Generated with Claude Code

## Summary Contingent possible values (QQQ docs/CONTINGENT-POSSIBLE-VALUES.md): | Table | A → B | Criterion | |---|---|---| | crmDeal | pipelineId → pipelineStageId | `pipelineId = ${input.pipelineId}` | | crmActivity | activityTypeId → outcomeId | `activityTypeId = ${input.activityTypeId}` | | crmEmailListMember | contactId → formSubmissionId | `contactId = ${input.contactId}` | Skipped: - Activity companyId → contactId/dealId: company is optional, and contact-only activities are supported. - LogActivityProcess: its inputs are backend-only, with no form. ## Tests `ContingentPossibleValuesTest` asserts the metadata and runs real searches across two scopes (an empty parent returns none for FORM and all for FILTER). Local offline verify could not resolve `qbit-build-parent ${revision}` from the local cache, so CI is the gate. A local build with a supplemental POM passed 378 tests. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.