Skip to content

Unify request and world-state operand resolution - #245

Merged
jgeluk merged 2 commits into
developfrom
issue/238-unified-evaluation-context
Aug 21, 2026
Merged

jgeluk merged 2 commits into
developfrom
issue/238-unified-evaluation-context

Conversation

@jgeluk

@jgeluk jgeluk commented Aug 20, 2026 •

Copy link
Copy Markdown
Member

Closes #238.

Summary

  • remove dprod:RuntimeReference, resolveRuntime, and the duplicate dprod:currentDateTime
  • add one immutable, provenance-bearing dprod:EvaluationContext containing request, state, agent, and clock inputs
  • remove dprod:path and its RDF-list traversal language
  • add the closed dprod:OperandSource set and require every left operand to declare exactly one dprod:operandSource and one IRI-valued dprod:operandProperty
  • resolve request, immutable world-state, and built-in context operands through the same one-hop, fail-fast resolver
  • bind dprod:currentAgent and standard odrl:dateTime through that resolver
  • reject obsolete paths, runtime references, unknown sources, missing bindings, missing or multiple values, and type mismatches
  • migrate all examples and align the ontology, SHACL, formal semantics, specification, README, overview, profile, and writer guide

Breaking changes

  • dprod:path is removed; RDF-list and multi-step operand traversal are unsupported
  • request and state producers must normalize every policy-relevant fact directly onto their source node before evaluation
  • operand sources are closed to request, immutable state snapshot, and evaluation context
  • dprod:currentDateTime is removed; use odrl:dateTime
  • unresolved runtime input is a hard evaluation error, never an ordinary false constraint

The normalized authorization request is runtime evaluation input, not an RDF odrl:Request policy; DPROD continues to reject the latter until Offer-Request-Agreement semantics are defined.

Verification

  • 47 DPROD Contracts tests
  • 2 repository-policy tests
  • all contract Turtle artifacts parse
  • all four example graphs conform to SHACL
  • git diff --check

@vercel

vercel Bot commented Aug 20, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
dprod Ready Ready Preview Aug 20, 2026 4:10pm

@jgeluk
jgeluk merged commit 3c6e0e1 into develop Aug 21, 2026
5 checks passed
jgeluk added a commit to matthiasautrata/dprod that referenced this pull request Oct 21, 2026
[Carried forward onto develop for EKGF#275 by Matthias Autrata: conflicts
resolved against EKGF#244/EKGF#245/EKGF#262/EKGF#268/EKGF#270/EKGF#272, the namespace changed from
https://www.omg.org/spec/DPROD/dprod/ to https://ekgf.org/dprod/spec/develop/,
and EKGF#244's duty-only shape and test migrated from dprod:recurrence to
dprod:schedule, which is not duty-only.]
jgeluk added a commit to matthiasautrata/dprod that referenced this pull request Oct 21, 2026
[Carried forward onto develop for EKGF#275 by Matthias Autrata: conflicts
resolved against EKGF#244/EKGF#245/EKGF#262/EKGF#268/EKGF#270/EKGF#272, the namespace changed from
https://www.omg.org/spec/DPROD/dprod/ to https://ekgf.org/dprod/spec/develop/,
and EKGF#244's duty-only shape and test migrated from dprod:recurrence to
dprod:schedule, which is not duty-only.]
tonyseale pushed a commit to matthiasautrata/dprod that referenced this pull request Oct 29, 2026
[Carried forward onto develop for EKGF#275 by Matthias Autrata: conflicts
resolved against EKGF#244/EKGF#245/EKGF#262/EKGF#268/EKGF#270/EKGF#272, the namespace changed from
https://www.omg.org/spec/DPROD/dprod/ to https://ekgf.org/dprod/spec/develop/,
and EKGF#244's duty-only shape and test migrated from dprod:recurrence to
dprod:schedule, which is not duty-only.]
tonyseale pushed a commit to matthiasautrata/dprod that referenced this pull request Oct 29, 2026
[Carried forward onto develop for EKGF#275 by Matthias Autrata: conflicts
resolved against EKGF#244/EKGF#245/EKGF#262/EKGF#268/EKGF#270/EKGF#272, the namespace changed from
https://www.omg.org/spec/DPROD/dprod/ to https://ekgf.org/dprod/spec/develop/,
and EKGF#244's duty-only shape and test migrated from dprod:recurrence to
dprod:schedule, which is not duty-only.]

This branch was successfully deployed

1 active deployment
Preview — d11c364b Deployed Aug 20, 2026 by vercel[bot]
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.

DPROD Contracts: decide RuntimeReference extensibility and reject unknown references

1 participant