open-policy-agent / open-policy-agent/java-opa-sdk
Implement union builtins (union, object.union)
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 16
- Forks
- 24
- Avg merge
- 8h 17m
- Merged PRs (30d)
- 15
Description
Missing builtins
unionobject.union
Context
These OPA builtins are not implemented in the SDK. Most are exercised by the Rego compliance suite (opa-evaluator/src/test/resources/compliance/.../TestData) and currently raise FunctionNotFoundError; implementing them makes those cases pass.
Implementation notes
Register each builtin with an @OpaBuiltin-annotated static method (see io.github.open_policy_agent.opa.ast.builtin.impls). Core builtins are listed in BuiltinRegistry.BUILTIN_CLASSES; domain-specific ones live in an opa-builtins-* module exposed via the BuiltinProvider SPI (e.g. RegexBuiltins, CidrBuiltins, SemverBuiltins).
Reference: https://www.openpolicyagent.org/docs/policy-reference/#built-in-functions
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in the builtin implementations under io.github.open_policy_agent.opa.ast.builtin.impls and inspect BuiltinRegistry.BUILTIN_CLASSES and the @OpaBuiltin patterns. Check the Rego compliance cases under opa-evaluator/src/test/resources/compliance/.../TestData and the OPA built-in reference for union and object.union semantics. Done means both builtins are registered and the affected compliance cases no longer raise FunctionNotFoundError.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100