Skip to content

CAP-PFM-ELG-010Refresh decisions and request role rechecks

Markdown

CAP-PFM-ELG-010

Refresh decisions and request role rechecks

Markdown
  • DocumentDraft
  • Product intentConfirmed
  • ImplementationPartially observed

KindCapabilityProduct areaPlatformModuleEligibility, Responsibilities and AttentionRevision1

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
A release changes which expression subsequent requests select.Registered change events request role rechecks; CRM has not yet registered its events.
Surfaces
apijob
Intent sources
services-platform:docs/proposals/eligibility/17-decision-register.md#D-22services-platform:docs/proposals/eligibility/17-decision-register.md#D-25services-platform:docs/milestones/plans/PLAT-M11-plan.md#2. Scope

Controls

29 controls apply, from the corpus control catalogue.

TC-AVL-004 TC-AVL-005 TC-AZ-001 TC-AZ-002 TC-AZ-003 TC-AZ-004 TC-AZ-006 TC-DAT-001 TC-DAT-003 TC-IAM-001 TC-IAM-002 TC-IAM-004 TC-IAM-005 TC-IAM-006 TC-LOG-001 TC-MON-001 TC-PI-001 TC-PI-002 TC-PI-003 TC-PI-004 TC-PI-005 TC-PRV-001 TC-PRV-002 TC-TEN-001 TC-TEN-002 TC-TEN-003 TC-VEN-001 TC-VEN-002 TC-VEN-003

Permissions

KeyChecked atScope
platform.eligibility.reconcileapitenant

Business Rules

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

IdRuleKindEnforced atProvenance
01must prove
Confirmed
Compiled display evaluations may reuse an answer for two minutes; authorization, transactional, dry-run, test and indeterminate results are excluded, and cache hits create no new decision record.
policyservicetest
services-platform:modules/eligibility/tests/e2e/eligibility-evaluate.e2e.spec.js#never answers an authorization evaluation from the cache
02must prove
Confirmed
Publication, rollback and reference replacement invalidate cached answers for the changed rule and its followers before their next evaluation.
invariantservicetest
services-platform:modules/eligibility/tests/e2e/eligibility-evaluate.e2e.spec.js#answers from the data again once the publish has flushed the definition’s decisions
03must prove
Confirmed
Publication and rollback enqueue current rule-derived role holders and simulation gains, limited to 10,000 newly eligible subjects, and report the queued count.
calculationservicetest
services-platform:modules/eligibility/tests/integration/services/population/population-run.integration.spec.js#queues a reconcile for every subject the simulation found newly eligible when the version is published
04must prove
Confirmed
CRM contact, organization and affiliation events invalidate subject answers and request role rechecks only when a relevant condition declares event refresh; time-only conditions acknowledge the event without work.
policyservicetest
services-platform:modules/eligibility/tests/integration/services/population/population-run.integration.spec.js#does nothing for a change a ttl-only type reads: nothing dropped, nothing queued
05must prove
Confirmed
The system-only reconcile route requires a staff key, accepts at most 100 subjects and deduplicates both repeated subjects and already-pending requests.
permissionapi, servicetest
06must prove
Confirmed
Switching a condition to event refresh requires a higher declaration version, and that switch alone produces no change record.
no proof recorded yet
policyservicedocumented
services-platform:docs/eligibility.md#16. Invalidation (P4-05)
07must prove
Confirmed
Portal-message edits change the plan and bypass earlier cached answers, suspension rejects requests immediately and resumption may reuse the unchanged plan’s answer until its two-minute expiry.
policyservicetest
08
Confirmed
Security owns role rechecks, nightly reconciliation and grant expiry, while eligibility supplies evaluations and queues the requests.
policyservicedocumented

Scenarios

IdGivenWhenThenProvenance
01A member becomes inactive while a display answer is cached.The administrator republishes the expression.The subsequent answer reads the changed membership data.test
02A released expression controls a role.Its publication completes.Current holders and sampled simulation gains are queued for recheck.test
services-platform:modules/eligibility/tests/integration/services/population/population-run.integration.spec.js#queues a reconcile for every subject the simulation found newly eligible when the version is published

Edge Cases

IdGivenWhenThenProvenance
03An organization used by many cached decisions changes.The change receiver handles its event.Some earlier route-cache answers remain until expiry because subject indexing is absent.documented

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.