Skip to content

Reject duty-only properties on non-Duty rules - #244

Merged
jgeluk merged 1 commit into
issue/184-schedule-modelfrom
issue/239-duty-only-properties
Aug 19, 2026
Merged

Reject duty-only properties on non-Duty rules#244
jgeluk merged 1 commit into
issue/184-schedule-modelfrom
issue/239-duty-only-properties

Conversation

@jgeluk

@jgeluk jgeluk commented Aug 19, 2026

Copy link
Copy Markdown
Member

Addresses #239.

This is intentionally stacked on #234 because the acceptance criteria require the Schedule model introduced there. Once #234 is merged, this branch can be rebased onto develop and the PR base changed.

Changes

  • add regression tests for Permission and Prohibition misuse of every surviving duty-only property
  • remove OWL domains that silently inferred an additional odrl:Duty type
  • enforce Duty subject scope through fail-closed SHACL
  • retain global rejection of obsolete dprod:recurrence
  • verify generic dprod:schedule remains valid on non-Duty resources
  • document SHACL as the enforceable source of Duty-only scope

Verification

  • python -m unittest discover -s dprod-contracts/tests (48 tests)
  • python -m unittest discover -s tests (2 tests)
  • python dprod-contracts/validate.py
  • python spec-generator/main.py
  • git diff --check

@vercel

vercel Bot commented Aug 19, 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 19, 2026 5:11pm

@jgeluk
jgeluk merged commit f79f28c into issue/184-schedule-model Aug 19, 2026
5 checks passed
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.

1 participant