Skip to content

docs(policy): document dynamic value mappings - #385

Open
alkalescent wants to merge 4 commits into
mainfrom
docs/dynamic-value-mappings
Open

docs(policy): document dynamic value mappings#385
alkalescent wants to merge 4 commits into
mainfrom
docs/dynamic-value-mappings

Conversation

@alkalescent

@alkalescent alkalescent commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Summary

  • explain Dynamic Value Mapping configuration, evaluation, resolver behavior, and constraints
  • add a patient assignment example with matching outcomes
  • link the page from the Policy overview

Testing

  • vale docs/components/policy/dynamic-value-mappings.mdx docs/components/policy/index.md
  • npm run check-vendored-yaml
  • npm run build

Summary by CodeRabbit

  • Documentation
    • Added comprehensive documentation for Dynamic Value Mappings, including configuration, composition, resolver operators, evaluation behavior, constraints, and CLI usage.
    • Added Dynamic Value Mappings to the policy documentation overview and relationship diagram.
    • Clarified key-status semantics and the requirements for maintaining alphabetical key-status sorting.
  • New Features
    • Added key-status sorting as a supported policy key sorting option.

@alkalescent
alkalescent requested review from a team as code owners August 12, 2026 15:08
@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@alkalescent, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 14 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 2376e84c-cc17-4552-8908-0873b6c48e4e

📥 Commits

Reviewing files that changed from the base of the PR and between f4f4b78 and e9551cf.

📒 Files selected for processing (1)
  • docs/components/policy/dynamic-value-mappings.mdx

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 4a2e6133-36fb-457f-817b-33f24f6aee9f

📥 Commits

Reviewing files that changed from the base of the PR and between 8da9189 and f4f4b78.

📒 Files selected for processing (1)
  • docs/components/policy/index.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/components/policy/index.md

📝 Walkthrough

Walkthrough

The PR adds Dynamic Value Mappings documentation and links it from the Policy documentation. It also updates policy specifications with KeyStatus sorting metadata and mapping requirements.

Changes

Dynamic Value Mappings

Layer / File(s) Summary
Mapping concepts and configuration
docs/components/policy/dynamic-value-mappings.mdx
Defines Dynamic Value Mappings, configuration, selectors, supported operators, evaluation behavior, and policy constraints.
Evaluation example and references
docs/components/policy/dynamic-value-mappings.mdx
Adds a patient-assignment example and links to related Attribute, Subject Mapping, Entity Resolution, Action, CLI, and API documentation.
Policy documentation integration
docs/components/policy/index.md
Adds Dynamic Value Mappings to the Policy relationship diagram and component list.

KeyStatus sorting specification

Layer / File(s) Summary
KeyStatus mapping and sorting contract
specs/policy/kasregistry/key_access_server_registry.openapi.yaml, specs/policy/objects.openapi.yaml, specs/policy/unsafe/unsafe.openapi.yaml
Documents the required key_status mapping and adds SORT_KAS_KEYS_TYPE_KEY_STATUS as a supported key-list sorting field.

Estimated code review effort: 2 (Simple) | ~10 minutes

Mergeability Score: ⚪ Minimal · up to f4f4b

This PR documents dynamic value mappings and updates related policy references and specifications. No actionable merge-blocking risk remains beyond normal checks and review.

Poem

A rabbit mapped each value with care,
Through resolvers hopping everywhere.
Key statuses sorted in rows,
Policy links now clearly show.
“Documentation blooms!” the rabbit sings,
With tidy rules and useful things.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: adding documentation for Dynamic Value Mappings in the policy documentation.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/dynamic-value-mappings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor

📄 Preview deployed to https://opentdf-docs-pr-385.surge.sh

@alkalescent
alkalescent enabled auto-merge (squash) August 13, 2026 02:11
Comment thread docs/components/policy/index.md Outdated
- Actions (optionally scoped to Namespaces)
- Subject Mappings (optionally scoped to Namespaces)
- Subject Condition Sets (optionally scoped to Namespaces)
- [Dynamic Value Mappings](/components/policy/dynamic-value-mappings) (optionally scoped to Namespaces)

@pflynn-virtru pflynn-virtru Aug 13, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we need /docs prepended , or relative

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using relative paths is best practice

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That would cause a 404 on the PR preview site.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What we REALLY need is an automated job that will compile and build docs changes and flag on broken links (cc @penadenise ) -- not an immediate blocker obviously

Comment thread docs/components/policy/index.md Outdated
- Actions (optionally scoped to Namespaces)
- Subject Mappings (optionally scoped to Namespaces)
- Subject Condition Sets (optionally scoped to Namespaces)
- [Dynamic Value Mappings](/components/policy/dynamic-value-mappings) (optionally scoped to Namespaces)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using relative paths is best practice

jakedoublev
jakedoublev previously approved these changes Aug 13, 2026
Comment thread docs/components/policy/dynamic-value-mappings.mdx Outdated
Comment thread docs/components/policy/dynamic-value-mappings.mdx Outdated

```mermaid
flowchart LR
Resource["Resource Attribute Value<br/>.../value/mrn-123"] --> Segment["Value segment<br/>mrn-123"]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It doesn't look like this
is rendering in the GH mermaid renderer 🤔

Co-authored-by: Jake Van Vorhis <83739412+jakedoublev@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants