Skip to content

CAP-PFM-QRY-020Evaluate dated conditions for named records

Markdown

CAP-PFM-QRY-020

Evaluate dated conditions for named records

Markdown
  • DocumentDraft
  • Product intentProposed
  • ImplementationObserved

Planning

Feature
FEAT-PFM-QRY-01
Exercised by
FAS-PFM-QRY-01-05
Key concepts
CON-PFM-QRY-001, CON-PFM-QRY-002
Actors
ACT-PFM-016
Depends on
CAP-PFM-QRY-001
Proved by
ATS-PFM-QRY-020

Implementation

Executable suites
TST-PFM-QRY-266

KindCapabilityProduct areaPlatformModuleQuestions, record exploration and data deliveryRevision1

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.

Outcomes
Applications distinguish a failed condition from a missing fact.Dated evaluations use the workspace calendar.
Surfaces
job

Controls

19 controls apply, from the corpus control catalogue.

TC-AZ-001 TC-AZ-002 TC-AZ-003 TC-AZ-004 TC-IAM-001 TC-IAM-002 TC-IAM-004 TC-IAM-005 TC-LOG-001 TC-LOG-004 TC-LOG-005 TC-PI-001 TC-PI-005 TC-TEN-001 TC-TEN-002 TC-TEN-003 TC-VEN-001 TC-VEN-002 TC-VEN-003

Business Rules

6 rules, 6 to be proved before approval. A rule's product intent is derived from its origin: 0 confirmed by a product decision, the rest inheriting this capability's proposed.

IdRuleKindEnforced atProvenance
01must prove
Proposed
Only a system caller can evaluate conditions over named records; a user caller is refused.
permissionservicetest
services-platform:modules/queries/tests/integration/services/execute/compile-predicates.integration.spec.js#refuses a user execution, because predicates are evaluated by the macroservice itself
02must prove
Proposed
An evaluation accepts one to one thousand nonblank subject ids and one to one hundred predicates with distinct nonblank names; invalid lists or incompatible predicate options are refused.
validationserviceobserved
03must prove
Proposed
Boolean conditions preserve an unknown result for missing facts by default, while the alternate null policy evaluates them using the ordinary query filter’s meaning.
calculationservicetest
services-platform:modules/queries/tests/integration/services/execute/compile-predicates.integration.spec.js#keeps a negated operator unknown over an absent value, and answers it as the filter does when NULL means false
04must prove
Proposed
Collection calculations support count, sum, minimum and maximum; empty collections give zero for count and sum and no value for minimum and maximum.
calculationserviceobserved
05must prove
Proposed
A supplied evaluation day anchors relative dates in the workspace calendar, including calendar shifts; invalid days and date tokens used on unsuitable fields are refused.
calculationservicetest
services-platform:modules/queries/tests/integration/services/execute/compile-predicates.integration.spec.js#resolves the same shift from the as-of day, so a contact eighteen today was not the day before
06must prove
Proposed
Evaluation reads only the named records in the current workspace through a read-only database role, and its logs omit subject ids, fact values and query text.
invariantservice, databaseobserved

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.