rag-wright 0.2.0__tar.gz → 0.2.1__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 (922) hide show
  1. {rag_wright-0.2.0 → rag_wright-0.2.1}/.claude/skills/using-the-rag-wright-engine/SKILL.md +17 -1
  2. rag_wright-0.2.1/.release-please-manifest.json +3 -0
  3. {rag_wright-0.2.0 → rag_wright-0.2.1}/CHANGELOG.md +7 -0
  4. {rag_wright-0.2.0 → rag_wright-0.2.1}/CLAUDE.md +15 -11
  5. {rag_wright-0.2.0 → rag_wright-0.2.1}/PKG-INFO +1 -1
  6. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/concepts.md +5 -2
  7. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/domain-adaptation/_engine-gaps.md +73 -0
  8. rag_wright-0.2.1/docs/proposals/ontology-induction.md +154 -0
  9. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/specs/ingestion-hooks/ing8-breaking-changes.md +3 -0
  10. rag_wright-0.2.1/docs/specs/ingestion-hooks/rulewright-migration-0.2.0.md +296 -0
  11. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/templates/product-starter/CLAUDE.md.template +20 -5
  12. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/templates/product-starter/README.md +8 -6
  13. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/templates/product-starter/playbook.md.template +31 -16
  14. {rag_wright-0.2.0 → rag_wright-0.2.1}/pyproject.toml +1 -1
  15. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/reference_seam.py +12 -0
  16. {rag_wright-0.2.0 → rag_wright-0.2.1}/tasks.md +20 -2
  17. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/reference/test_contract_seam.py +17 -0
  18. rag_wright-0.2.0/.release-please-manifest.json +0 -3
  19. {rag_wright-0.2.0 → rag_wright-0.2.1}/.claude/settings.json +0 -0
  20. {rag_wright-0.2.0 → rag_wright-0.2.1}/.claude/skills/authoring-a-capability/SKILL.md +0 -0
  21. {rag_wright-0.2.0 → rag_wright-0.2.1}/.claude/skills/building-an-ingestion-capability/SKILL.md +0 -0
  22. {rag_wright-0.2.0 → rag_wright-0.2.1}/.claude/skills/classifier-opportunity-analysis/SKILL.md +0 -0
  23. {rag_wright-0.2.0 → rag_wright-0.2.1}/.claude/skills/creating-evals/SKILL.md +0 -0
  24. {rag_wright-0.2.0 → rag_wright-0.2.1}/.claude/skills/laya/SKILL.md +0 -0
  25. {rag_wright-0.2.0 → rag_wright-0.2.1}/.claude/skills/qwen-vllm-modal/SKILL.md +0 -0
  26. {rag_wright-0.2.0 → rag_wright-0.2.1}/.claude/skills/setfit/SKILL.md +0 -0
  27. {rag_wright-0.2.0 → rag_wright-0.2.1}/.env.example +0 -0
  28. {rag_wright-0.2.0 → rag_wright-0.2.1}/.github/workflows/publish.yml +0 -0
  29. {rag_wright-0.2.0 → rag_wright-0.2.1}/.github/workflows/release-please.yml +0 -0
  30. {rag_wright-0.2.0 → rag_wright-0.2.1}/.gitignore +0 -0
  31. {rag_wright-0.2.0 → rag_wright-0.2.1}/LICENSE +0 -0
  32. {rag_wright-0.2.0 → rag_wright-0.2.1}/README.md +0 -0
  33. {rag_wright-0.2.0 → rag_wright-0.2.1}/SPEC.md +0 -0
  34. {rag_wright-0.2.0 → rag_wright-0.2.1}/conftest.py +0 -0
  35. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/ARCHITECTURE_OVERVIEW.md +0 -0
  36. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/ArcadeDB_Local.md +0 -0
  37. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/OBSERVABILITY.md +0 -0
  38. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0001-stack-and-library-choices.md +0 -0
  39. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0002-validation-corpus-cuad-edgar.md +0 -0
  40. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0003-ard-registration-and-capability-kinds.md +0 -0
  41. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0004-entity-disambiguation.md +0 -0
  42. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0005-relational-golden-set.md +0 -0
  43. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0006-model-profile.md +0 -0
  44. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0007-arcadedb-store-schema.md +0 -0
  45. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0008-unified-framework-index-docs-grounding.md +0 -0
  46. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0009-rlm-chunking-retained-as-configurable-capability.md +0 -0
  47. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0010-transformers-pinned-below-5-for-flagembedding-reranker.md +0 -0
  48. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0011-cuad-not-a-retrieval-benchmark-acord-for-queries.md +0 -0
  49. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0012-entity-mention-confidence-no-proximity-edges.md +0 -0
  50. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0013-entity-resolution-matching-strategy.md +0 -0
  51. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0014-split-generation-and-vision-to-text.md +0 -0
  52. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0015-rlm-dynamic-subagents-and-granted-subagents.md +0 -0
  53. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0016-rlm-defined-by-required-capabilities-enforced-as-tests.md +0 -0
  54. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0017-dynamic-dispatch-trigger-as-typed-flag.md +0 -0
  55. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0018-rlm-method-is-the-orchestrator-system-prompt.md +0 -0
  56. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0019-recursion-is-optional-for-chunking-required-for-synthesis.md +0 -0
  57. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0020-serialize-interpreter-sessions-per-process-ki1.md +0 -0
  58. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0021-capability-interface-governed-typed-io.md +0 -0
  59. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0022-fr-k-embedding-free-okf-navigation-experimental.md +0 -0
  60. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0023-cheap-model-for-okf-enrichment.md +0 -0
  61. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0024-reader-parallelism-lives-in-python-not-the-interpreter.md +0 -0
  62. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0025-retrieval-pivot-function-classify-property-graph-rerank.md +0 -0
  63. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0026-property-schema-and-extended-function-taxonomy.md +0 -0
  64. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0027-openrouter-provider-routing-by-throughput.md +0 -0
  65. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0028-deterministic-grounding-judge-and-flash-pro-cascade.md +0 -0
  66. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0029-retrieval-pipeline-domain-portability-and-adaptation.md +0 -0
  67. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0030-model-training-standard-modal-reusable-checkpointed.md +0 -0
  68. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0031-single-call-chunking-for-structured-contracts.md +0 -0
  69. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0032-nl-to-type-two-step-reason-emit-on-gemma.md +0 -0
  70. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0033-unified-contract-kg-three-legs-one-graph.md +0 -0
  71. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0034-granite-json-schema-structured-output-profile.md +0 -0
  72. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0035-graph-extraction-rebacked-with-gp1b-retire-hybrid.md +0 -0
  73. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0036-party-clause-link-party-to-edge.md +0 -0
  74. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0037-clause-template-is-authoritative-code-not-generated.md +0 -0
  75. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0038-full-cuad-kg-on-gcp-gpu-vm-and-gcs-backup.md +0 -0
  76. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0039-self-hosted-open-model-stack-on-modal-a100.md +0 -0
  77. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0040-neuro-symbolic-extraction-fidelity-ontology-shacl-validation.md +0 -0
  78. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0041-capability-kind-rubric-and-agent-skill-runtime-tiers.md +0 -0
  79. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0042-clause-level-span-id-provenance-and-content-hash-backfill.md +0 -0
  80. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0043-retire-cross-corpus-retrieval-standardize-on-leg-b.md +0 -0
  81. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0044-is-exception-to-derived-carveout-relationship.md +0 -0
  82. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0045-client-side-tag-parse-structured-output.md +0 -0
  83. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0046-acord-unified-into-one-production-kg.md +0 -0
  84. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0047-retire-precomputed-clause-function-gate.md +0 -0
  85. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0048-ingest-llm-classifier-nondestructive-reclassify.md +0 -0
  86. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0049-generic-customer-lens-for-ingestion.md +0 -0
  87. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0050-async-langgraph-ingestion.md +0 -0
  88. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0051-schema-bootstrap-and-feedback-driven-ontology-evolution.md +0 -0
  89. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0052-engine-product-split-graphwright-parked.md +0 -0
  90. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0053-answer-prose-output-hygiene.md +0 -0
  91. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0054-remove-auto-tag-from-generator-evidence.md +0 -0
  92. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0055-confidence-out-of-band.md +0 -0
  93. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0056-bound-structured-retry-wall-clock.md +0 -0
  94. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0057-async-engine-architecture.md +0 -0
  95. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0058-structure-first-chunking.md +0 -0
  96. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0059-recall-decoupled-from-classification-and-visible-partial-loss.md +0 -0
  97. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0060-scope-compliance-check-to-named-policy-sources.md +0 -0
  98. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0061-subject-document-compliance-per-section.md +0 -0
  99. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0062-tiered-ocr-scan-quality-vlm-escalation.md +0 -0
  100. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0063-per-sentence-compliance-subject-facts.md +0 -0
  101. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0064-typed-properties-out-of-band-on-evidence.md +0 -0
  102. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0065-deontic-applicability-gates-query-side.md +0 -0
  103. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0066-ontology-ttl-single-source-of-truth.md +0 -0
  104. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0067-domain-pack-retargeting.md +0 -0
  105. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0068-recall-first-actor-gate-ontology-role-disjointness.md +0 -0
  106. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0069-reading-order-chunking-tables-figures-retrievable.md +0 -0
  107. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0070-text-layer-first-parsing-no-false-vlm-escalation.md +0 -0
  108. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0071-defragmentation-reconstruct-paragraphs-from-line-items.md +0 -0
  109. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0072-extract-guard-furniture-and-deterministic-failure.md +0 -0
  110. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0073-born-digital-threshold-sparse-pages-no-vlm-escalation.md +0 -0
  111. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0074-retry-transient-extraction-failures.md +0 -0
  112. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0075-per-page-vlm-escalation.md +0 -0
  113. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0076-thread-safe-shared-embedder-reranker.md +0 -0
  114. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0077-concurrent-function-classification-across-chunks.md +0 -0
  115. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0078-dedicated-extraction-executor.md +0 -0
  116. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0079-product-default-granite-4.2-openrouter-routing.md +0 -0
  117. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0080-nested-tag-parse-and-degrade.md +0 -0
  118. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0081-function-independent-tagparse-clause-extraction.md +0 -0
  119. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0082-symbolic-gate-function-independent.md +0 -0
  120. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0083-executor-hop-trace-context-capture.md +0 -0
  121. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0084-gleaning-off-on-the-query-leg.md +0 -0
  122. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0085-query-constraint-extraction-tagparse.md +0 -0
  123. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0086-streaming-cost-capture.md +0 -0
  124. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0087-retrieval-relevance-score-on-rankedspan.md +0 -0
  125. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0088-per-span-relevance-verdict.md +0 -0
  126. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0089-structured-output-generation-tracing.md +0 -0
  127. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0090-affiliate-of-extraction.md +0 -0
  128. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0091-retire-partyto-edge.md +0 -0
  129. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0092-idempotent-write-graph.md +0 -0
  130. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0093-entities-by-name-seam.md +0 -0
  131. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0094-workspace-document-scope.md +0 -0
  132. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0095-span-page-provenance.md +0 -0
  133. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0096-carveout-keyword-normalization.md +0 -0
  134. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0097-caller-configurable-ingest-extraction-models.md +0 -0
  135. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0098-invoke-time-document-scope.md +0 -0
  136. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0099-mcp-tools-never-take-a-model-supplied-tenant.md +0 -0
  137. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0100-profile-based-model-routing.md +0 -0
  138. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0101-untagged-spans-reach-extraction-aspect-gate-removed.md +0 -0
  139. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0102-open-descriptive-list-dims-retain-verbatim.md +0 -0
  140. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0103-a-clause-is-a-provision-not-a-span.md +0 -0
  141. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0104-dense-floor-protection-in-leg-b.md +0 -0
  142. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0105-in-band-model-usage-accounting.md +0 -0
  143. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0106-document-signals-off-the-citation.md +0 -0
  144. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0107-requirement-page-provenance.md +0 -0
  145. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0108-qwen3-27b-single-a100-serving-profile.md +0 -0
  146. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0109-vllm-cold-start-reduction.md +0 -0
  147. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0110-fp8-kv-cache-16k-single-a100.md +0 -0
  148. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0111-pin-qwen3-27b-deepinfra-bf16.md +0 -0
  149. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0112-relax-deepagents-pin-to-floor.md +0 -0
  150. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0113-llm-span-instrumentation-for-latency-attribution.md +0 -0
  151. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0114-setfit-default-clause-function-classifier.md +0 -0
  152. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0115-classifier-only-step3a-property-extraction.md +0 -0
  153. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0116-soft-function-scoping-classifier-lane.md +0 -0
  154. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0117-engine-api-layer-and-capability-runtime.md +0 -0
  155. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0118-engine-core-api-vs-ard-adapter-free-impl-ref-client.md +0 -0
  156. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0119-jev-typed-decision-model-for-compliance-closed-set-fields.md +0 -0
  157. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0120-rlm-sub-agent-identity-dynamic-dispatch-trigger.md +0 -0
  158. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0121-spacy-optional-extra-model-runtime-download.md +0 -0
  159. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0122-provision-boundary-deterministic-plus-decision-model-residue.md +0 -0
  160. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0123-batched-releases-release-please-and-consumer-dependabot.md +0 -0
  161. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0124-generic-ingestion-builder-and-hooks.md +0 -0
  162. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/README.md +0 -0
  163. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/api/README.md +0 -0
  164. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/architecture/foundations-and-adding-a-domain.md +0 -0
  165. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/architecture.md +0 -0
  166. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/README.md +0 -0
  167. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/design/deontic-applicability-routing.md +0 -0
  168. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/design/ingestion-neuro-symbolic-gaps.md +0 -0
  169. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/design/semantic-subject-segmentation.md +0 -0
  170. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/design/unify-subject-preprocessing.md +0 -0
  171. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/engine-issues/0037-closed-vocab-drops-verbatim-values-to-other.md +0 -0
  172. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/engine-issues/0038-a-clause-node-is-now-created-per-sentence-so-98-percent-of-spans-become-clauses.md +0 -0
  173. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/engine-issues/0039-the-provision-detector-reads-text-but-docling-puts-the-section-number-in-marker.md +0 -0
  174. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/engine-issues/0040-covered-subject-is-asked-of-every-provision-so-verbatim-retention-fills-it-with-noise.md +0 -0
  175. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/engine-issues/0041-VERIFICATION-dense-floor.md +0 -0
  176. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/engine-issues/0041-leg-b-discards-the-best-dense-matches-on-some-queries.md +0 -0
  177. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/engine-issues/0042-usage-is-captured-per-call-but-never-returned-so-cost-needs-a-langfuse-round-trip.md +0 -0
  178. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/engine-issues/0043-a-requirement-carries-no-page-provenance-so-a-finding-cannot-point-into-its-policy.md +0 -0
  179. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/engine-issues/0044-document-signals-scaffolding-is-shown-to-the-user-as-a-quote-from-their-document.md +0 -0
  180. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/engine-issues/0045-a-fixed-money-cap-records-no-cap-quantum-so-the-amount-is-only-prose.md +0 -0
  181. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/engine-issues/0046-appending-a-natural-follow-up-to-a-question-drops-the-clause-type.md +0 -0
  182. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/engine-issues/0047-an-exact-deepagents-pin-transitively-pins-every-consumer.md +0 -0
  183. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/engine-issues/0048-the-pinned-endpoints-latency-tail-makes-agent-runs-undebuggable-from-either-side.md +0 -0
  184. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-07-20_graphwright_capability_interface_reply.md +0 -0
  185. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-07-20b_graphwright_interface_confirmation.md +0 -0
  186. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-07-20c_graphwright_ingestion_interfaces.md +0 -0
  187. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-08-30_subject_compliance_final_rulewright.md +0 -0
  188. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-01_issue-0013-recall-first-actor-gate_rulewright.md +0 -0
  189. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-01_ontology-source-of-truth_rulewright.md +0 -0
  190. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-03_issue-0014-table-retrievability_rulewright.md +0 -0
  191. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-04_bulk-ingestion-wall_rulewright.md +0 -0
  192. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-04_issue-0016-thread-safe-embedder_rulewright.md +0 -0
  193. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-05_observability-langfuse_rulewright.md +0 -0
  194. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-05_tagparse-ingestion-and-granite-4.2_rulewright.md +0 -0
  195. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-09_affiliate-of-extraction_rulewright.md +0 -0
  196. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-09_issue-0028-partyto-retired_rulewright.md +0 -0
  197. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-09_issue-0029-idempotent-write-graph_rulewright.md +0 -0
  198. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-09_issue-0030-entities-by-name_rulewright.md +0 -0
  199. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-09_observability-and-retrieval-floor_rulewright.md +0 -0
  200. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-09_relevance-verdict_rulewright.md +0 -0
  201. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-09_rename-run-ad-compliance-check_rulewright.md +0 -0
  202. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-09_structured-output-cost-tracing_rulewright.md +0 -0
  203. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-10_ingest-models-caller-configurable_rulewright.md +0 -0
  204. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-10_issue-0031-followup-failclosed-and-nodrift_rulewright.md +0 -0
  205. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-10_issue-0031-followup-validate-ingested-set_rulewright.md +0 -0
  206. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-10_issue-0031-workspace-document-scope_rulewright.md +0 -0
  207. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-10_issue-0032-span-page-provenance_rulewright.md +0 -0
  208. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-10_issue-0033-carveout-normalization_rulewright.md +0 -0
  209. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-10_issue-0034-invoke-time-document-scope_rulewright.md +0 -0
  210. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-11_issue-0035-followup-derived-guard_rulewright.md +0 -0
  211. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-11_issue-0035-mcp-no-model-tenant_rulewright.md +0 -0
  212. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-11_profile-based-model-routing_rulewright.md +0 -0
  213. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-11_qwen-default-modal-or_rulewright.md +0 -0
  214. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-11_qwen-everywhere-config_rulewright.md +0 -0
  215. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-12_clause-granularity_0036-0039_rulewright.md +0 -0
  216. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-12_closed-vocab_0037-0040_rulewright.md +0 -0
  217. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-12_dense-floor-protection_0041_rulewright.md +0 -0
  218. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-13_in-band-usage_0042_rulewright.md +0 -0
  219. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-14_document-signals-off-citation_0044_rulewright.md +0 -0
  220. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-14_requirement-page-provenance_0043_rulewright.md +0 -0
  221. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-16_qwen3-27b-single-a100-serving-profile_rulewright.md +0 -0
  222. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-18_fp8-accuracy-eval-configB_rulewright.md +0 -0
  223. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-18_fp8-kv-16k-single-a100_rulewright.md +0 -0
  224. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-20_deepagents-pin-relaxed_0047_rulewright.md +0 -0
  225. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-20_llm-span-instrumentation_0048_rulewright.md +0 -0
  226. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-21_0048-part2-modal-answers_from_rulewright.md +0 -0
  227. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-21_0048-part2-modal-scoping-questions_rulewright.md +0 -0
  228. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/misc/.gitkeep +0 -0
  229. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/plans/Corpus_Acquisition.md +0 -0
  230. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/plans/async-migration.md +0 -0
  231. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/plans/demo_plan.md +0 -0
  232. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/plans/gp1b_docling_graph_plan.md +0 -0
  233. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/plans/unified_contract_kg_ontology_bridge.md +0 -0
  234. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/plans/unified_contract_kg_plan.md +0 -0
  235. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/results/2026-07-24-t58-property-graph-population.md +0 -0
  236. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/results/2026-07-25-t58b-full-pipeline-rerank.md +0 -0
  237. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/results/2026-07-25-t58b-topk-ordering-levers.md +0 -0
  238. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/configuration.md +0 -0
  239. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/contract_pipeline_explainer.md +0 -0
  240. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/corpus_ingest_recipe.md +0 -0
  241. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/domain-adaptation/README.md +0 -0
  242. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/domain-adaptation/authoring-capabilities.md +0 -0
  243. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/domain-adaptation/classification-and-decision-models.md +0 -0
  244. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/domain-adaptation/entity-resolution.md +0 -0
  245. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/domain-adaptation/kg-construction.md +0 -0
  246. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/domain-adaptation/ontology-authoring.md +0 -0
  247. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/eval/classifier_model_ab.md +0 -0
  248. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/eval/compliance_demo.md +0 -0
  249. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/eval/compliance_gate_cc7.md +0 -0
  250. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/eval/compliance_rung2_cc7.md +0 -0
  251. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/eval/cuad_highlighting_cu-d1.md +0 -0
  252. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/eval/dg_model_ab.md +0 -0
  253. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/eval/function_gate_recall.md +0 -0
  254. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/eval/generation_robustness_b_vs_c.md +0 -0
  255. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/eval/nl_to_type_cu-d2.md +0 -0
  256. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/eval/ocr_benchmark.md +0 -0
  257. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/eval/prod1_readiness.md +0 -0
  258. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/eval/prod2_readiness.md +0 -0
  259. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/eval/query_side_model_ab.md +0 -0
  260. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/eval/silver_granite_vs_gemma4.md +0 -0
  261. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/eval/silver_provider_routing.md +0 -0
  262. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/eval/silver_selfhosted_gemma4_26b.md +0 -0
  263. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/installation.md +0 -0
  264. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/playbook.md +0 -0
  265. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/product/capability_profiles.md +0 -0
  266. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/product/contracts_product_roadmap.md +0 -0
  267. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/product/engine-api-migration-handoff.md +0 -0
  268. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/product/engine_async_api.md +0 -0
  269. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/product/new-domain-build-sequence.md +0 -0
  270. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/product/seam-adaptation-guide.md +0 -0
  271. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/proposals/compliance-ingest-classifier-decomposition.md +0 -0
  272. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/proposals/de-domaining-and-capability-runtime.md +0 -0
  273. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/proposals/new-domain-developer-journey.md +0 -0
  274. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/quickstart.md +0 -0
  275. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/reference-pack.md +0 -0
  276. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/releasing.md +0 -0
  277. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/specs/engine-platform/SPEC.md +0 -0
  278. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/specs/engine-platform/TASKS.md +0 -0
  279. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/specs/engine-prep/plan.md +0 -0
  280. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/specs/ingestion-hooks/ing5-doc-audit.md +0 -0
  281. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/specs/ingestion-hooks/plan.md +0 -0
  282. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/templates/product-starter/dependabot.yml +0 -0
  283. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/vendor/arcadedb/arcadedb-buckets-schema.md +0 -0
  284. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/vendor/arcadedb/arcadedb-docs-extraction.json +0 -0
  285. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/vendor/arcadedb/arcadedb-vector-embeddings.md +0 -0
  286. {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/vendor/arcadedb/arcadedb-vector-search-tutorial.md +0 -0
  287. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/__init__.py +0 -0
  288. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/ablation.py +0 -0
  289. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/acord.py +0 -0
  290. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/acord_retrieval.py +0 -0
  291. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/boundary_residue_gold.py +0 -0
  292. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/build_golden.py +0 -0
  293. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/category_retrieval.py +0 -0
  294. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/compliance_demo/policy/community_conduct_policy.md +0 -0
  295. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/compliance_demo/subjects/post_borderline.txt +0 -0
  296. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/compliance_demo/subjects/post_compliant.txt +0 -0
  297. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/compliance_demo/subjects/post_violation.txt +0 -0
  298. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/condensed_pipeline.py +0 -0
  299. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/contract_parity_live.py +0 -0
  300. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/contractnli_judge.py +0 -0
  301. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/cuad_highlight.py +0 -0
  302. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/embedded_eval.py +0 -0
  303. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/full_pipeline_rerank.py +0 -0
  304. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/function_ceiling.py +0 -0
  305. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/function_property_rerank.py +0 -0
  306. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/function_rerank.py +0 -0
  307. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/gate1_chunker_ab.py +0 -0
  308. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/gate2_hybrid_rerank.py +0 -0
  309. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/golden/relational/set.json +0 -0
  310. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/golden.py +0 -0
  311. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/ground_discriminator_rerank.py +0 -0
  312. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/harness.py +0 -0
  313. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/ingestion_live_smoke.py +0 -0
  314. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/kg_primary.py +0 -0
  315. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/kg_property_rerank.py +0 -0
  316. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/listwise_rerank.py +0 -0
  317. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/multihop.py +0 -0
  318. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/nl_to_type.py +0 -0
  319. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/okf_gold.py +0 -0
  320. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/reachability.py +0 -0
  321. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/relational_eval.py +0 -0
  322. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/residual_decision_gold.py +0 -0
  323. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/segmenter_eval.py +0 -0
  324. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/semantic_judge_gold.py +0 -0
  325. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/test_acord.py +0 -0
  326. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/test_acord_retrieval.py +0 -0
  327. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/test_category_retrieval.py +0 -0
  328. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/test_harness.py +0 -0
  329. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/test_multihop_set.py +0 -0
  330. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/test_okf_gold.py +0 -0
  331. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/test_reachability.py +0 -0
  332. {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/unit_grouper_eval.py +0 -0
  333. {rag_wright-0.2.0 → rag_wright-0.2.1}/examples/quickstart.py +0 -0
  334. {rag_wright-0.2.0 → rag_wright-0.2.1}/plan.md +0 -0
  335. {rag_wright-0.2.0 → rag_wright-0.2.1}/release-please-config.json +0 -0
  336. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/ab_model_overlap.py +0 -0
  337. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/acord_unify.py +0 -0
  338. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/acquire_acord.py +0 -0
  339. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/acquire_cuad.py +0 -0
  340. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/acquire_ecfr.py +0 -0
  341. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/acquire_edgar.py +0 -0
  342. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/acquire_ftc_255.py +0 -0
  343. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/acquire_prod1_corpus.py +0 -0
  344. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/audit_reclass_flips.py +0 -0
  345. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/author_leg_a_silver_key.py +0 -0
  346. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/backfill_affiliations.py +0 -0
  347. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/backfill_clause_span_id.py +0 -0
  348. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/backfill_edge_source_doc_id.py +0 -0
  349. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/backup_kg_to_gcs.sh +0 -0
  350. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/bootstrap_template_capture.py +0 -0
  351. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/bootstrap_typed_edges.py +0 -0
  352. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/build_api_docs.py +0 -0
  353. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/build_api_docs.sh +0 -0
  354. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/build_cuad_clause_cache.py +0 -0
  355. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/build_function_routing_map.py +0 -0
  356. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_assemble_v2.py +0 -0
  357. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_assemble_v3.py +0 -0
  358. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_generate_hard_negatives.py +0 -0
  359. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_generate_hard_positives.py +0 -0
  360. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_generate_training.py +0 -0
  361. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_hybrid.py +0 -0
  362. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_hybrid2.py +0 -0
  363. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_jev_actor.py +0 -0
  364. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_jev_claimtypes.py +0 -0
  365. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_jev_operative.py +0 -0
  366. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_label_spans.py +0 -0
  367. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_laya_prep.py +0 -0
  368. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_laya_train.py +0 -0
  369. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_prep_operative.py +0 -0
  370. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_relabel_rubric.py +0 -0
  371. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_relabel_rubric2.py +0 -0
  372. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_train_operative.py +0 -0
  373. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/compare_extraction_models.py +0 -0
  374. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/compliance_actor_gate_smoke.py +0 -0
  375. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/compliance_engine_smoke.py +0 -0
  376. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/compliance_policy_demo.py +0 -0
  377. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/curate_taxonomy_gaps.py +0 -0
  378. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/dg_model_ab.py +0 -0
  379. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/diagnose_acord_knn_expansion.py +0 -0
  380. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/diagnose_acord_knn_rerank.py +0 -0
  381. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/diagnose_acord_leg_pool.py +0 -0
  382. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/diagnose_acord_legs.py +0 -0
  383. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/diagnose_acord_pool.py +0 -0
  384. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/diagnose_acord_relstructure.py +0 -0
  385. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/diagnose_acord_retrieval.py +0 -0
  386. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/distill/eval_all.py +0 -0
  387. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/distill/eval_ce.py +0 -0
  388. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/distill/eval_listwise_b.py +0 -0
  389. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/distill/export_ce_dataset.py +0 -0
  390. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/distill/extract_features.py +0 -0
  391. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/distill/listwise_variants.py +0 -0
  392. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/distill/relational_features.py +0 -0
  393. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/distill/train_ce.py +0 -0
  394. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/distill/train_modal.py +0 -0
  395. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/enrich_edgar_candidates.py +0 -0
  396. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/eval_chunking_ab.py +0 -0
  397. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/eval_classifier_guided_vs_tagparse.py +0 -0
  398. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/eval_compliance_gold.py +0 -0
  399. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/extract_arcadedb_docs.py +0 -0
  400. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/generate_contract_python.py +0 -0
  401. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/git_post_commit_graphify.sh +0 -0
  402. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/granite_chunker_assess.py +0 -0
  403. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/graph_status.sh +0 -0
  404. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/ingest_acord.py +0 -0
  405. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/ingest_compliance_async_prod2.py +0 -0
  406. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/ingest_compliance_document_prod2.py +0 -0
  407. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/ingest_compliance_prod2.py +0 -0
  408. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/ingest_cuad.py +0 -0
  409. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/ingest_cuad_full.py +0 -0
  410. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/ingest_ftc_compliance.py +0 -0
  411. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/ingest_prod1.py +0 -0
  412. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/ingest_prod1_async.py +0 -0
  413. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/ingest_smoke.py +0 -0
  414. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/install_git_hooks.sh +0 -0
  415. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/label_new_functions.py +0 -0
  416. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/legb_function_gate_recall.py +0 -0
  417. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/make_compliance_fixtures.py +0 -0
  418. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/make_compliance_gold.py +0 -0
  419. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/mcp_compliance_agent_demo.py +0 -0
  420. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/mcp_intra_document_qa_smoke.py +0 -0
  421. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/mcp_query_legs_agent_demo.py +0 -0
  422. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/measure_generation_robustness.py +0 -0
  423. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/measure_silver.py +0 -0
  424. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/merge_docs_into_framework.py +0 -0
  425. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/migrate_entity_cik_to_canonical_id.py +0 -0
  426. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/migrate_silver_evidence_autotag.py +0 -0
  427. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/migrate_silver_evidence_remove_autotag.py +0 -0
  428. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/migrate_span_fields.py +0 -0
  429. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/mine_scarce_functions.py +0 -0
  430. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/modal_arcadedb.py +0 -0
  431. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/modal_backfill.py +0 -0
  432. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/modal_exception_linking.py +0 -0
  433. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/modal_gemma4_vllm.py +0 -0
  434. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/modal_gemma4_vllm_snapshot.py +0 -0
  435. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/modal_granite_server.py +0 -0
  436. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/modal_granite_throughput.py +0 -0
  437. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/modal_granite_vllm_server.py +0 -0
  438. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/modal_query_app.py +0 -0
  439. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/modal_qwen3_27b_bench.py +0 -0
  440. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/modal_qwen3_27b_snapshot.py +0 -0
  441. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/modal_qwen3_vllm_server.py +0 -0
  442. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/modal_stack_a100.py +0 -0
  443. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/ocr_benchmark.py +0 -0
  444. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/ocr_preprocess.py +0 -0
  445. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/ontology_dimension_check.py +0 -0
  446. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/phase_a_leg_validate.py +0 -0
  447. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/populate_clause_kg.py +0 -0
  448. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/populate_entity_graph.py +0 -0
  449. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/populate_entity_graph_extracted.py +0 -0
  450. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/populate_property_store.py +0 -0
  451. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/prep_relational_verification.py +0 -0
  452. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/publish_manifests.py +0 -0
  453. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/reclassify_kg.py +0 -0
  454. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/refresh_framework_graph.sh +0 -0
  455. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/revert_reclass_flips.py +0 -0
  456. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/run_acord_retrieval.py +0 -0
  457. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/run_clause_exception_linking.py +0 -0
  458. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/semantic_judge_live_validate.py +0 -0
  459. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/semantic_judge_probe.py +0 -0
  460. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/snapshot_leg_a_eval.py +0 -0
  461. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/stack_correctness_validate.py +0 -0
  462. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/table_retrieval_smoke.py +0 -0
  463. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/train_function_classifier.py +0 -0
  464. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/train_legalbert_function.py +0 -0
  465. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/train_legalbert_modal.py +0 -0
  466. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/typed_rerank_validate.py +0 -0
  467. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/verify_wheel_install.sh +0 -0
  468. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/vllm_extraction_ab.py +0 -0
  469. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/vllm_kg_query_validate.py +0 -0
  470. {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/vllm_raw_diagnostic.py +0 -0
  471. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/__init__.py +0 -0
  472. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/api/__init__.py +0 -0
  473. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/api/config.py +0 -0
  474. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/api/discover.py +0 -0
  475. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/api/documents.py +0 -0
  476. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/api/ids.py +0 -0
  477. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/api/invoke.py +0 -0
  478. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/api/kg.py +0 -0
  479. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/api/mcp.py +0 -0
  480. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/api/usage.py +0 -0
  481. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/api/workspace.py +0 -0
  482. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/__init__.py +0 -0
  483. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/answer_generator.py +0 -0
  484. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/ard.py +0 -0
  485. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/chunk_read.py +0 -0
  486. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/chunk_write.py +0 -0
  487. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/disambiguation.py +0 -0
  488. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/document_parse.py +0 -0
  489. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/document_scope.py +0 -0
  490. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/embedding.py +0 -0
  491. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/embedding_profiles.py +0 -0
  492. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/entity_resolution.py +0 -0
  493. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/fusion.py +0 -0
  494. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/graph_query.py +0 -0
  495. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/graph_storage.py +0 -0
  496. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/hybrid_search.py +0 -0
  497. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/invoke.py +0 -0
  498. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/jev_decision.py +0 -0
  499. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/manifests.py +0 -0
  500. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/okf_navigate.py +0 -0
  501. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/parsing.py +0 -0
  502. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/registry.py +0 -0
  503. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/remote_encoders.py +0 -0
  504. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/reranking.py +0 -0
  505. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/retrieval_core.py +0 -0
  506. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/rlm_chunking.py +0 -0
  507. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/rlm_synthesis.py +0 -0
  508. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/scan_quality.py +0 -0
  509. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/span_relevance_judgment.py +0 -0
  510. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/vision_to_text.py +0 -0
  511. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/vlm_ocr.py +0 -0
  512. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/contracts/__init__.py +0 -0
  513. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/contracts/chunk.py +0 -0
  514. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/contracts/extraction.py +0 -0
  515. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/contracts/graph.py +0 -0
  516. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/contracts/identifiers.py +0 -0
  517. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/contracts/ingestion.py +0 -0
  518. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/contracts/provenance.py +0 -0
  519. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/contracts/span.py +0 -0
  520. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/corpus/__init__.py +0 -0
  521. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/corpus/canonicalize.py +0 -0
  522. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/corpus/document_parser.py +0 -0
  523. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/corpus/embedded.py +0 -0
  524. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/corpus/http.py +0 -0
  525. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/ingestion/__init__.py +0 -0
  526. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/ingestion/builder.py +0 -0
  527. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/ingestion/evaluate.py +0 -0
  528. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/ingestion/group.py +0 -0
  529. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/ingestion/layout.py +0 -0
  530. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/ingestion/segment.py +0 -0
  531. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/ingestion/tables.py +0 -0
  532. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/models/__init__.py +0 -0
  533. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/models/profiles.py +0 -0
  534. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/models/seam.py +0 -0
  535. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/models/tag_structured.py +0 -0
  536. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/models/tracing.py +0 -0
  537. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/models/usage.py +0 -0
  538. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/okf/__init__.py +0 -0
  539. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/okf/compile.py +0 -0
  540. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/okf/document.py +0 -0
  541. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/okf/enrich.py +0 -0
  542. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/okf/links.py +0 -0
  543. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/okf/lint.py +0 -0
  544. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/ontology/__init__.py +0 -0
  545. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/ontology/pack_schema.py +0 -0
  546. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/ontology/registry.py +0 -0
  547. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/__init__.py +0 -0
  548. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/__init__.py +0 -0
  549. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/capabilities/__init__.py +0 -0
  550. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/capabilities/assertion_extraction.py +0 -0
  551. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/capabilities/claim_extraction.py +0 -0
  552. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/capabilities/compliance_judgment.py +0 -0
  553. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/capabilities/compliance_store.py +0 -0
  554. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/capabilities/requirement_extraction.py +0 -0
  555. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/invokers.py +0 -0
  556. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/mcp/__init__.py +0 -0
  557. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/mcp/compliance_server.py +0 -0
  558. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/ontology/__init__.py +0 -0
  559. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/ontology/compliance_bridge.ttl +0 -0
  560. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/ontology/loader.py +0 -0
  561. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/ontology/packs/ftc_16cfr255.ttl +0 -0
  562. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/pack.py +0 -0
  563. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/schemas/__init__.py +0 -0
  564. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/schemas/compliance.py +0 -0
  565. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/skills/__init__.py +0 -0
  566. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/skills/claim_extraction/SKILL.md +0 -0
  567. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/skills/claim_extraction/__init__.py +0 -0
  568. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/skills/claim_extraction/template.py +0 -0
  569. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/skills/compliance_judgment/SKILL.md +0 -0
  570. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/skills/generic_compliance_judgment/SKILL.md +0 -0
  571. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/skills/requirement_extraction/SKILL.md +0 -0
  572. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/skills/requirement_extraction/__init__.py +0 -0
  573. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/skills/requirement_extraction/template.py +0 -0
  574. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/subgraphs/__init__.py +0 -0
  575. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/subgraphs/compliance_check.py +0 -0
  576. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/subgraphs/compliance_ingestion.py +0 -0
  577. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/subgraphs/requirement_extraction.py +0 -0
  578. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/__init__.py +0 -0
  579. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/capabilities/__init__.py +0 -0
  580. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/capabilities/clause_exception_linking.py +0 -0
  581. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/capabilities/contract_kg_serve.py +0 -0
  582. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/capabilities/contract_kg_store.py +0 -0
  583. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/capabilities/dg_extraction.py +0 -0
  584. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/capabilities/graph_extraction.py +0 -0
  585. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/capabilities/highlight_serve.py +0 -0
  586. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/capabilities/property_boosted_retrieval.py +0 -0
  587. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/capabilities/query_function_classifier.py +0 -0
  588. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/capabilities/query_understanding.py +0 -0
  589. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/corpus/__init__.py +0 -0
  590. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/corpus/cuad.py +0 -0
  591. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/corpus/cuad_ingestion.py +0 -0
  592. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/corpus/edgar.py +0 -0
  593. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/corpus/gcs_ingestion.py +0 -0
  594. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/corpus/selection.py +0 -0
  595. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/mcp/__init__.py +0 -0
  596. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/mcp/intra_document_qa_server.py +0 -0
  597. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/mcp/relational_qa_server.py +0 -0
  598. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/mcp/session_store.py +0 -0
  599. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/mcp/typed_property_retrieval_server.py +0 -0
  600. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/ontology/__init__.py +0 -0
  601. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/ontology/_generated_template_meta.py +0 -0
  602. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/ontology/_generated_vocab.py +0 -0
  603. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/ontology/clause_template.py +0 -0
  604. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/ontology/codegen.py +0 -0
  605. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/ontology/contract_bridge.ttl +0 -0
  606. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/ontology/contract_taxonomy.py +0 -0
  607. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/ontology/derive.py +0 -0
  608. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/ontology/loader.py +0 -0
  609. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/ontology/template_introspect.py +0 -0
  610. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/options.py +0 -0
  611. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/pack.py +0 -0
  612. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/schemas/__init__.py +0 -0
  613. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/schemas/contract_meta.py +0 -0
  614. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/schemas/function.py +0 -0
  615. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/schemas/function_routing.py +0 -0
  616. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/schemas/highlight.py +0 -0
  617. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/schemas/jurisdiction.py +0 -0
  618. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/schemas/ontology.py +0 -0
  619. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/schemas/property.py +0 -0
  620. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/schemas/query_intent.py +0 -0
  621. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/schemas/value_match.py +0 -0
  622. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/skills/__init__.py +0 -0
  623. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/skills/corpus_ingest/SKILL.md +0 -0
  624. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/skills/extraction_semantic_judge/SKILL.md +0 -0
  625. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/skills/extraction_semantic_judge/__init__.py +0 -0
  626. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/__init__.py +0 -0
  627. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/boundary.py +0 -0
  628. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/clause_function_classifier.py +0 -0
  629. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/clause_kg_extractor.py +0 -0
  630. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/cuad_labels.py +0 -0
  631. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/dim_classifier.py +0 -0
  632. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/dim_fleet.json +0 -0
  633. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/function_classifier.py +0 -0
  634. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/function_families.py +0 -0
  635. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/hybrid_classifier.py +0 -0
  636. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/legalbert_classifier.py +0 -0
  637. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/model_capabilities.py +0 -0
  638. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/new_function_labels.py +0 -0
  639. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/property_extractor.py +0 -0
  640. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/property_grounding.py +0 -0
  641. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/reclassify.py +0 -0
  642. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/residual_candidates.py +0 -0
  643. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/scarce_function_labels.py +0 -0
  644. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/segment.py +0 -0
  645. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/semantic_judge.py +0 -0
  646. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/symbolic_validation.py +0 -0
  647. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/tag_clause_extractor.py +0 -0
  648. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/subgraphs/__init__.py +0 -0
  649. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/subgraphs/async_ingestion.py +0 -0
  650. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/subgraphs/contract_ingestion_pipeline.py +0 -0
  651. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/subgraphs/intra_document_qa.py +0 -0
  652. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/subgraphs/query_constraint_extraction.py +0 -0
  653. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/subgraphs/relational_qa.py +0 -0
  654. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/subgraphs/typed_clause_extraction.py +0 -0
  655. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/subgraphs/typed_property_retrieval.py +0 -0
  656. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/py.typed +0 -0
  657. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/skills/__init__.py +0 -0
  658. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/skills/generation/SKILL.md +0 -0
  659. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/skills/generation/__init__.py +0 -0
  660. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/skills/okf_navigate/SKILL.md +0 -0
  661. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/skills/rlm/SKILL.md +0 -0
  662. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/skills/rlm/__init__.py +0 -0
  663. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/skills/rlm/agent.py +0 -0
  664. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/skills/span_relevance_judgment/SKILL.md +0 -0
  665. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/skills/vision_to_text/SKILL.md +0 -0
  666. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/skills/vision_to_text/__init__.py +0 -0
  667. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/spans/__init__.py +0 -0
  668. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/spans/page_map.py +0 -0
  669. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/store/__init__.py +0 -0
  670. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/store/arcadedb.py +0 -0
  671. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/store/chunk_text.py +0 -0
  672. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/store/seam.py +0 -0
  673. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/subgraphs/__init__.py +0 -0
  674. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/subgraphs/graph_extraction.py +0 -0
  675. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/subgraphs/observability.py +0 -0
  676. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/subgraphs/scaffold.py +0 -0
  677. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/subgraphs/semantic_chunking.py +0 -0
  678. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/util/__init__.py +0 -0
  679. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/util/concurrent.py +0 -0
  680. {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/util/spacy_model.py +0 -0
  681. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/__init__.py +0 -0
  682. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/api/__init__.py +0 -0
  683. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/api/test_capability_reexports.py +0 -0
  684. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/api/test_discover.py +0 -0
  685. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/api/test_documents.py +0 -0
  686. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/api/test_e2e.py +0 -0
  687. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/api/test_invoke.py +0 -0
  688. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/api/test_kg.py +0 -0
  689. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/api/test_mcp.py +0 -0
  690. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/api/test_options.py +0 -0
  691. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/api/test_usage.py +0 -0
  692. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/api/test_workspace.py +0 -0
  693. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/arch/test_api_docs_current.py +0 -0
  694. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/arch/test_doc_references.py +0 -0
  695. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/arch/test_import_contracts.py +0 -0
  696. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/async_helpers.py +0 -0
  697. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/__init__.py +0 -0
  698. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/_fixtures/rlm_probe_skill/SKILL.md +0 -0
  699. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_answer_generator.py +0 -0
  700. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_answer_generator_async.py +0 -0
  701. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_assertion_extraction.py +0 -0
  702. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_authoring_contract.py +0 -0
  703. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_chunk_read.py +0 -0
  704. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_chunk_write.py +0 -0
  705. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_claim_extraction.py +0 -0
  706. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_clause_exception_linking.py +0 -0
  707. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_compliance_judgment.py +0 -0
  708. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_compliance_store.py +0 -0
  709. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_contract_kg_serve.py +0 -0
  710. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_contract_kg_store.py +0 -0
  711. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_contract_kg_store_reads.py +0 -0
  712. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_contract_taxonomy_and_spans.py +0 -0
  713. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_dg_adapter.py +0 -0
  714. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_dg_async.py +0 -0
  715. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_dg_extraction.py +0 -0
  716. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_dg_model_seam.py +0 -0
  717. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_dg_private.py +0 -0
  718. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_disambiguation.py +0 -0
  719. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_document_scope.py +0 -0
  720. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_embedding.py +0 -0
  721. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_embedding_profiles.py +0 -0
  722. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_entity_resolution.py +0 -0
  723. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_fusion.py +0 -0
  724. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_graph_extraction.py +0 -0
  725. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_graph_query.py +0 -0
  726. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_graph_storage.py +0 -0
  727. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_highlight_serve.py +0 -0
  728. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_hybrid_search.py +0 -0
  729. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_jev_decision.py +0 -0
  730. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_manifest_validation.py +0 -0
  731. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_manifests.py +0 -0
  732. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_okf_compile.py +0 -0
  733. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_okf_links.py +0 -0
  734. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_okf_navigate.py +0 -0
  735. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_parsing.py +0 -0
  736. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_parties_extraction.py +0 -0
  737. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_property_boosted_retrieval.py +0 -0
  738. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_query_function_classifier.py +0 -0
  739. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_query_understanding.py +0 -0
  740. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_registry.py +0 -0
  741. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_remote_encoders.py +0 -0
  742. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_repair_partition.py +0 -0
  743. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_requirement_extraction.py +0 -0
  744. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_reranking.py +0 -0
  745. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_retrieval_core.py +0 -0
  746. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_rlm_chunking.py +0 -0
  747. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_rlm_chunking_async.py +0 -0
  748. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_rlm_method.py +0 -0
  749. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_rlm_synthesis.py +0 -0
  750. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_runtime_registry.py +0 -0
  751. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_scan_quality.py +0 -0
  752. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_span_relevance_judgment.py +0 -0
  753. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_structural_boundary_discoverer.py +0 -0
  754. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_structural_model_fallback.py +0 -0
  755. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_tag_boundary_discoverer.py +0 -0
  756. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_tiered_ocr.py +0 -0
  757. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_vlm_ocr.py +0 -0
  758. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/compliance_fakes.py +0 -0
  759. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/conftest.py +0 -0
  760. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/contracts/__init__.py +0 -0
  761. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/contracts/test_canonical_source_doc_id.py +0 -0
  762. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/contracts/test_chunk_record.py +0 -0
  763. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/contracts/test_compliance.py +0 -0
  764. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/contracts/test_cuad_highlight_contracts.py +0 -0
  765. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/contracts/test_extraction.py +0 -0
  766. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/contracts/test_function.py +0 -0
  767. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/contracts/test_function_routing.py +0 -0
  768. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/contracts/test_identifiers.py +0 -0
  769. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/contracts/test_ingestion_hooks.py +0 -0
  770. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/contracts/test_jurisdiction.py +0 -0
  771. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/contracts/test_ontology.py +0 -0
  772. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/contracts/test_property.py +0 -0
  773. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/contracts/test_provenance.py +0 -0
  774. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/contracts/test_value_match.py +0 -0
  775. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/corpus/__init__.py +0 -0
  776. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/corpus/_ooxml_fixtures.py +0 -0
  777. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/corpus/test_canonicalize.py +0 -0
  778. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/corpus/test_cuad.py +0 -0
  779. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/corpus/test_cuad_ingestion.py +0 -0
  780. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/corpus/test_document_parser.py +0 -0
  781. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/corpus/test_edgar.py +0 -0
  782. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/corpus/test_embedded.py +0 -0
  783. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/corpus/test_gcs_ingestion.py +0 -0
  784. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/corpus/test_http.py +0 -0
  785. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/corpus/test_parse_wire2.py +0 -0
  786. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/corpus/test_selection.py +0 -0
  787. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/eval/test_contractnli_judge.py +0 -0
  788. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/eval/test_cuad_highlight_metrics.py +0 -0
  789. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/eval/test_kg_property_rerank.py +0 -0
  790. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/eval/test_nl_to_type_metrics.py +0 -0
  791. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/eval/test_relational_eval.py +0 -0
  792. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/fixtures/ingestion/segmenter_gold.json +0 -0
  793. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/fixtures/ingestion/textile_spec_sheet.md +0 -0
  794. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/fixtures/ingestion/textile_test_report.md +0 -0
  795. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/fixtures/leg_a_silver/README.md +0 -0
  796. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/fixtures/leg_a_silver/evidence_snapshot.json +0 -0
  797. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/fixtures/table-bearing-contract.pdf +0 -0
  798. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/foundation/__init__.py +0 -0
  799. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/foundation/test_arcadedb_hybrid.py +0 -0
  800. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/foundation/test_model_seam_structured.py +0 -0
  801. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ingestion/__init__.py +0 -0
  802. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ingestion/test_builder.py +0 -0
  803. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ingestion/test_evaluate.py +0 -0
  804. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ingestion/test_layout_segmenter.py +0 -0
  805. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ingestion/test_spreadsheet_content.py +0 -0
  806. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ingestion/test_table_rows.py +0 -0
  807. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ingestion/test_tuning.py +0 -0
  808. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ingestion/test_unit_grouper.py +0 -0
  809. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/journey/incidents_domain.py +0 -0
  810. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/journey/incidents_pack.ttl +0 -0
  811. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/journey/test_incidents_journey.py +0 -0
  812. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/journey/test_pack_schema.py +0 -0
  813. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/mcp/__init__.py +0 -0
  814. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/mcp/test_compliance_server.py +0 -0
  815. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/mcp/test_intra_document_qa_server.py +0 -0
  816. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/mcp/test_no_model_supplied_tenant.py +0 -0
  817. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/mcp/test_relational_qa_server.py +0 -0
  818. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/mcp/test_typed_property_retrieval_server.py +0 -0
  819. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/models/__init__.py +0 -0
  820. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/models/test_async_infra.py +0 -0
  821. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/models/test_profile_routing.py +0 -0
  822. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/models/test_profile_seam.py +0 -0
  823. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/models/test_seam_async.py +0 -0
  824. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/models/test_seam_retry.py +0 -0
  825. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/models/test_seam_stream.py +0 -0
  826. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/models/test_serving_seam.py +0 -0
  827. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/models/test_serving_wiring.py +0 -0
  828. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/models/test_tag_structured.py +0 -0
  829. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/models/test_tag_structured_async.py +0 -0
  830. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/models/test_tracing.py +0 -0
  831. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/models/test_usage.py +0 -0
  832. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ontology/__init__.py +0 -0
  833. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ontology/test_clause_template.py +0 -0
  834. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ontology/test_compliance_ontology_authoritative.py +0 -0
  835. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ontology/test_derivation.py +0 -0
  836. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ontology/test_entity_taxonomy.py +0 -0
  837. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ontology/test_generated_template_meta_in_sync.py +0 -0
  838. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ontology/test_generated_vocab_in_sync.py +0 -0
  839. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ontology/test_template_captured_in_ttl.py +0 -0
  840. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ontology/test_ttl_is_source_of_truth.py +0 -0
  841. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/reference/test_compliance_reference.py +0 -0
  842. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/scripts/test_eval_chunking_ab.py +0 -0
  843. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/scripts/test_eval_classifier_ab.py +0 -0
  844. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/skills/__init__.py +0 -0
  845. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/skills/test_ingestion_skill_example.py +0 -0
  846. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_boundary.py +0 -0
  847. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_classifier_property_extractor.py +0 -0
  848. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_clause_classifier_tags_0005.py +0 -0
  849. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_clause_function_classifier.py +0 -0
  850. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_clause_function_classifier_async.py +0 -0
  851. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_clause_kg_extractor.py +0 -0
  852. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_clause_kg_extractor_async.py +0 -0
  853. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_dim_classifier.py +0 -0
  854. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_dim_fleet_live.py +0 -0
  855. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_function_classifier.py +0 -0
  856. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_hybrid_classifier.py +0 -0
  857. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_hybrid_property_extractor.py +0 -0
  858. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_legalbert_classifier.py +0 -0
  859. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_model_capabilities.py +0 -0
  860. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_new_function_labels.py +0 -0
  861. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_page_map.py +0 -0
  862. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_property_extractor.py +0 -0
  863. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_property_grounding.py +0 -0
  864. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_reclassify.py +0 -0
  865. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_residual_decision.py +0 -0
  866. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_scarce_function_labels.py +0 -0
  867. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_segment.py +0 -0
  868. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_segmentation_vocab.py +0 -0
  869. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_semantic_judge.py +0 -0
  870. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_setfit_clause_adapter.py +0 -0
  871. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_span_offsets.py +0 -0
  872. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_stage_labels_0005.py +0 -0
  873. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_symbolic_validation.py +0 -0
  874. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_tag_clause_extractor.py +0 -0
  875. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/__init__.py +0 -0
  876. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_affiliation_backfill.py +0 -0
  877. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_arcadedb_clause_kg.py +0 -0
  878. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_arcadedb_contract.py +0 -0
  879. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_arcadedb_property.py +0 -0
  880. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_arcadedb_requirement_sources.py +0 -0
  881. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_arcadedb_schema.py +0 -0
  882. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_arcadedb_span.py +0 -0
  883. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_chunk_text.py +0 -0
  884. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_concurrent_writes.py +0 -0
  885. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_document_scope.py +0 -0
  886. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_engine_domain_neutral.py +0 -0
  887. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_entities_by_name.py +0 -0
  888. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_kg_edges.py +0 -0
  889. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_kg_read.py +0 -0
  890. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_kg_write.py +0 -0
  891. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_neutral_schema.py +0 -0
  892. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_write_graph_idempotent.py +0 -0
  893. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/__init__.py +0 -0
  894. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_async_ingestion.py +0 -0
  895. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_chunk7_structure_carry.py +0 -0
  896. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_clause_results.py +0 -0
  897. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_compliance_check.py +0 -0
  898. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_compliance_ingestion.py +0 -0
  899. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_contract_ingestion_pipeline.py +0 -0
  900. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_contract_ingestion_pipeline_async.py +0 -0
  901. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_contract_ingestion_pipeline_graph_async.py +0 -0
  902. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_graph_extraction.py +0 -0
  903. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_ingest_knobs.py +0 -0
  904. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_ingest_segment_classify.py +0 -0
  905. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_intra_document_qa.py +0 -0
  906. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_observability.py +0 -0
  907. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_partial_entry_contract.py +0 -0
  908. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_query_constraint_extraction.py +0 -0
  909. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_relational_qa.py +0 -0
  910. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_requirement_extraction.py +0 -0
  911. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_scaffold.py +0 -0
  912. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_semantic_chunking.py +0 -0
  913. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_typed_clause_extraction.py +0 -0
  914. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_typed_property_retrieval.py +0 -0
  915. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/test_backfill_clause_span_id.py +0 -0
  916. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/test_dg_model_ab.py +0 -0
  917. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/test_populate_clause_kg.py +0 -0
  918. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/test_populate_entity_graph.py +0 -0
  919. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/util/__init__.py +0 -0
  920. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/util/test_concurrent.py +0 -0
  921. {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/util/test_spacy_model.py +0 -0
  922. {rag_wright-0.2.0 → rag_wright-0.2.1}/uv.lock +0 -0
@@ -14,6 +14,8 @@ description: >-
14
14
  You are building a **product** in its own repo on top of the RAG_Wright **engine** package. The engine is
15
15
  open-core and domain-neutral; your product brings the domain. Hard rules:
16
16
 
17
+ - **You own your capabilities.** The engine's catalog starts empty; your seam registers everything you invoke, at
18
+ startup (section 1). The contract/compliance capabilities are the engine's reference pack, not the engine.
17
19
  - **Product → Engine, one way.** Never fork, edit, or reach into engine internals. If the engine needs a change,
18
20
  flag it upstream — don't work around it here.
19
21
  - **The public surface is `rag_wright.api`.** Import `EngineConfig`/`StoreConfig`/`open_workspace`, the invokers
@@ -35,13 +37,27 @@ open-core and domain-neutral; your product brings the domain. Hard rules:
35
37
  ## 1. Install
36
38
 
37
39
  ```sh
38
- uv add rag-wright # or a path/git dep pre-publish (see the engine's installation doc)
40
+ uv add 'rag-wright>=0.2.0' # released-product mode (PyPI); see below for local co-development
39
41
  ```
40
42
 
41
43
  Stand up the runtime prerequisites you provide: ArcadeDB (the store), a model provider (OpenRouter or self-hosted
42
44
  vLLM), and — only for NER — `uv add 'rag-wright[ner]'` + `uv run python -m spacy download en_core_web_sm`.
43
45
  Read the engine's **installation** + **configuration** docs for the exact `.env` and `EngineConfig` fields.
44
46
 
47
+ **Local co-development** (engine and product developed together on one machine): keep the floor and add an editable
48
+ source so engine changes are picked up immediately: `[tool.uv.sources] rag-wright = { path = "<engine checkout>",
49
+ editable = true }`. Check against the published release with `uv sync --no-sources` (never with `--locked`; never
50
+ commit the `uv.lock` it rewrites). Switch to the PyPI mode above once the product has CI, deploys or other developers.
51
+ The product-starter playbook (section 5) has both modes.
52
+
53
+ **The product owns its capabilities.** The engine starts with an EMPTY catalog and never registers anything on your
54
+ behalf. In your engine seam, once, at startup, before any ingest or query: register your own pack
55
+ (`load_pack("<your pack module>")`) and the engine capabilities you use
56
+ (`for m in engine_capabilities(): register_capability(m)`); `load_reference_pack()` only if you build on the engine's
57
+ contract/compliance worked example. The engine's `src/rag_wright/packs/reference_seam.py` shows the shape (it
58
+ registers in its constructor). Without it `ainvoke_subgraph` raises `KeyError` and the decision-model paths fall back
59
+ silently to the LLM.
60
+
45
61
  ## 2. Ground before you write (graphify)
46
62
 
47
63
  Never call an engine API you have not confirmed against the index. Build the grounding lanes and query them first:
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.2.1"
3
+ }
@@ -4,6 +4,13 @@ All notable changes to RAG_Wright are documented here. The format follows
4
4
  [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and the project aims to follow
5
5
  [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [0.2.1](https://github.com/fzaidi-dai/RAG_Wright/compare/0.2.0...0.2.1) (2026-10-08)
8
+
9
+
10
+ ### Bug Fixes
11
+
12
+ * **reference:** the product owns its capabilities; the reference seam registers its own ([2fe1140](https://github.com/fzaidi-dai/RAG_Wright/commit/2fe114085e84c3b71ab00f3f126c68bd81086554))
13
+
7
14
  ## [0.2.0](https://github.com/fzaidi-dai/RAG_Wright/compare/0.1.0...0.2.0) (2026-10-07)
8
15
 
9
16
 
@@ -55,24 +55,28 @@ The failure mode to avoid, which has happened before: a command fails with "modu
55
55
 
56
56
  ## Start of every session
57
57
 
58
- > **CURRENT ACTIVE WORKSTREAM (2026-10-07): ingestion-hooks, a generic hook-based ingestion builder (ADR-0124).**
59
- > `build_ingestion(extractor, ...hooks)` with domain-neutral defaults, the neutral default schema, and the reference
60
- > pack moved behind an import boundary. Specced in its own **plan + ledger**: **`docs/specs/ingestion-hooks/plan.md`**
61
- > (task-numbered `ING-*`); breaking changes for the product repo are recorded in
62
- > `docs/specs/ingestion-hooks/ing8-breaking-changes.md`. Treat that plan as the current ledger: read it first and run
63
- > the working loop against it. The engine-prep workstream (`docs/specs/engine-prep/plan.md`, `PREP-*`) is complete.
64
- > The preceding **engine-platform boundary** workstream (engine API layer + capability runtime + de-domaining,
65
- > ADR-0117/0052/0066/0067) landed the public API + capability runtime; its spec/ledger
66
- > (`docs/specs/engine-platform/SPEC.md` + `TASKS.md`) remain the reference for that surface. The root
58
+ > **CURRENT STATE (2026-10-08): no active engine workstream.** The **ingestion-hooks** workstream (ADR-0124) is
59
+ > COMPLETE and released as **`rag-wright` 0.2.0** (PyPI + GitHub tag/release `0.2.0`; release process
60
+ > `docs/releasing.md`): the generic `build_ingestion` with hooks and domain-neutral defaults, the neutral default
61
+ > schema, the reference pack in `rag_wright.packs.{contracts,compliance}` behind an import boundary, generic span
62
+ > fields, and the pack-authoring helpers on `rag_wright.api`. Its plan + ledger is
63
+ > **`docs/specs/ingestion-hooks/plan.md`** (`ING-*`, all done); every breaking change is in
64
+ > `docs/specs/ingestion-hooks/ing8-breaking-changes.md`. **Next (user gates):** the RuleWright migration, done in the
65
+ > RuleWright repo from `docs/specs/ingestion-hooks/rulewright-migration-0.2.0.md` (never edited from here), and the
66
+ > TexWright build. Open engine follow-ups: `docs/domain-adaptation/_engine-gaps.md`. A new engine workstream gets its
67
+ > own plan + ledger under `docs/specs/<name>/`; until one is agreed, read `tasks.md`'s top block for the resume point.
68
+ > Earlier workstreams, all complete: engine-prep (`docs/specs/engine-prep/plan.md`, `PREP-*`) and the
69
+ > **engine-platform boundary** (engine API layer + capability runtime + de-domaining, ADR-0117/0052/0066/0067;
70
+ > `docs/specs/engine-platform/SPEC.md` + `TASKS.md`, the reference for that surface). The root
67
71
  > `SPEC.md`/`plan.md`/`tasks.md` carry orientation banners (ADR-0052: engine/product split, GraphWright parked);
68
72
  > historical/superseded docs are under `docs/archive/`, and the ADR index is `docs/adr/README.md`.
69
73
  >
70
- > **The consolidated doc set** (engine-prep WS2/WS4): `docs/concepts.md`, `docs/architecture.md`,
74
+ > **The consolidated doc set** (engine-prep WS2/WS4, audited in ING-5): `docs/concepts.md`, `docs/architecture.md`,
71
75
  > `docs/installation.md`, `docs/configuration.md`, `docs/quickstart.md` (+ `examples/quickstart.py`),
72
76
  > `docs/reference-pack.md`, the generated `docs/api/`, and the domain-adaptation guide
73
77
  > `docs/domain-adaptation/` (ontology authoring, KG construction, entity resolution, authoring capabilities,
74
78
  > classification & decision models) + `_engine-gaps.md`. The product-starter templates are
75
- > `docs/templates/product-starter/`.
79
+ > `docs/templates/product-starter/`. `tests/arch/test_doc_references.py` keeps these docs naming only what exists.
76
80
 
77
81
  Before doing anything else:
78
82
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: rag-wright
3
- Version: 0.2.0
3
+ Version: 0.2.1
4
4
  Summary: A domain-retargetable, open-core engine for hybrid retrieval + knowledge-graph RAG: parsing, chunking, embedding, hybrid search, reranking, graph extraction, entity resolution, ontology-driven knowledge, and a capability runtime.
5
5
  Project-URL: Homepage, https://github.com/fzaidi-dai/RAG_Wright
6
6
  Project-URL: Repository, https://github.com/fzaidi-dai/RAG_Wright
@@ -55,8 +55,11 @@ Three things matter for a new domain:
55
55
  `(resources, inputs) -> result` factory) is invoked **by name** through the engine — zero engine edits. Capabilities
56
56
  without one (most `function`s) are composed by direct import. In the reference pack, 9 of 36 capabilities are
57
57
  invocable-by-name; the rest are composed or served.
58
- - **The catalog ships empty.** The runtime ARD catalog (`MANIFEST_SPECS`) is empty on install. A product populates
59
- it with `register_capability(manifest)`; the reference pack is opt-in via `load_reference_pack()`. The invoker
58
+ - **The catalog ships empty, and the product owns it.** The runtime ARD catalog (`MANIFEST_SPECS`) is empty on
59
+ install and import; nothing in the engine registers capabilities on a product's behalf. A product registers what it
60
+ invokes, once, at startup in its seam: its own pack (`load_pack`), the engine's domain-neutral capabilities it uses
61
+ (`engine_capabilities()` offers their definitions), and the reference pack only if it builds on that worked example
62
+ (`load_reference_pack()`). The contract/compliance capabilities belong to the reference pack, not to the engine. The invoker
60
63
  resolves `impl_ref` lazily — there is no central adapter table.
61
64
  - **Packs and canonical slugs.** A registration is accepted only for a canonical slug. The engine's own generic
62
65
  capabilities (generation, the RLM skills, vision-to-text, the `jev_decision` decision model, span relevance
@@ -114,6 +114,79 @@ they are the real "does a new customer benefit?" items. The genuine engine ones
114
114
  - **Proposed:** export `publish` (with a target root) from `rag_wright.api`.
115
115
  - Surfaced: ING-5 doc audit.
116
116
 
117
+ ### G15: No public accessor for the workspace store (pack store extensions take `ws._store`)
118
+ - **Where:** `WorkspaceHandle` documents its store as engine-internal ("NOT a product accessor"), yet a pack's store
119
+ extension (`ContractKGStore`, `ComplianceStore`, or a product pack's own) wraps the workspace store, and the reference
120
+ seam builds them from `ws._store` (7 uses in `packs/reference_seam.py`); the adaptation guides do the same.
121
+ - **Impact:** a product following the reference seam reaches a private attribute; the API reference and the worked
122
+ example contradict each other.
123
+ - **Interim rule (given to RuleWright):** `ws._store` is sanctioned only to construct a pack store extension.
124
+ - **Proposed:** a public, typed way to hand the workspace store to a pack store extension (a read-only `Store`-protocol
125
+ accessor, or a `pack_store(ws, cls)` helper), then correct the API reference and the reference seam.
126
+ - Surfaced: RuleWright migration Q&A (2026-10-08).
127
+
128
+ ### G16: No public bytes entry for document parsing
129
+ - **Where:** every public parse entry takes a filesystem path (`parse_document`, `aparse_document`,
130
+ `IngestSource(path=...)`); the bytes entry `capabilities.document_parse.aparsed_source_document(source_doc_id, name,
131
+ data, *, cache_dir, metadata=None, deadline_s=600.0, include_hidden_sheets=True, tuning=None)` (and its sync twin) is
132
+ generic engine code but not exported. The compliance invoker already accepts bytes, so the surface is asymmetric.
133
+ - **Impact:** a product ingesting uploads (bytes from object storage) imports an engine module or spills to temp files.
134
+ - **Proposed:** export a bytes entry from `rag_wright.api` (e.g. `aparse_document_bytes(document_id, name, data, *,
135
+ cache_dir, ...)`), and accept bytes sources in `build_ingestion`.
136
+ - Surfaced: RuleWright migration Q&A (2026-10-08).
137
+
138
+ ### G17: `ModelRole` is required by the public API but not exported
139
+ - **Where:** `WorkspaceHandle.model_id(role: ModelRole)` takes it and `EngineConfig.models` is keyed by its values, but
140
+ `ModelRole` lives in `rag_wright.models.profiles` only.
141
+ - **Impact:** a product cannot use `model_id` or name a role override without an engine-internal import.
142
+ - **Proposed:** export `ModelRole` from `rag_wright.api`. (`model_for` / `PROFILES` stay internal: `ws.model_id(role)`
143
+ and `EngineConfig.models` are the product route.)
144
+ - Surfaced: RuleWright migration Q&A (2026-10-08).
145
+
146
+ ### G18: A product cannot meter or trace its own model calls through the public API
147
+ - **Where:** `measure_usage()` (public) is the same per-task scope as `models.usage.usage_scope` (context variable,
148
+ additive nesting), but adding a product's own model call to those scopes needs `models.usage.record_usage`, and
149
+ correlating engine traces with the product's (Langfuse) needs `models.tracing` (`traced_run`, `traced_step`,
150
+ `start_generation` / `finish_generation`); neither is exported.
151
+ - **Impact:** a product's per-tier / per-run cost attribution and its trace correlation depend on engine internals.
152
+ - **Proposed:** export `record_usage` and a small tracing-correlation surface (`traced_run`, `traced_step`) from
153
+ `rag_wright.api`.
154
+ - Surfaced: RuleWright migration Q&A (2026-10-08).
155
+
156
+ ### G19: Answer generation and relevance judgment are not invocable by a product
157
+ - **Where:** the engine capabilities `generation` and `span_relevance_judgment` are `agent_skill`s with no `impl_ref`;
158
+ their implementations (`capabilities.answer_generator.agenerate_answer` with `EvidenceItem`,
159
+ `capabilities.span_relevance_judgment` with `RelevanceVerdict`) and the query embedder
160
+ (`capabilities.remote_encoders.query_embedder`) are not exported. Only `jev_decision` of the 7 engine capabilities is
161
+ invocable by name.
162
+ - **Impact:** a product composing its own question answering over engine retrieval reaches into engine modules.
163
+ - **Proposed:** expose them as invocable model capabilities (an `impl_ref` + typed inputs/outputs) or export their entry
164
+ points and types from `rag_wright.api`; decide whether a product needs the query embedder directly.
165
+ - Surfaced: RuleWright migration Q&A (2026-10-08).
166
+
167
+ ### G20: Trained classifier weights are not packaged and the property fleet's location is not configurable
168
+ - **Where:** the reference pack's classifiers load weights from the engine checkout's gitignored `data/models/`. The
169
+ clause-type SetFit ensemble honours `RAG_SETFIT_CLAUSE_DIR`; the 29-dimension property fleet resolves
170
+ `data/models` relative to its source file (`packs/contracts/spans/dim_classifier.py`, `_MODELS_DIR`), and the
171
+ production path calls `load_dim_registry()` without a `models_dir`, so there is no setting to point it elsewhere.
172
+ - **Impact:** the fleet works only from an engine checkout (an editable install); from a PyPI install it finds no
173
+ weights. A product that owns copies of the weights (the agreed direction) cannot point the fleet at them.
174
+ - **Proposed:** a configurable models directory for every classifier (an env var / `EngineConfig` option), and the
175
+ reference pack's weights published as a downloadable GCS archive (then removed from the engine checkout).
176
+ - Surfaced: RuleWright migration Q&A (2026-10-08).
177
+
178
+ ### G21: No defined "pack SDK" surface for pack code
179
+ - **Where:** a pack's code (the reference pack today, a product's forked pack next) imports about 30 engine-internal
180
+ modules (`contracts.*`, `models.seam` / `models.tag_structured` / `models.profiles`, `subgraphs.scaffold`,
181
+ `store.seam`, several `capabilities.*`, `util.concurrent`) and makes 18 raw store queries (`_store._query` /
182
+ `_store._command`). Only the seam-level surface (`rag_wright.api`) is declared stable.
183
+ - **Impact:** a product that owns its pack (the agreed direction for RuleWright) depends on engine internals; any engine
184
+ refactor can break it without a declared contract.
185
+ - **Proposed:** define and document a stable pack-author tier (which modules and types a pack may import, with the
186
+ same compatibility promise as `rag_wright.api`), give pack store extensions a query primitive instead of raw SQL, and
187
+ enforce the boundary for pack code the way the import contracts enforce it for generic code.
188
+ - Surfaced: RuleWright migration Q&A (2026-10-08).
189
+
117
190
  ## Resolved during engine-prep (for the record)
118
191
 
119
192
  - **spaCy is an optional runtime asset**, not a hard/direct-URL dependency — the publish blocker is gone
@@ -0,0 +1,154 @@
1
+ # Ontology induction from a domain corpus: OntoCast evaluation + a home-grown design
2
+
3
+ Status: PROPOSAL (2026-10-08), DEFERRED. Nothing here is built or run yet. Two pieces of work are parked: (1) a live
4
+ evaluation of OntoCast as a baseline, and (2) building our own ontology-induction capability. Scope: an engine
5
+ capability (domain-neutral); the review UI belongs to a product.
6
+
7
+ > One-line: for domains with no good public ontology, or to enrich one we have, induce an ontology from the domain's
8
+ > corpus with an agentic propose / ground / consolidate / judge / critique loop, and emit a full pack `.ttl` in which
9
+ > every term carries evidence and a confidence, low-confidence terms going to a human review queue.
10
+
11
+ ---
12
+
13
+ ## 1. Why
14
+
15
+ Our engine keeps domain knowledge in a pack `.ttl` (ADR-0066). Authoring one by hand is the slowest step of adapting
16
+ the engine to a new domain (`docs/domain-adaptation/ontology-authoring.md`). A corpus-driven inducer would draft that
17
+ pack, and the same loop could enrich an existing pack (e.g. the contracts pack) with what a new corpus shows.
18
+
19
+ ## 2. OntoCast: desk review (code-level, 2026-10-08)
20
+
21
+ [OntoCast](https://github.com/growgraph/ontocast) v0.6.7, Apache-2.0, "agentic ontology and knowledge graph
22
+ co-generation". Read from the code (not installed or run); file references are to its repository at v0.6.7.
23
+
24
+ **Design (what it gets right):**
25
+ - A LangGraph pipeline: convert, chunk (sections, then semantic or naive chunks of 3,000 to 12,000 characters), an
26
+ ontology phase, then a facts phase, then serialize. Units are processed in parallel (`asyncio.gather` + semaphore).
27
+ - Per unit: render once, then critic passes. Each pass runs **deterministic findings first**, then one critic LLM
28
+ call, then applies each proposed fix **one at a time, rolling it back** if the unit gets worse.
29
+ - The model emits **patches** (insert/delete), never a regenerated ontology; patches are merged (insert wins),
30
+ partitioned by namespace ownership, and applied to a versioned catalog (graph-hash lineage, `prov:wasDerivedFrom`,
31
+ semantic version bumps).
32
+ - Client-side parsing (JSON envelope with Turtle inside, three repair levels, retry with the error fed back): works
33
+ with OpenRouter and open models without tool calling.
34
+ - A strong offline test suite (about 1,900 tests, model calls stubbed), an LLM response cache, an embeddable
35
+ LangGraph node.
36
+
37
+ **Cost:** about 2 to 4 model calls per unit with defaults (render, plus a critic pass, plus a selection call when a
38
+ catalog exists), up to 3x on parse failures. No hard call or token budget.
39
+
40
+ **Gaps against our needs:**
41
+
42
+ | Gap | Detail |
43
+ |---|---|
44
+ | Fragmentation | Induced from scratch, each unit mints its own ontology (its own IRI); same-IRI results are unioned, different ones only pairwise de-duplicated. No corpus-wide consolidation. |
45
+ | No confidence | Facts and terms carry no confidence. |
46
+ | Coarse provenance | Facts cite a chunk (3,000 to 12,000 characters), not a span; the ontology dump carries no provenance. |
47
+ | Incomplete schema | The prompt does not require `rdfs:domain` / `rdfs:range`; no SKOS concept schemes; no SHACL generated for the ontology. |
48
+ | No extend-only guarantee | Enrichment can propagate a `delete_graph` onto the supplied ontology in some modes. |
49
+ | No quality evidence | No ontology-quality metric or benchmark in the repository (results live in a separate repository). |
50
+ | Churn | Seven releases in two months, several breaking (wire format, defaults). |
51
+ | Open-model handling | No `<think>` stripping or `extra_body` passthrough. |
52
+
53
+ ## 3. Proposed design: our own inducer
54
+
55
+ Built on what the engine already has: `build_ingestion` units with span provenance, Qwen via tag-parse
56
+ (ADR-0045), Jev typed decisions (ADR-0119), local BGE-M3 embeddings, entity resolution and disambiguation, the
57
+ property-grounding judge (ADR-0028), the pack `.ttl` format with `eng:` declarations, SKOS and SHACL, and our eval
58
+ practice.
59
+
60
+ **Stages:**
61
+
62
+ 1. **Propose (Qwen, per unit).** Candidate classes, properties and value sets, each with a verbatim evidence quote
63
+ from the unit. Tag-parse output.
64
+ 2. **Ground (local).** Drop any proposal whose quote is not in the unit text; keep the span id as provenance.
65
+ 3. **Consolidate across the corpus (local).** Embed, cluster, entity-resolve and disambiguate the candidates;
66
+ count support (how many documents and units propose each).
67
+ 4. **Judge (Jev, batched per cluster).** Typed decisions: is it a domain concept; class, property or value; which
68
+ parent; merge these near-duplicates or not; closed value set or open text.
69
+ 5. **Critique.** Deterministic checks first (cycles, label collisions, orphans, missing domain/range as a blocking
70
+ finding), then a Qwen critic proposing patches, each applied alone and rolled back if it makes things worse
71
+ (OntoCast's pattern).
72
+ 6. **Emit.** A full pack `.ttl`: OWL classes and properties with domain/range, SKOS concept schemes for value sets,
73
+ SHACL shapes, `eng:KgVertexType` declarations; every term annotated with its evidence spans and confidence.
74
+ 7. **Review.** Terms below a confidence threshold go to a review queue (export API); accepted/rejected decisions come
75
+ back (import API) and update the pack. The decisions are also labelled data for training a classifier or Laya to
76
+ replace Jev on common judgments later (ADR-0115/0116/0119 pattern).
77
+
78
+ **Confidence per term:** a combination of the Jev decision score, corpus support, grounding, and critic agreement
79
+ (the exact model is a design task).
80
+
81
+ **Enrichment mode:** the seed pack is read-only; the inducer emits only additions under its own namespace
82
+ (extend-only by construction), each reviewed like an induced term.
83
+
84
+ **Boundaries:** the inducer is a domain-neutral engine capability, registered like any other (its own ADR and
85
+ workstream under `docs/specs/ontology-induction/`); the review UI is product work; domain seeds and naming
86
+ conventions stay in packs.
87
+
88
+ ## 4. Evaluation plan
89
+
90
+ **Corpus:** 8 substantive CUAD contracts, stratified across agreement types (license, distribution, supply,
91
+ development, franchise, services, maintenance, endorsement), 15,000 to 60,000 characters each (about 300,000
92
+ characters, roughly 40 to 60 units). CUAD is restrictively licensed: outputs stay local, never committed.
93
+
94
+ **Reference:** the curated contracts pack (`contract_bridge.ttl`): 52 clause types, 29 property dimensions with closed
95
+ value sets, entity and relationship types.
96
+
97
+ **Metrics:** recall of reference concepts (label and BGE-M3 similarity matching, no model calls); precision from a
98
+ manual review of a sample of induced terms; structure (labels, domain/range coverage, hierarchy); fragmentation and
99
+ the per-document growth curve; deletions (enrichment); repeatability across runs; calls, tokens and cost per document.
100
+
101
+ **Experiments (both systems where they apply):**
102
+ - **E1a** induce from scratch (OntoCast default);
103
+ - **E1b** induce into a single header-only seed (OntoCast fixed mode; the fragmentation fix to test);
104
+ - **E2** enrich `contract_bridge.ttl` with about a third of the clause types and property dimensions held out, and
105
+ score their rediscovery plus deletions and the quality of additions;
106
+ - **E3** (optional) facts on 2 contracts, to test re-grounding chunk-level provenance to span ids.
107
+
108
+ **A second domain** without a curated ontology, to test real induction rather than rediscovery: textile (TexWright;
109
+ client data stays local) or a public domain.
110
+
111
+ ## 5. OntoCast baseline: run recipe and cost
112
+
113
+ Isolated install (never into the engine project); Python 3.12:
114
+
115
+ ```
116
+ uv run --python 3.12 --with "ontocast[server,openai]==0.6.7" --with sentence-transformers \
117
+ ontocast --env-file oc.env process --input-path ./docs --output-dir ./out
118
+ ```
119
+
120
+ `oc.env`: `LLM_PROVIDER=openai`, `LLM_BASE_URL=https://openrouter.ai/api/v1`, `LLM_API_KEY`,
121
+ `LLM_MODEL_NAME=qwen/qwen3.8-27b`, `LLM_TEMPERATURE=0`, `CURRENT_DOMAIN`, `ONTOCAST_CACHE_DIR`,
122
+ `RENDER_MODE=ontology`, `ONTOLOGY_CRITIC_PASSES=1`, `FACTS_CRITIC_PASSES=0`, `MAX_VISITS_PER_NODE=1`,
123
+ `PARALLEL_WORKERS=8`, `LLM_MAX_INFLIGHT=8`, one shared local embedding model for chunking and aggregation. Induce
124
+ from scratch with `--ontology-dir ''`; enrich with `--ontology-dir ./seed`, `ONTOLOGY_CONTEXT_MODE=fixed_single_ontology`
125
+ and `ONTOLOGY_CONTEXT_FIXED_ONTOLOGY_ID=<pack IRI>`. Outputs: `<stem>.ontology.ttl`, `<stem>.run.json` (calls,
126
+ budget, metrics); the in-memory store is lost on exit, so the last document's ontology dump is the cumulative result.
127
+
128
+ **Estimated cost** at OpenRouter's 2026-10-08 Qwen3.8-27B price ($0.425 / M input, $2.55 / M output): E1a + E1b about
129
+ 240 calls, about $3; E2 about 120 calls with large prompts (the seed is context), about $3; E3 about 40 calls, about
130
+ $1. About $7 in total, $20 worst case (every call retried 3 times). Over the paid-call threshold, so it needs a
131
+ pre-flight and approval when it runs. The cache makes re-scoring free.
132
+
133
+ ## 6. Effort (estimate)
134
+
135
+ In the one-task-at-a-time loop: MVP (stages 1 to 4, emit, eval harness, contracts rediscovery test) about 2 weeks;
136
+ enrichment mode and the critic loop about 1 week; the confidence model and the review export/import APIs about 1 week.
137
+ The plumbing is predictable; induced-ontology quality (parent selection, class / property / value typing, naming) is
138
+ the uncertain part, so the MVP's eval results are a go/no-go gate before the rest.
139
+
140
+ ## 7. Open questions
141
+
142
+ - Does Qwen (via OpenRouter) produce clean proposals at scale, and what is OntoCast's real fragmentation and quality
143
+ on it (the baseline answers both)?
144
+ - The confidence model: how to weigh Jev score, support, grounding and critic agreement; calibrated against review
145
+ decisions.
146
+ - IRI minting and stability across runs and across enrichment rounds.
147
+ - Which second domain to use, and how to build a small gold set for it.
148
+ - The review loop's product UX (which product hosts it first).
149
+
150
+ ## 8. When resumed
151
+
152
+ 1. Run the OntoCast baseline (E1b + E2 first, about $4) after a pre-flight and approval.
153
+ 2. Write the workstream spec + ADR (`docs/specs/ontology-induction/`): stages, the confidence model, the review loop,
154
+ the eval gate, the task breakdown; review before any build.
@@ -4,6 +4,9 @@ ING-8 de-legalizes the engine. There are **no transition defaults and no dual re
4
4
  when it lands, and a product built on the engine (RuleWright) migrates afterwards, from this record. Each entry
5
5
  says what changed, who is affected, and the exact change a consumer makes.
6
6
 
7
+ **RuleWright:** `rulewright-migration-0.2.0.md` (beside this file) applies this record to RuleWright's code as it is
8
+ (scanned import by import), as a step-by-step migration to rag-wright 0.2.0.
9
+
7
10
  ## ING-8a: the default schema is neutral
8
11
 
9
12
  **What changed.**