Skip to content

CAP-PFM-ELG-006Maintain the application-declared rule vocabulary

Markdown

CAP-PFM-ELG-006

Maintain the application-declared rule vocabulary

Markdown
  • DocumentDraft
  • Product intentConfirmed
  • ImplementationObserved

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
The builder exposes condition declarations for licensed applications.Published expressions protect their declared conditions from withdrawal.
Surfaces
consoleapijob
Intent sources
services-platform:docs/proposals/eligibility/17-decision-register.md#D-05services-platform:docs/proposals/eligibility/17-decision-register.md#D-07services-platform:docs/milestones/plans/PLAT-M11-plan.md#2. Scope

Controls

29 controls apply, from the corpus control catalogue.

TC-AVL-001 TC-AVL-005 TC-AZ-001 TC-AZ-002 TC-AZ-003 TC-AZ-004 TC-CHG-001 TC-CHG-002 TC-CHG-003 TC-CHG-004 TC-CHG-005 TC-CHG-006 TC-DAT-001 TC-DAT-002 TC-DAT-003 TC-IAM-001 TC-IAM-006 TC-LOG-005 TC-PI-001 TC-PI-003 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.readapitenant

Business Rules

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

IdRuleKindEnforced atProvenance
01must prove
Confirmed
Applications register complete condition and purpose declarations during deployment, and Platform rejects an invalid declaration set with its problems without persisting any part.
validationservicetest
02must prove
Confirmed
Condition declarations must use compatible operators, their application’s registered datasets and functions, valid subject fields and registered choice sources.
validationservicetest
03must prove
Confirmed
Changed declarations require a higher version; an equal or lower version is rejected, while an identical redeployment performs no write.
validationservicetest
services-platform:modules/eligibility/tests/integration/services/registry/register-eligibility-registration.integration.spec.js#refuses a declaration changed at the same version, saying to bump it, and writes nothing
04must prove
Confirmed
Omitted declarations are withdrawn unless a published rule uses the condition or a binding uses the purpose anywhere, in which case registration fails with the affected workspace and rule identified.
policyservicetest
services-platform:modules/eligibility/tests/integration/services/registry/register-eligibility-registration.integration.spec.js#refuses to withdraw a type a published version of a tenant uses, naming the tenant and the definition, and writes nothing
05must prove
Confirmed
Deprecated conditions continue to evaluate and appear only when explicitly requested; withdrawn conditions never appear in the authoring catalogue.
lifecycleservicetest
services-platform:modules/eligibility/tests/e2e/eligibility-registry.e2e.spec.js#never lists a withdrawn type, even with deprecated ones included
06must prove
Confirmed
Renamed conditions preserve their former keys as aliases for existing published expressions.
invariantservicetest
services-platform:modules/eligibility/tests/integration/services/registry/register-eligibility-registration.integration.spec.js#folds a renamed type into its successor rather than withdrawing it, so the old key keeps resolving
07must prove
Confirmed
Authoring catalogues include only licensed application conditions and purposes, support subject-kind filtering and omit internal queries and provider functions.
permissionservicetest
services-platform:modules/eligibility/tests/e2e/eligibility-registry.e2e.spec.js#lists the active types of the tenant’s applications in key order, without a deprecated or withdrawn one or an unlicensed application’s
08must prove
Confirmed
Each process retains its evaluation catalogue for 60 seconds and invalidates that snapshot after its own successful registration.
policyservicetest
services-platform:modules/eligibility/tests/integration/services/registry/registry-snapshot.integration.spec.js#keeps answering what it read for 60 seconds, though a type was written since
09
Confirmed
Condition and purpose declarations have no staff-facing mutation route and change through application deployments.
permissionapitest
10
Confirmed
Platform declares testing, population, simulation and decision purposes plus date and portal-role conditions; portal-role evaluation awaits a user-to-contact relationship.
policyservicedocumented
services-platform:docs/eligibility.md#6.1 The manifest and the registration function

Scenarios

IdGivenWhenThenProvenance
01An application registers a renamed condition with its former key.A workspace evaluates an unchanged publication using the earlier name.The alias continues to resolve the condition.test
02An application submits no conditions despite existing published uses.Deployment attempts registration.Those dependencies reject withdrawal without changing the catalogue.test

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.