Skip to main content

When to use these helpers

Use these helpers in the planning configuration that owns their source relations. A returned validation message is meaningful only in a validation consumer; a calculated field will simply store that value.

Calling style

Call a helper as planningPlanReviewState($inverseRelations, $.review_cadence, $.start_date). Not every helper is available everywhere: validation, form, and document-template helpers have distinct context contracts. Editor suggestions are not proof that a helper is supported at runtime.

Complete function reference

planningDependencyExecutionLinkValidation

Prevents a dependency from targeting the same execution item as its source. Signature: planningDependencyExecutionLinkValidation(sourceExecutionItem, targetExecutionItem) Example:
Availability: Planning/status configuration contexts. Use validation-returning helpers only where a validation result is consumed. Note: It can also be written as a transform when the first value is the input: value | planningDependencyExecutionLinkValidation(...).

planningMeasurementPeriodValidation

Returns true when the measurement period is chronological, otherwise a validation message. Signature: planningMeasurementPeriodValidation(periodStart, periodEnd) Example:
Availability: Planning/status configuration contexts. Use validation-returning helpers only where a validation result is consumed. Note: It can also be written as a transform when the first value is the input: value | planningMeasurementPeriodValidation(...).

planningPlanApprovalRequired

Returns whether the configured plan currently requires approval. Signature: planningPlanApprovalRequired(planCategory, planType, baseFramework, targetEntityClass, overlayFrameworks, inverseRelations) Example:
Availability: Planning/status configuration contexts. Use validation-returning helpers only where a validation result is consumed. Note: It can also be written as a transform when the first value is the input: value | planningPlanApprovalRequired(...).

planningPlanApprovalStage

Returns the latest planning approval stage, or null. Signature: planningPlanApprovalStage(inverseRelations) Example:
Availability: Planning/status configuration contexts. Use validation-returning helpers only where a validation result is consumed. Note: It can also be written as a transform when the first value is the input: value | planningPlanApprovalStage(...).

planningPlanApprovalState

Returns not_required, pending, approved, rejected, or conditional for the plan. Signature: planningPlanApprovalState(planCategory, planType, baseFramework, targetEntityClass, overlayFrameworks, inverseRelations) Example:
Availability: Planning/status configuration contexts. Use validation-returning helpers only where a validation result is consumed. Note: It can also be written as a transform when the first value is the input: value | planningPlanApprovalState(...).

planningPlanBaselineSummary

Returns a readable summary of the current baseline, or null. Signature: planningPlanBaselineSummary(inverseRelations) Example:
Availability: Planning/status configuration contexts. Use validation-returning helpers only where a validation result is consumed. Note: It can also be written as a transform when the first value is the input: value | planningPlanBaselineSummary(...).

planningPlanBaselineVersionId

Returns the current baseline version identifier, or null. Signature: planningPlanBaselineVersionId(inverseRelations) Example:
Availability: Planning/status configuration contexts. Use validation-returning helpers only where a validation result is consumed. Note: It can also be written as a transform when the first value is the input: value | planningPlanBaselineVersionId(...).

planningPlanLastReviewAt

Returns the latest completed review date as an ISO string, or null. Signature: planningPlanLastReviewAt(inverseRelations) Example:
Availability: Planning/status configuration contexts. Use validation-returning helpers only where a validation result is consumed. Note: It can also be written as a transform when the first value is the input: value | planningPlanLastReviewAt(...).

planningPlanNextReviewAt

Returns the next scheduled or cadence-derived review date as an ISO string, or null. Signature: planningPlanNextReviewAt(inverseRelations, reviewCadence?, startDate?) Example:
Availability: Planning/status configuration contexts. Use validation-returning helpers only where a validation result is consumed. Note: It can also be written as a transform when the first value is the input: value | planningPlanNextReviewAt(...).

planningPlanRebaselineFlag

Returns whether a baseline, decision, or review signals rebaselining. Signature: planningPlanRebaselineFlag(inverseRelations) Example:
Availability: Planning/status configuration contexts. Use validation-returning helpers only where a validation result is consumed. Note: It can also be written as a transform when the first value is the input: value | planningPlanRebaselineFlag(...).

planningPlanRebaselineReason

Returns the current baseline, latest decision, or latest review rebaseline reason, or null. Signature: planningPlanRebaselineReason(inverseRelations) Example:
Availability: Planning/status configuration contexts. Use validation-returning helpers only where a validation result is consumed. Note: It can also be written as a transform when the first value is the input: value | planningPlanRebaselineReason(...).

planningPlanReviewState

Returns a planning review state such as in_review, scheduled, reviewed, or follow_up_required. Signature: planningPlanReviewState(inverseRelations, reviewCadence?, startDate?) Example:
Availability: Planning/status configuration contexts. Use validation-returning helpers only where a validation result is consumed. Note: It can also be written as a transform when the first value is the input: value | planningPlanReviewState(...).

planningPlanVersionLabel

Returns the latest plan-version label, or null. Signature: planningPlanVersionLabel(inverseRelations) Example:
Availability: Planning/status configuration contexts. Use validation-returning helpers only where a validation result is consumed. Note: It can also be written as a transform when the first value is the input: value | planningPlanVersionLabel(...).

planningResourcePeriodValidation

Returns true when the resource period end is on or after its start, otherwise a validation message. Signature: planningResourcePeriodValidation(periodStart, periodEnd) Example:
Availability: Planning/status configuration contexts. Use validation-returning helpers only where a validation result is consumed. Note: It can also be written as a transform when the first value is the input: value | planningResourcePeriodValidation(...).

planningRiskMitigationValidation

Requires a non-empty normalized mitigation link when a mitigation list is supplied. Signature: planningRiskMitigationValidation(mitigationExecutionItemIds) Example:
Availability: Planning/status configuration contexts. Use validation-returning helpers only where a validation result is consumed. Note: It can also be written as a transform when the first value is the input: value | planningRiskMitigationValidation(...).

statusStage

Returns the normalized stage for a status without a supplied template definition. Signature: statusStage(status) Example:
Availability: Planning/status configuration contexts. Use validation-returning helpers only where a validation result is consumed. Note: It can also be written as a transform when the first value is the input: value | statusStage(...).

statusStageFromTemplate

Returns the normalized stage for a status using a supplied status-template definition. Signature: statusStageFromTemplate(templateContent, status) Example:
Availability: Planning/status configuration contexts. Use validation-returning helpers only where a validation result is consumed. Note: It can also be written as a transform when the first value is the input: value | statusStageFromTemplate(...).

Before you publish

  • Start with a known value and confirm the expected result.
  • Handle null, empty text, and empty lists deliberately.
  • Do not place secrets, access tokens, or sensitive personal data in an expression.
  • Read expression contexts and availability before copying an expression between features.
Planning governance, review, and baseline helpers in KayanOS