Skip to content

JNY-PFM-QRY-002Reuse a question for morning delivery

Markdown

JNY-PFM-QRY-002

Reuse a question for morning delivery

Markdown
  • DocumentDraft
  • Product intentProposed
  • ImplementationObserved

KindJourneyProduct areaPlatformModuleQuestions, record exploration and data deliveryRevision1End-to-endRequired

Read atservices-platform ad3f6a65react-console baf6dae3

The Formal Contract

The narrative above explains; the sections below are authoritative — the rules, scenarios and tests this document binds.

Goal
Keep a parameterized contact question, request its output and arrange daily delivery.
Screens
/console/{tenantId}/queries/new/console/{tenantId}/queries/{id}/console/{tenantId}/queries/schedules/new/console/{tenantId}/queries/schedules/{id}

Steps

#SurfaceActionCapabilityExpectedProvenance
1/console/{tenantId}/queries/newDesign a contact question with a date supplied when it runs.CAP-PFM-QRY-002Executing the question returns contacts that meet its date condition.inferred
2/console/{tenantId}/queries/{id}Keep the question under a recognizable name.CAP-PFM-QRY-006Its saved definition retains the requested date value and starts private.inferred
3startQueryExportRequest a CSV with technical field names.CAP-PFM-QRY-014The headings follow the selected output fields in their declared order.test
services-platform:modules/queries/tests/integration/services/exports/run-query-export.integration.spec.js#heads the file with the technical names in the query’s output order
4/console/{tenantId}/queries/schedules/newCreate a daily morning schedule with the execution day as the date value and skipping enabled for empty results.CAP-PFM-QRY-015The schedule retains the selected time zone, CSV options and recipient.test
5/console/{tenantId}/queries/schedules/{id}Request an immediate run while the question matches no contacts.CAP-PFM-QRY-015The history records an empty-result skip and contains no delivery.test
6/console/{tenantId}/queries/schedules/{id}Add a matching contact, run again and open the delivered link.CAP-PFM-QRY-015A single message provides a CSV containing the new contact.test
7/console/{tenantId}/queriesAttempt to remove the question while its schedule exists.CAP-PFM-QRY-006The refusal identifies the schedule that depends on the question.test

Alternate and Failure Paths

PathFrom stepConditionPath takenOutcomeProvenance
alternate4The recipient list includes an external address.Apply the external-recipient permission check.A caller without that permission cannot retain the external recipient.test
failure7The coordinator first removes the schedule.Remove the unused saved question after its dependencies are gone.The schedule and saved-query definitions no longer exist.test

Assertions

IdStatementProvenance
01The schedule supplies its execution day to the date parameter and skips delivery when the result is empty.test
02A schedule dependency prevents deletion of its saved query.test

End-to-end policy: required: Browser coverage connects the query’s Schedule action, parameter display, run history and delivered file; backend coverage supplies the export-format checks.

The Markdown files under specs/ in rhythmsoftware/rhythm-v2-docs are the canonical source of truth. This reader is a generated, read-only projection of them.