rdflib-reasoning 0.1.0.post1.dev83__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. rdflib_reasoning-0.1.0.post1.dev83/.cursor/skills/assess-release-readiness/SKILL.md +154 -0
  2. rdflib_reasoning-0.1.0.post1.dev83/.cursor/skills/critique-project/SKILL.md +61 -0
  3. rdflib_reasoning-0.1.0.post1.dev83/.cursor/skills/new-decision-record/SKILL.md +32 -0
  4. rdflib_reasoning-0.1.0.post1.dev83/.cursor/skills/verify-project-documentation/SKILL.md +69 -0
  5. rdflib_reasoning-0.1.0.post1.dev83/.cursorignore +23 -0
  6. rdflib_reasoning-0.1.0.post1.dev83/.env.example +3 -0
  7. rdflib_reasoning-0.1.0.post1.dev83/.github/CODEOWNERS +1 -0
  8. rdflib_reasoning-0.1.0.post1.dev83/.github/CONTRIBUTING.md +15 -0
  9. rdflib_reasoning-0.1.0.post1.dev83/.github/dependabot.yml +47 -0
  10. rdflib_reasoning-0.1.0.post1.dev83/.github/release-drafter.yml +64 -0
  11. rdflib_reasoning-0.1.0.post1.dev83/.github/workflows/build.yml +219 -0
  12. rdflib_reasoning-0.1.0.post1.dev83/.github/workflows/release.yml +93 -0
  13. rdflib_reasoning-0.1.0.post1.dev83/.gitignore +94 -0
  14. rdflib_reasoning-0.1.0.post1.dev83/.markdownlint.json +3 -0
  15. rdflib_reasoning-0.1.0.post1.dev83/.markdownlintignore +1 -0
  16. rdflib_reasoning-0.1.0.post1.dev83/.pre-commit-config.yaml +27 -0
  17. rdflib_reasoning-0.1.0.post1.dev83/.script-helpers.sh +288 -0
  18. rdflib_reasoning-0.1.0.post1.dev83/.shellcheckrc +2 -0
  19. rdflib_reasoning-0.1.0.post1.dev83/AGENTS.md +54 -0
  20. rdflib_reasoning-0.1.0.post1.dev83/LICENSE +21 -0
  21. rdflib_reasoning-0.1.0.post1.dev83/Makefile +80 -0
  22. rdflib_reasoning-0.1.0.post1.dev83/PKG-INFO +178 -0
  23. rdflib_reasoning-0.1.0.post1.dev83/RDFLib Reasoning.code-workspace +72 -0
  24. rdflib_reasoning-0.1.0.post1.dev83/README.md +125 -0
  25. rdflib_reasoning-0.1.0.post1.dev83/docs/dev/AGENTS.md +26 -0
  26. rdflib_reasoning-0.1.0.post1.dev83/docs/dev/approach.md +49 -0
  27. rdflib_reasoning-0.1.0.post1.dev83/docs/dev/architecture.md +300 -0
  28. rdflib_reasoning-0.1.0.post1.dev83/docs/dev/decision-records/AGENTS.md +28 -0
  29. rdflib_reasoning-0.1.0.post1.dev83/docs/dev/decision-records/DR-001 Agents as Design Participant.md +17 -0
  30. rdflib_reasoning-0.1.0.post1.dev83/docs/dev/decision-records/DR-002 Structural Elements and Middleware Integration.md +36 -0
  31. rdflib_reasoning-0.1.0.post1.dev83/docs/dev/decision-records/DR-003 Research Agent and Development Agent Terminology.md +30 -0
  32. rdflib_reasoning-0.1.0.post1.dev83/docs/dev/decision-records/DR-004 RETE Store Persistence and Engine Update Contract.md +47 -0
  33. rdflib_reasoning-0.1.0.post1.dev83/docs/dev/decision-records/DR-005 RETE Consequent Partitioning and Retraction Compatibility.md +40 -0
  34. rdflib_reasoning-0.1.0.post1.dev83/docs/dev/decision-records/DR-006 Derivation Logging and DirectProof Reconstruction.md +49 -0
  35. rdflib_reasoning-0.1.0.post1.dev83/docs/dev/decision-records/DR-007 Proof Model and Derivation Semantics Refinement.md +44 -0
  36. rdflib_reasoning-0.1.0.post1.dev83/docs/dev/decision-records/DR-008 Proof Rendering Separation and Namespace-Aware Presentation.md +35 -0
  37. rdflib_reasoning-0.1.0.post1.dev83/docs/dev/decision-records/DR-009 Transitive Relation Index Intent.md +36 -0
  38. rdflib_reasoning-0.1.0.post1.dev83/docs/dev/decision-records/DR-010 RDF Triple Well-Formedness Enforcement.md +41 -0
  39. rdflib_reasoning-0.1.0.post1.dev83/docs/dev/decision-records/DR-011 Schema-Facing RDF Boundary Models.md +63 -0
  40. rdflib_reasoning-0.1.0.post1.dev83/docs/dev/decision-records/DR-012 Middleware-Owned Dataset Sessions and Coordination.md +65 -0
  41. rdflib_reasoning-0.1.0.post1.dev83/docs/dev/decision-records/DR-013 Dataset Middleware Internal Method and Tool Adapter Pattern.md +57 -0
  42. rdflib_reasoning-0.1.0.post1.dev83/docs/dev/decision-records/INDEX.md +17 -0
  43. rdflib_reasoning-0.1.0.post1.dev83/docs/dev/decision-records/template.md +23 -0
  44. rdflib_reasoning-0.1.0.post1.dev83/docs/dev/roadmap.md +143 -0
  45. rdflib_reasoning-0.1.0.post1.dev83/docs/example-chats/AGENTS.md +13 -0
  46. rdflib_reasoning-0.1.0.post1.dev83/docs/example-chats/EXAMPLE-001 pydantic-axiom-classes.md +544 -0
  47. rdflib_reasoning-0.1.0.post1.dev83/docs/example-chats/EXAMPLE-001 structural-elements-middlware-design.plan.md +88 -0
  48. rdflib_reasoning-0.1.0.post1.dev83/docs/example-chats/EXAMPLE-002 Exclude example chats.md +219 -0
  49. rdflib_reasoning-0.1.0.post1.dev83/docs/example-chats/EXAMPLE-003 Agent type ambiguity and naming conventions.md +253 -0
  50. rdflib_reasoning-0.1.0.post1.dev83/docs/example-chats/EXAMPLE-004 Architecture Document.md +312 -0
  51. rdflib_reasoning-0.1.0.post1.dev83/docs/example-chats/EXAMPLE-005 RDFS Entailment Test Suite.md +607 -0
  52. rdflib_reasoning-0.1.0.post1.dev83/docs/example-chats/EXAMPLE-005 RDFS Entailment Test Suite.plan.md +119 -0
  53. rdflib_reasoning-0.1.0.post1.dev83/docs/example-chats/README.md +107 -0
  54. rdflib_reasoning-0.1.0.post1.dev83/docs/specs/AGENTS.md +33 -0
  55. rdflib_reasoning-0.1.0.post1.dev83/docs/specs/README.md +5 -0
  56. rdflib_reasoning-0.1.0.post1.dev83/docs/specs/fetch-w3c.sh +39 -0
  57. rdflib_reasoning-0.1.0.post1.dev83/docs/specs/jena-inspiration/AGENTS.md +48 -0
  58. rdflib_reasoning-0.1.0.post1.dev83/docs/specs/jena-inspiration/fetch-jena.sh +46 -0
  59. rdflib_reasoning-0.1.0.post1.dev83/docs/specs/jena-inspiration/jena-docs/flows.md +50 -0
  60. rdflib_reasoning-0.1.0.post1.dev83/docs/specs/owl2-crosswalks/AGENTS.md +9 -0
  61. rdflib_reasoning-0.1.0.post1.dev83/docs/specs/owl2-crosswalks/create-crosswalks.py +649 -0
  62. rdflib_reasoning-0.1.0.post1.dev83/docs/specs/owl2-crosswalks/master-table-seed.json +1550 -0
  63. rdflib_reasoning-0.1.0.post1.dev83/docs/specs/owl2-mapping-to-rdf/AGENTS.md +7 -0
  64. rdflib_reasoning-0.1.0.post1.dev83/docs/specs/owl2-mapping-to-rdf/create-index.py +232 -0
  65. rdflib_reasoning-0.1.0.post1.dev83/docs/specs/owl2-reasoning-profiles/AGENTS.md +7 -0
  66. rdflib_reasoning-0.1.0.post1.dev83/docs/specs/owl2-reasoning-profiles/create-index.py +395 -0
  67. rdflib_reasoning-0.1.0.post1.dev83/docs/specs/owl2-semantics-rdf/AGENTS.md +7 -0
  68. rdflib_reasoning-0.1.0.post1.dev83/docs/specs/owl2-semantics-rdf/create-index.py +374 -0
  69. rdflib_reasoning-0.1.0.post1.dev83/docs/specs/rdf11-semantics/AGENTS.md +7 -0
  70. rdflib_reasoning-0.1.0.post1.dev83/docs/specs/rdf11-semantics/create-index.py +232 -0
  71. rdflib_reasoning-0.1.0.post1.dev83/docs/specs/w3c-normalize.py +655 -0
  72. rdflib_reasoning-0.1.0.post1.dev83/docs/specs/w3c-patterns.md +855 -0
  73. rdflib_reasoning-0.1.0.post1.dev83/docs-src/_static/.gitkeep +0 -0
  74. rdflib_reasoning-0.1.0.post1.dev83/docs-src/api/index.md +12 -0
  75. rdflib_reasoning-0.1.0.post1.dev83/docs-src/conf.py +86 -0
  76. rdflib_reasoning-0.1.0.post1.dev83/docs-src/development/architecture.md +7 -0
  77. rdflib_reasoning-0.1.0.post1.dev83/docs-src/development/roadmap.md +7 -0
  78. rdflib_reasoning-0.1.0.post1.dev83/docs-src/getting-started.md +60 -0
  79. rdflib_reasoning-0.1.0.post1.dev83/docs-src/index.md +24 -0
  80. rdflib_reasoning-0.1.0.post1.dev83/docs-src/package-guides/axioms.md +12 -0
  81. rdflib_reasoning-0.1.0.post1.dev83/docs-src/package-guides/engine.md +14 -0
  82. rdflib_reasoning-0.1.0.post1.dev83/docs-src/package-guides/index.md +12 -0
  83. rdflib_reasoning-0.1.0.post1.dev83/docs-src/package-guides/middleware.md +12 -0
  84. rdflib_reasoning-0.1.0.post1.dev83/environment.yml +7 -0
  85. rdflib_reasoning-0.1.0.post1.dev83/notebooks/AGENTS.md +6 -0
  86. rdflib_reasoning-0.1.0.post1.dev83/notebooks/baseline-proof.ipynb +37 -0
  87. rdflib_reasoning-0.1.0.post1.dev83/notebooks/demo-dataset-middleware.ipynb +470 -0
  88. rdflib_reasoning-0.1.0.post1.dev83/notebooks/demo-proof-reconstructor.ipynb +276 -0
  89. rdflib_reasoning-0.1.0.post1.dev83/notebooks/demo-rdfs-inference.ipynb +308 -0
  90. rdflib_reasoning-0.1.0.post1.dev83/pyproject.toml +128 -0
  91. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-axioms/AGENTS.md +36 -0
  92. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-axioms/README.md +125 -0
  93. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-axioms/pyproject.toml +26 -0
  94. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-axioms/src/rdflib_reasoning/axiom/__init__.py +0 -0
  95. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-axioms/src/rdflib_reasoning/axiom/common.py +24 -0
  96. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-axioms/src/rdflib_reasoning/axiom/datatype.py +0 -0
  97. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-axioms/src/rdflib_reasoning/axiom/patterns/__init__.py +0 -0
  98. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-axioms/src/rdflib_reasoning/axiom/structural_element.py +154 -0
  99. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-axioms/src/rdflib_reasoning/py.typed +0 -0
  100. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-axioms/tests/__init__.py +0 -0
  101. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-axioms/tests/test_axiom.py +3 -0
  102. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/AGENTS.md +28 -0
  103. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/README.md +82 -0
  104. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/pyproject.toml +26 -0
  105. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/src/rdflib_reasoning/engine/__init__.py +91 -0
  106. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/src/rdflib_reasoning/engine/api.py +402 -0
  107. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/src/rdflib_reasoning/engine/batch_dispatcher.py +169 -0
  108. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/src/rdflib_reasoning/engine/derivation.py +109 -0
  109. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/src/rdflib_reasoning/engine/errors.py +7 -0
  110. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/src/rdflib_reasoning/engine/proof.py +319 -0
  111. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/src/rdflib_reasoning/engine/rete/__init__.py +47 -0
  112. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/src/rdflib_reasoning/engine/rete/agenda.py +70 -0
  113. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/src/rdflib_reasoning/engine/rete/callbacks.py +48 -0
  114. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/src/rdflib_reasoning/engine/rete/compiler.py +238 -0
  115. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/src/rdflib_reasoning/engine/rete/consequents.py +78 -0
  116. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/src/rdflib_reasoning/engine/rete/facts.py +54 -0
  117. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/src/rdflib_reasoning/engine/rete/network.py +464 -0
  118. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/src/rdflib_reasoning/engine/rete/tms.py +189 -0
  119. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/src/rdflib_reasoning/engine/rete_store.py +210 -0
  120. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/src/rdflib_reasoning/engine/rules.py +151 -0
  121. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/src/rdflib_reasoning/engine/rulesets/__init__.py +3 -0
  122. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/src/rdflib_reasoning/engine/rulesets/rdfs.py +307 -0
  123. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/src/rdflib_reasoning/py.typed +0 -0
  124. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/tests/__init__.py +0 -0
  125. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/tests/conftest.py +61 -0
  126. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/tests/test_batch_dispatcher.py +486 -0
  127. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/tests/test_compiler.py +198 -0
  128. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/tests/test_engine.py +527 -0
  129. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/tests/test_network_builder.py +497 -0
  130. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/tests/test_package_layout.py +44 -0
  131. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/tests/test_proof.py +282 -0
  132. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/tests/test_rete_store.py +262 -0
  133. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/tests/test_rules.py +137 -0
  134. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/tests/test_ruleset_rdfs.py +448 -0
  135. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-engine/tests/test_term_type_constraints.py +108 -0
  136. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-middleware/AGENTS.md +11 -0
  137. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-middleware/README.md +155 -0
  138. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-middleware/pyproject.toml +54 -0
  139. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-middleware/src/rdflib_reasoning/middleware/__init__.py +38 -0
  140. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-middleware/src/rdflib_reasoning/middleware/dataset_middleware.py +415 -0
  141. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-middleware/src/rdflib_reasoning/middleware/dataset_model.py +394 -0
  142. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-middleware/src/rdflib_reasoning/middleware/dataset_state.py +9 -0
  143. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-middleware/src/rdflib_reasoning/middleware/tracing.py +221 -0
  144. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-middleware/src/rdflib_reasoning/middleware/tracing_notebook.py +234 -0
  145. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-middleware/src/rdflib_reasoning/py.typed +0 -0
  146. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-middleware/tests/test_dataset_middleware.py +46 -0
  147. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-middleware/tests/test_dataset_model.py +474 -0
  148. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-middleware/tests/test_dataset_tools.py +139 -0
  149. rdflib_reasoning-0.1.0.post1.dev83/rdflib-reasoning-middleware/tests/test_tracing.py +133 -0
  150. rdflib_reasoning-0.1.0.post1.dev83/src/rdflib_reasoning/__init__.py +13 -0
  151. rdflib_reasoning-0.1.0.post1.dev83/src/rdflib_reasoning/py.typed +0 -0
  152. rdflib_reasoning-0.1.0.post1.dev83/uv.lock +3192 -0
@@ -0,0 +1,154 @@
1
+ # Assess Release Readiness
2
+
3
+ This skill defines release-readiness quality gates for packages and metapackages in this
4
+ repository.
5
+
6
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
7
+ "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be
8
+ interpreted as described in [RFC 2119](https://www.ietf.org/rfc/rfc2119.txt).
9
+
10
+ ## How to use this skill
11
+
12
+ When asked to assess whether a release is ready:
13
+
14
+ 1. Identify the intended release target and which packages are in scope.
15
+ 2. Evaluate each gate below against the current repository state, CI configuration,
16
+ documentation, and packaging metadata.
17
+ 3. Report findings grouped as:
18
+ - `Release blockers`: failed MUST gates.
19
+ - `Follow-up recommended`: failed SHOULD gates.
20
+ - `Evidence checked`: commands, files, workflows, or artifacts reviewed.
21
+ 4. If the assessment reveals a missing workflow, missing documentation, or missing packaging
22
+ metadata, recommend the smallest coherent fix that would satisfy the gate.
23
+
24
+ ## Release Blockers
25
+
26
+ The following gates MUST pass before a package or metapackage is considered ready to release.
27
+
28
+ ### Packaging and Distribution
29
+
30
+ - [ ] Does every in-scope package build successfully as both an `sdist` and a wheel from a
31
+ clean checkout?
32
+ - [ ] Do built artifacts pass `twine check`?
33
+ - [ ] Does the version reported by packaging metadata resolve correctly from the intended git
34
+ tag or release version source?
35
+ - [ ] Do package metadata fields include the minimum expected modern packaging information?
36
+ - [ ] Name
37
+ - [ ] Version source
38
+ - [ ] Description
39
+ - [ ] `readme`
40
+ - [ ] `requires-python`
41
+ - [ ] License metadata
42
+ - [ ] Dependencies
43
+ - [ ] Useful project URLs where applicable
44
+ - [ ] Can each published artifact be installed into a clean environment from the built
45
+ distribution, not only from an editable workspace checkout?
46
+ - [ ] After installation, do the documented top-level imports and at least one quick-start path
47
+ execute successfully?
48
+
49
+ ### CI and Verification
50
+
51
+ - [ ] Does the primary CI pipeline execute linting, tests, and artifact builds for the in-scope
52
+ packages?
53
+ - [ ] Is code coverage produced and surfaced in CI for feature branches and the default branch?
54
+ - [ ] Are release workflows configured to build the same artifacts that will be published?
55
+ - [ ] Has the release path been exercised against TestPyPI or an equivalent non-production
56
+ target?
57
+ - [ ] Are required repository secrets, environments, and permissions configured for publishing?
58
+
59
+ ### Versioning and Release Management
60
+
61
+ - [ ] Is there a clear release note or changelog entry describing the user-visible contents of
62
+ the release?
63
+ - [ ] Are breaking changes, deprecations, or migration steps called out explicitly when they
64
+ exist?
65
+ - [ ] Does the release process avoid ambiguous version states such as mismatched tags and
66
+ package metadata?
67
+ - [ ] If this repository publishes multiple related packages, is the intended versioning policy
68
+ across those packages documented and followed?
69
+
70
+ ### Security and Supply Chain
71
+
72
+ - [ ] Are GitHub Actions and other release-critical automation dependencies maintained through a
73
+ documented update path such as Dependabot?
74
+ - [ ] Are there any unresolved critical or high-severity security issues in release-critical
75
+ dependencies?
76
+ - [ ] Are release-time dependencies and workflows pinned or constrained appropriately to reduce
77
+ accidental drift?
78
+
79
+ ## Recommended Gates
80
+
81
+ The following gates SHOULD pass before release unless there is an explicit reason to defer them.
82
+
83
+ ### User Experience
84
+
85
+ - [ ] Does the root `README.md` provide quick-start tutorials for the most important system use
86
+ cases?
87
+ - [ ] Do `rdflib-reasoning*/README.md` files provide quick-start tutorials for their subsystem
88
+ use cases?
89
+ - [ ] Do all READMEs reflect the current released API rather than only the current development
90
+ branch?
91
+ - [ ] Is python documentation generated and published as part of deployment?
92
+ - [ ] Are best practices for modern technical documentation being adhered to in all
93
+ human-facing Markdown files?
94
+ - [ ] Does the root `README.md` show release-relevant status indicators such as supported Python
95
+ versions, package version, and coverage where appropriate?
96
+
97
+ ### Developer Experience
98
+
99
+ - [ ] Does `.github/CONTRIBUTING.md` cover everything needed for someone to onboard to
100
+ developing with the system?
101
+ - [ ] `.github/CONTRIBUTING.md` MUST explain how agents are used in the development process
102
+ and what content is aimed at them.
103
+ - [ ] `.github/CONTRIBUTING.md` MUST explain what `.cursor/skills/` exist and when to invoke
104
+ them.
105
+ - [ ] `.github/CONTRIBUTING.md` MUST link to `docs/example-chats/README.md` so that
106
+ contributors can see examples of working with an agent.
107
+ - [ ] Are local development, validation, and release rehearsal commands documented and current?
108
+ - [ ] Can a new contributor determine how to cut a release without reverse-engineering CI
109
+ workflows?
110
+
111
+ ### Compatibility and Maintenance
112
+
113
+ - [ ] Does CI exercise the supported Python version matrix and any important operating-system
114
+ combinations?
115
+ - [ ] Are dependency ranges compatible with the intended support policy rather than relying on
116
+ unbounded optimism?
117
+ - [ ] Are public API stability expectations documented for consumers of the packages?
118
+ - [ ] Is there a documented policy for deprecations and removals if the project expects external
119
+ users?
120
+
121
+ ## Evidence Sources
122
+
123
+ When assessing release readiness, Development Agents SHOULD inspect the following when relevant:
124
+
125
+ - Root `README.md`
126
+ - `rdflib-reasoning*/README.md`
127
+ - Root and subproject `pyproject.toml` files
128
+ - `Makefile`
129
+ - `.github/workflows/*.yml`
130
+ - `.github/release-drafter.yml`
131
+ - `.github/dependabot.yml`
132
+ - `.github/CONTRIBUTING.md`
133
+ - Published-package documentation configuration, if any
134
+ - Build artifacts produced locally or in CI
135
+
136
+ ## Assessment Output Template
137
+
138
+ The final assessment SHOULD be structured like this:
139
+
140
+ ### Release blockers
141
+
142
+ - List every failed MUST gate with a short explanation and evidence.
143
+
144
+ ### Follow-up recommended
145
+
146
+ - List every failed SHOULD gate with a short explanation and evidence.
147
+
148
+ ### Evidence checked
149
+
150
+ - List commands run, files inspected, workflows reviewed, and artifacts validated.
151
+
152
+ ### Conclusion
153
+
154
+ - State whether the release is ready now, ready with caveats, or not ready.
@@ -0,0 +1,61 @@
1
+ ---
2
+ name: critique-project
3
+ description: Conduct a repository-wide technical critique grounded in current state, git history, and honest evidence-backed assessment.
4
+ ---
5
+
6
+ # Critique Project
7
+
8
+ - You are acting as the **Critique Agent** defined in the repository root [AGENTS.md](../../../AGENTS.md).
9
+ - You MUST NOT assume this role unless the user explicitly asks for a holistic critique, technical review, portfolio assessment, due diligence review, or invokes this skill.
10
+ - You MAY inspect any repository path that is relevant to the critique, including paths that local `AGENTS.md` files normally restrict for Development Agents.
11
+ - You MUST be candid, evidence-backed, and professionally skeptical. Do not smooth over weaknesses, and do not manufacture praise.
12
+ - You MUST distinguish among observed evidence, reasonable inference, and subjective judgment.
13
+ - You SHOULD treat non-normative materials as signals about process and project evolution, not as authoritative specifications.
14
+
15
+ ## 1. Review goals
16
+
17
+ When this skill is used, the critique SHOULD cover both repository history and the current repository state.
18
+
19
+ - Review git history to infer and describe project evolution, emerging designs, demonstrated principles, software-agent accessibility, and system development methodology.
20
+ - Review the repository as it exists now to assess system maturity, SDLC discipline, trajectory, agent accessibility, and feature coverage.
21
+ - When the user wants a portfolio-oriented read, infer what the work suggests about the engineer's strengths, judgment, and likely contributions to a team.
22
+
23
+ ## 2. Evidence collection
24
+
25
+ - Inspect recent and strategically important git history rather than only the latest diff.
26
+ - Read the root `README.md`, root `AGENTS.md`, `docs/dev/architecture.md`, `docs/dev/roadmap.md`, and relevant decision records before drawing broad conclusions.
27
+ - Inspect representative code, tests, and package boundaries so the critique is not documentation-only.
28
+ - Review repository structure, local `AGENTS.md` files, and any review-relevant non-normative artifacts when they help explain how the project is developed.
29
+
30
+ ## 3. Critique method
31
+
32
+ - Start by identifying the repository's intended purpose, target audience, and current release posture.
33
+ - Then compare the documented intent against the present implementation and test surface.
34
+ - Highlight both strengths and liabilities in design clarity, execution discipline, project hygiene, and developer/research-agent ergonomics.
35
+ - Prefer concrete claims such as "the project demonstrates X because Y and Z" over vague characterizations.
36
+ - Call out ambiguity, drift, missing validation, incomplete features, or process smells directly.
37
+
38
+ ## 4. Output expectations
39
+
40
+ The critique SHOULD usually include these sections:
41
+
42
+ 1. Project evolution and emerging design
43
+ 2. Current maturity and SDLC assessment
44
+ 3. Agent accessibility and repository usability
45
+ 4. Feature coverage, gaps, and trajectory
46
+ 5. Honest portfolio read
47
+
48
+ ## 5. Portfolio read rules
49
+
50
+ - This section is OPTIONAL unless the user asks for it or it is clearly relevant.
51
+ - Treat it as an inference from repository evidence, not a claim about the engineer's full background.
52
+ - Describe what the work suggests the engineer brings to the table: technical taste, systems thinking, rigor, follow-through, communication quality, and research orientation.
53
+ - Avoid unsupported claims about seniority, hiring fit, or personal traits.
54
+ - If the signal is mixed, say so plainly.
55
+
56
+ ## 6. Response style
57
+
58
+ - Lead with the most decision-useful findings, not with compliments.
59
+ - Be fair, but do not optimize for comfort over truth.
60
+ - Use enough supporting evidence that another reviewer could audit your reasoning.
61
+ - If evidence is incomplete, say what you checked and what remains uncertain.
@@ -0,0 +1,32 @@
1
+ ---
2
+ name: new-decision-record
3
+ description: Infer a decision record from the current chat and write it as a new DR under docs/dev/decision-records using the template. Use when the user asks to create or record a decision from the conversation, or to write a DR/ADR.
4
+ ---
5
+
6
+ # New Decision Record
7
+
8
+ Create a new decision record from the current conversation. Follow [docs/dev/decision-records/AGENTS.md](docs/dev/decision-records/AGENTS.md) for all DR rules (location, naming, INDEX, architecture, supersedes).
9
+
10
+ ## Workflow
11
+
12
+ 1. **Infer** – From the conversation, extract: title/topic, context (why), decision (what), consequences (outcomes).
13
+
14
+ 2. **Next number** – List `DR-*.md` in `docs/dev/decision-records/`; take the maximum number + 1, zero-pad to three digits (e.g. 001, 002).
15
+
16
+ 3. **Write** – Create `docs/dev/decision-records/DR-XXX Short Title.md` using [docs/dev/decision-records/template.md](docs/dev/decision-records/template.md). Use the section headings: Title, Status, Context, Decision, Consequences, Supersedes (if applicable). Filename pattern: `DR-XXX` followed by a space and a short title.
17
+
18
+ 4. **Index** – Append a row to [docs/dev/decision-records/INDEX.md](docs/dev/decision-records/INDEX.md): Record Date (YYYY-MM-DD), link to the new record, Supercedes (link) if any, Superceded By (leave empty), Comment (optional).
19
+
20
+ 5. **Supersedes** – If this DR supersedes any document: list and link them in the new DR’s Supersedes section; add “Superseded by [DR-XXX](DR-XXX Title.md)” to those documents’ Status; update their INDEX row “Superceded By” with a link to the new DR; set the new DR’s INDEX row “Supercedes” to link to them.
21
+
22
+ 6. **Architecture** – Before finalizing the record, read [docs/dev/architecture.md](docs/dev/architecture.md) and treat it as the current "as it should be" baseline. If the decision changes the intended architecture or design (not just describing current behavior), you MUST update `architecture.md` so that it reflects the new decision. Minor clarifications MAY update `architecture.md` directly without a DR, but substantive architectural changes SHOULD be accompanied by a decision record.
23
+
24
+ ## Mental model
25
+
26
+ - `docs/dev/architecture.md` – authoritative description of the current intended architecture and design.
27
+ - `docs/dev/decision-records/` – rationale and history explaining *why* and *when* the architecture changed.
28
+ - The codebase – actual behavior of the system; discrepancies between code and `architecture.md` indicate design drift to be resolved via code changes, documentation changes, and/or new decision records.
29
+
30
+ ## Template reference
31
+
32
+ Sections to fill: **Title** (one line), **Status** (Proposed | Accepted | Deprecated | Superseded by …), **Context**, **Decision**, **Consequences**, **Supersedes** (optional).
@@ -0,0 +1,69 @@
1
+ ---
2
+ name: verify-project-documentation
3
+ description: Assess the compliance of Markdown documents against the project's documentation policy, fixing compliance issues if asked to.
4
+ ---
5
+
6
+ # Verify Project Documentation
7
+
8
+ - You (the Development Agent) MUST ascertain if the repository follows the repository documentation policy.
9
+ - You SHOULD correct compliance issues UNLESS the user has requested that you not do so.
10
+ - You MAY widen your criteria to adhere to modern best practices.
11
+ - You SHOULD adjust your criteria if the user has requested that you do so
12
+
13
+ ## 1. General Documentation Policy
14
+
15
+ The checklist for policy adherence follows:
16
+
17
+ - [ ] CRITICAL: Documentation passes linting: `make check`
18
+ - [ ] CRITICAL: Documentation tone/style/content adheres to modern standards for technical documentation
19
+
20
+ - [ ] References to `docs/example-chats` MUST NOT exist outside that directory
21
+ - [ ] References to an `Agent` MUST use [the agent role controlled vocabulary](../../../AGENTS.md#agent-roles)
22
+ - [ ] Docstrings within any distribution source folders (i.e., `src/` or `rdflib-reasoning-*/src`) MUST NOT refer to any local development documents or references.
23
+ - [ ] All document cross references (read: markdown links in the repository) MUST be valid and resolvable
24
+ - [ ] If a path exists within documentation for the Development Agent, its surface form SHOULD be relative to the repository root (e.g., `rdflib-reasoning-engine/README.md`)
25
+ - [ ] All external documentation references (read: hyperlinks outside the repository) MUST be dereferencable (syntactically valid and normally reachable)
26
+ - [ ] References to agents MUST NOT place emphasis on any specific model (e.g., Claude, GPT, Grok, etc)
27
+ - [ ] References to agentic code environments SHOULD NOT place emphasis on any single tool (e.g., Claude Code, Codex, Cursor, etc)
28
+
29
+ ## 2. Specific File Documentation Policies
30
+
31
+ Each of the following sections extends the [General Documentation Policy](#1-general-documentation-policy) for a document or set of documents.
32
+
33
+ ### 2.1. Policy for `architecture.md` and `decision-records`
34
+
35
+ - [ ] [The quality gates for `docs/dev/architecture.md`](../../../docs/dev/AGENTS.md) are given by its local `AGENTS.md`
36
+ - [ ] [The quality gates for `docs/dev/decision-records`](../../../docs/dev/decision-records/AGENTS.md) also include their local `AGENTS.md`
37
+
38
+ ### 2.2. Policy for sub-project `rdflib-reasoning-*/README.md` files
39
+
40
+ - [ ] Feature matrices in the documents are up-to-date and match the current system state
41
+ - [ ] Feature matrices are complete with respect to documented roadmapped functionality
42
+ - [ ] The project overview is accurate and describes the purpose of the subproject
43
+ - [ ] Distinguishing and key system features are briefly described and surface early in the documentation (i.e., not buried in a feature matrix)
44
+ - [ ] Installation and setup procedures are clearly documented
45
+ - [ ] A short tutorial/onboarding experience is provided in the way of small "Quick Start" examples
46
+ - [ ] All code examples / listings / names match the current state of the system
47
+
48
+ ### 2.3. Policy for the root `README.md` file
49
+
50
+ - [ ] The document accurately communicates the repository's purpose, intended audience, and research focus near the top of the file
51
+ - [ ] The document presents the repository structure and major sub-projects in a way that matches the current filesystem and project boundaries
52
+ - [ ] The document acts as a reliable entry point for a new Development Agent or contributor by linking to the key orientation documents (e.g., `AGENTS.md`, `docs/dev/architecture.md`, and major sub-project READMEs or directories)
53
+ - [ ] Installation and environment guidance is accurate, internally consistent, and aligned with the repository's required development workflow
54
+ - [ ] Any claims about capabilities, current scope, or repository status are consistent with the present codebase and sub-project documentation
55
+ - [ ] The document provides enough navigational structure that a reviewer can quickly determine where architecture, implementation, specifications, and research artifacts live
56
+ - [ ] Examples, commands, and package names shown in the document match the current repository state
57
+ - [ ] The document avoids duplicating volatile low-level detail that is better maintained in sub-project documentation, unless the duplication is intentional and kept in sync
58
+
59
+ ### 2.4. Policy for `AGENTS.md` files
60
+
61
+ - [ ] Each `AGENTS.md` clearly states the scope of the instructions it introduces and does not silently conflict with higher-level `AGENTS.md` files
62
+ - [ ] Instructions are written for the Development Agent, unless a distinction between Development Agent and Research Agent is explicitly required
63
+ - [ ] References to agents consistently use the repository's controlled vocabulary from the root `AGENTS.md`, with `Development Agent` remaining the default audience unless another role is explicitly assigned
64
+ - [ ] The document clearly distinguishes normative instructions from explanatory/background material so that repository policy is easy to follow
65
+ - [ ] File- or directory-specific quality gates are concrete, testable, and scoped to the subtree governed by that `AGENTS.md`
66
+ - [ ] Cross references to templates, indexes, decision records, architecture documents, or sibling guidance are accurate and resolvable
67
+ - [ ] Instructions do not require impossible repository knowledge from a Research Agent or otherwise blur the boundary between runtime-agent behavior and repository-development behavior
68
+ - [ ] Local `AGENTS.md` files extend parent instructions additively where possible, and any override or specialization is made explicit enough to avoid ambiguity during validation
69
+ - [ ] Reusable terminology, naming, and path conventions in the document match the current repository and adjacent documentation
@@ -0,0 +1,23 @@
1
+ # The Development Agent shouldn't see example 'Development Agent' chats
2
+ docs/example-chats/*
3
+ !docs/example-chats/AGENTS.md
4
+
5
+ # We need to explicitly override the gitignore so that Development Agent can see the content
6
+ !docs/portfolio/*
7
+
8
+ !docs/specs/jena-inspiration/jena-docs/*
9
+ !docs/specs/jena-inspiration/jena-source/*
10
+
11
+ !docs/specs/owl2-conformance/*
12
+ !docs/specs/owl2-crosswalks/*
13
+ !docs/specs/owl2-mapping-to-rdf/*
14
+ !docs/specs/owl2-overview/*
15
+ !docs/specs/owl2-reasoning-profiles/*
16
+ !docs/specs/owl2-semantics-direct/*
17
+ !docs/specs/owl2-semantics-rdf/*
18
+ !docs/specs/owl2-structure-syntax/*
19
+ !docs/specs/rdf11-concepts-syntax/*
20
+ !docs/specs/rdf11-datasets/*
21
+ !docs/specs/rdf11-primer/*
22
+ !docs/specs/rdf11-schema/*
23
+ !docs/specs/rdf11-semantics/*
@@ -0,0 +1,3 @@
1
+ CHAT_MODEL="mistralai/Ministral-3-14B-Reasoning-2512"
2
+ OPENAI_API_KEY="your api key goes here",
3
+ OPENAI_BASE_URL="http://localhost:8000/v1"
@@ -0,0 +1 @@
1
+ * 63366453+kvjrhall@users.noreply.github.com
@@ -0,0 +1,15 @@
1
+ # Contributing to RDFLib Reasoning
2
+
3
+ ## Requirements
4
+
5
+ - Scripts MUST use `Bash >= 5.3.9`
6
+ - Python package installation MUST use `uv`
7
+
8
+ ## Publishing
9
+
10
+ - Merges to `main` publish built distributions to TestPyPI through `.github/workflows/build.yml`.
11
+ - Releases publish built distributions to PyPI through `.github/workflows/release.yml`.
12
+ - Publishing MUST use GitHub Actions OIDC Trusted Publishing rather than long-lived API tokens.
13
+ - GitHub environments MUST remain separate: use `testpypi` for the TestPyPI sanity-check workflow and `pypi` for the release workflow.
14
+ - Trusted Publishers MUST be configured on TestPyPI for `.github/workflows/build.yml` and on PyPI for `.github/workflows/release.yml`.
15
+ - Trusted Publisher registrations MUST cover each distribution name in this repository: `rdflib-reasoning`, `rdflib-reasoning-axioms`, `rdflib-reasoning-engine`, and `rdflib-reasoning-middleware`.
@@ -0,0 +1,47 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "github-actions"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "weekly"
7
+ labels:
8
+ - "dependencies"
9
+ - "ci"
10
+ commit-message:
11
+ prefix: "ci"
12
+
13
+ - package-ecosystem: "pip"
14
+ directory: "/"
15
+ schedule:
16
+ interval: "weekly"
17
+ labels:
18
+ - "dependencies"
19
+ commit-message:
20
+ prefix: "deps"
21
+
22
+ - package-ecosystem: "pip"
23
+ directory: "/rdflib-reasoning-axioms"
24
+ schedule:
25
+ interval: "weekly"
26
+ labels:
27
+ - "dependencies"
28
+ commit-message:
29
+ prefix: "deps"
30
+
31
+ - package-ecosystem: "pip"
32
+ directory: "/rdflib-reasoning-engine"
33
+ schedule:
34
+ interval: "weekly"
35
+ labels:
36
+ - "dependencies"
37
+ commit-message:
38
+ prefix: "deps"
39
+
40
+ - package-ecosystem: "pip"
41
+ directory: "/rdflib-reasoning-middleware"
42
+ schedule:
43
+ interval: "weekly"
44
+ labels:
45
+ - "dependencies"
46
+ commit-message:
47
+ prefix: "deps"
@@ -0,0 +1,64 @@
1
+ name-template: "v$RESOLVED_VERSION"
2
+ tag-template: "v$RESOLVED_VERSION"
3
+ template: |
4
+ ## What Changed
5
+
6
+ $CHANGES
7
+
8
+ ## Package Artifacts
9
+
10
+ This release publishes distributions for:
11
+ - `rdflib-reasoning`
12
+ - `rdflib-reasoning-axioms`
13
+ - `rdflib-reasoning-engine`
14
+ - `rdflib-reasoning-middleware`
15
+ change-template: "- #$NUMBER $TITLE (@$AUTHOR)"
16
+ no-changes-template: "- No user-facing changes recorded."
17
+ categories:
18
+ - title: "Features"
19
+ labels:
20
+ - "feature"
21
+ - "enhancement"
22
+ - "feat"
23
+ - title: "Fixes"
24
+ labels:
25
+ - "fix"
26
+ - "bug"
27
+ - "bugfix"
28
+ - title: "Documentation"
29
+ labels:
30
+ - "docs"
31
+ - title: "Tests"
32
+ labels:
33
+ - "test"
34
+ - "tests"
35
+ - title: "Maintenance"
36
+ labels:
37
+ - "build"
38
+ - "chore"
39
+ - "ci"
40
+ - "dependencies"
41
+ - "refactor"
42
+ change-title-escapes: '\<*_&'
43
+ version-resolver:
44
+ major:
45
+ labels:
46
+ - "bump-major"
47
+ minor:
48
+ labels:
49
+ - "bump-minor"
50
+ patch:
51
+ labels:
52
+ - "bump-patch"
53
+ default: patch
54
+ autolabeler:
55
+ - label: "docs"
56
+ files:
57
+ - "*.md"
58
+ - "docs/**/*"
59
+ - label: "ci"
60
+ files:
61
+ - ".github/**/*"
62
+ - label: "tests"
63
+ files:
64
+ - "**/tests/**/*"