rag-wright 0.5.0__tar.gz → 0.5.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 (967) hide show
  1. rag_wright-0.5.1/.release-please-manifest.json +3 -0
  2. {rag_wright-0.5.0 → rag_wright-0.5.1}/CHANGELOG.md +7 -0
  3. {rag_wright-0.5.0 → rag_wright-0.5.1}/CLAUDE.md +2 -2
  4. {rag_wright-0.5.0 → rag_wright-0.5.1}/PKG-INFO +1 -1
  5. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/configuration.md +4 -0
  6. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/specs/public-surface/plan.md +1 -1
  7. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/specs/public-surface/rulewright-migration-0.5.0.md +10 -0
  8. rag_wright-0.5.1/examples/model_server.py +91 -0
  9. {rag_wright-0.5.0 → rag_wright-0.5.1}/pyproject.toml +1 -1
  10. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/models/model_servers.py +4 -4
  11. {rag_wright-0.5.0 → rag_wright-0.5.1}/tasks.md +5 -3
  12. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/models/test_model_servers.py +23 -1
  13. {rag_wright-0.5.0 → rag_wright-0.5.1}/uv.lock +1 -1
  14. rag_wright-0.5.0/.release-please-manifest.json +0 -3
  15. {rag_wright-0.5.0 → rag_wright-0.5.1}/.claude/settings.json +0 -0
  16. {rag_wright-0.5.0 → rag_wright-0.5.1}/.claude/skills/authoring-a-capability/SKILL.md +0 -0
  17. {rag_wright-0.5.0 → rag_wright-0.5.1}/.claude/skills/building-an-ingestion-capability/SKILL.md +0 -0
  18. {rag_wright-0.5.0 → rag_wright-0.5.1}/.claude/skills/classifier-opportunity-analysis/SKILL.md +0 -0
  19. {rag_wright-0.5.0 → rag_wright-0.5.1}/.claude/skills/creating-evals/SKILL.md +0 -0
  20. {rag_wright-0.5.0 → rag_wright-0.5.1}/.claude/skills/laya/SKILL.md +0 -0
  21. {rag_wright-0.5.0 → rag_wright-0.5.1}/.claude/skills/qwen-vllm-modal/SKILL.md +0 -0
  22. {rag_wright-0.5.0 → rag_wright-0.5.1}/.claude/skills/qwen-vllm-modal/scripts/modal_qwen3_vllm_server.py +0 -0
  23. {rag_wright-0.5.0 → rag_wright-0.5.1}/.claude/skills/setfit/SKILL.md +0 -0
  24. {rag_wright-0.5.0 → rag_wright-0.5.1}/.claude/skills/using-the-rag-wright-engine/SKILL.md +0 -0
  25. {rag_wright-0.5.0 → rag_wright-0.5.1}/.env.example +0 -0
  26. {rag_wright-0.5.0 → rag_wright-0.5.1}/.github/workflows/publish.yml +0 -0
  27. {rag_wright-0.5.0 → rag_wright-0.5.1}/.github/workflows/release-please.yml +0 -0
  28. {rag_wright-0.5.0 → rag_wright-0.5.1}/.gitignore +0 -0
  29. {rag_wright-0.5.0 → rag_wright-0.5.1}/LICENSE +0 -0
  30. {rag_wright-0.5.0 → rag_wright-0.5.1}/README.md +0 -0
  31. {rag_wright-0.5.0 → rag_wright-0.5.1}/SPEC.md +0 -0
  32. {rag_wright-0.5.0 → rag_wright-0.5.1}/conftest.py +0 -0
  33. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/ARCHITECTURE_OVERVIEW.md +0 -0
  34. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/ArcadeDB_Local.md +0 -0
  35. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/OBSERVABILITY.md +0 -0
  36. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0001-stack-and-library-choices.md +0 -0
  37. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0002-validation-corpus-cuad-edgar.md +0 -0
  38. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0003-ard-registration-and-capability-kinds.md +0 -0
  39. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0004-entity-disambiguation.md +0 -0
  40. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0005-relational-golden-set.md +0 -0
  41. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0006-model-profile.md +0 -0
  42. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0007-arcadedb-store-schema.md +0 -0
  43. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0008-unified-framework-index-docs-grounding.md +0 -0
  44. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0009-rlm-chunking-retained-as-configurable-capability.md +0 -0
  45. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0010-transformers-pinned-below-5-for-flagembedding-reranker.md +0 -0
  46. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0011-cuad-not-a-retrieval-benchmark-acord-for-queries.md +0 -0
  47. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0012-entity-mention-confidence-no-proximity-edges.md +0 -0
  48. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0013-entity-resolution-matching-strategy.md +0 -0
  49. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0014-split-generation-and-vision-to-text.md +0 -0
  50. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0015-rlm-dynamic-subagents-and-granted-subagents.md +0 -0
  51. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0016-rlm-defined-by-required-capabilities-enforced-as-tests.md +0 -0
  52. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0017-dynamic-dispatch-trigger-as-typed-flag.md +0 -0
  53. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0018-rlm-method-is-the-orchestrator-system-prompt.md +0 -0
  54. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0019-recursion-is-optional-for-chunking-required-for-synthesis.md +0 -0
  55. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0020-serialize-interpreter-sessions-per-process-ki1.md +0 -0
  56. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0021-capability-interface-governed-typed-io.md +0 -0
  57. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0022-fr-k-embedding-free-okf-navigation-experimental.md +0 -0
  58. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0023-cheap-model-for-okf-enrichment.md +0 -0
  59. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0024-reader-parallelism-lives-in-python-not-the-interpreter.md +0 -0
  60. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0025-retrieval-pivot-function-classify-property-graph-rerank.md +0 -0
  61. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0026-property-schema-and-extended-function-taxonomy.md +0 -0
  62. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0027-openrouter-provider-routing-by-throughput.md +0 -0
  63. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0028-deterministic-grounding-judge-and-flash-pro-cascade.md +0 -0
  64. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0029-retrieval-pipeline-domain-portability-and-adaptation.md +0 -0
  65. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0030-model-training-standard-modal-reusable-checkpointed.md +0 -0
  66. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0031-single-call-chunking-for-structured-contracts.md +0 -0
  67. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0032-nl-to-type-two-step-reason-emit-on-gemma.md +0 -0
  68. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0033-unified-contract-kg-three-legs-one-graph.md +0 -0
  69. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0034-granite-json-schema-structured-output-profile.md +0 -0
  70. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0035-graph-extraction-rebacked-with-gp1b-retire-hybrid.md +0 -0
  71. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0036-party-clause-link-party-to-edge.md +0 -0
  72. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0037-clause-template-is-authoritative-code-not-generated.md +0 -0
  73. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0038-full-cuad-kg-on-gcp-gpu-vm-and-gcs-backup.md +0 -0
  74. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0039-self-hosted-open-model-stack-on-modal-a100.md +0 -0
  75. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0040-neuro-symbolic-extraction-fidelity-ontology-shacl-validation.md +0 -0
  76. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0041-capability-kind-rubric-and-agent-skill-runtime-tiers.md +0 -0
  77. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0042-clause-level-span-id-provenance-and-content-hash-backfill.md +0 -0
  78. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0043-retire-cross-corpus-retrieval-standardize-on-leg-b.md +0 -0
  79. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0044-is-exception-to-derived-carveout-relationship.md +0 -0
  80. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0045-client-side-tag-parse-structured-output.md +0 -0
  81. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0046-acord-unified-into-one-production-kg.md +0 -0
  82. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0047-retire-precomputed-clause-function-gate.md +0 -0
  83. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0048-ingest-llm-classifier-nondestructive-reclassify.md +0 -0
  84. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0049-generic-customer-lens-for-ingestion.md +0 -0
  85. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0050-async-langgraph-ingestion.md +0 -0
  86. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0051-schema-bootstrap-and-feedback-driven-ontology-evolution.md +0 -0
  87. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0052-engine-product-split-graphwright-parked.md +0 -0
  88. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0053-answer-prose-output-hygiene.md +0 -0
  89. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0054-remove-auto-tag-from-generator-evidence.md +0 -0
  90. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0055-confidence-out-of-band.md +0 -0
  91. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0056-bound-structured-retry-wall-clock.md +0 -0
  92. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0057-async-engine-architecture.md +0 -0
  93. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0058-structure-first-chunking.md +0 -0
  94. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0059-recall-decoupled-from-classification-and-visible-partial-loss.md +0 -0
  95. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0060-scope-compliance-check-to-named-policy-sources.md +0 -0
  96. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0061-subject-document-compliance-per-section.md +0 -0
  97. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0062-tiered-ocr-scan-quality-vlm-escalation.md +0 -0
  98. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0063-per-sentence-compliance-subject-facts.md +0 -0
  99. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0064-typed-properties-out-of-band-on-evidence.md +0 -0
  100. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0065-deontic-applicability-gates-query-side.md +0 -0
  101. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0066-ontology-ttl-single-source-of-truth.md +0 -0
  102. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0067-domain-pack-retargeting.md +0 -0
  103. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0068-recall-first-actor-gate-ontology-role-disjointness.md +0 -0
  104. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0069-reading-order-chunking-tables-figures-retrievable.md +0 -0
  105. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0070-text-layer-first-parsing-no-false-vlm-escalation.md +0 -0
  106. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0071-defragmentation-reconstruct-paragraphs-from-line-items.md +0 -0
  107. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0072-extract-guard-furniture-and-deterministic-failure.md +0 -0
  108. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0073-born-digital-threshold-sparse-pages-no-vlm-escalation.md +0 -0
  109. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0074-retry-transient-extraction-failures.md +0 -0
  110. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0075-per-page-vlm-escalation.md +0 -0
  111. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0076-thread-safe-shared-embedder-reranker.md +0 -0
  112. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0077-concurrent-function-classification-across-chunks.md +0 -0
  113. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0078-dedicated-extraction-executor.md +0 -0
  114. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0079-product-default-granite-4.2-openrouter-routing.md +0 -0
  115. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0080-nested-tag-parse-and-degrade.md +0 -0
  116. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0081-function-independent-tagparse-clause-extraction.md +0 -0
  117. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0082-symbolic-gate-function-independent.md +0 -0
  118. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0083-executor-hop-trace-context-capture.md +0 -0
  119. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0084-gleaning-off-on-the-query-leg.md +0 -0
  120. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0085-query-constraint-extraction-tagparse.md +0 -0
  121. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0086-streaming-cost-capture.md +0 -0
  122. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0087-retrieval-relevance-score-on-rankedspan.md +0 -0
  123. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0088-per-span-relevance-verdict.md +0 -0
  124. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0089-structured-output-generation-tracing.md +0 -0
  125. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0090-affiliate-of-extraction.md +0 -0
  126. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0091-retire-partyto-edge.md +0 -0
  127. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0092-idempotent-write-graph.md +0 -0
  128. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0093-entities-by-name-seam.md +0 -0
  129. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0094-workspace-document-scope.md +0 -0
  130. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0095-span-page-provenance.md +0 -0
  131. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0096-carveout-keyword-normalization.md +0 -0
  132. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0097-caller-configurable-ingest-extraction-models.md +0 -0
  133. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0098-invoke-time-document-scope.md +0 -0
  134. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0099-mcp-tools-never-take-a-model-supplied-tenant.md +0 -0
  135. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0100-profile-based-model-routing.md +0 -0
  136. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0101-untagged-spans-reach-extraction-aspect-gate-removed.md +0 -0
  137. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0102-open-descriptive-list-dims-retain-verbatim.md +0 -0
  138. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0103-a-clause-is-a-provision-not-a-span.md +0 -0
  139. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0104-dense-floor-protection-in-leg-b.md +0 -0
  140. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0105-in-band-model-usage-accounting.md +0 -0
  141. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0106-document-signals-off-the-citation.md +0 -0
  142. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0107-requirement-page-provenance.md +0 -0
  143. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0108-qwen3-27b-single-a100-serving-profile.md +0 -0
  144. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0109-vllm-cold-start-reduction.md +0 -0
  145. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0110-fp8-kv-cache-16k-single-a100.md +0 -0
  146. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0111-pin-qwen3-27b-deepinfra-bf16.md +0 -0
  147. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0112-relax-deepagents-pin-to-floor.md +0 -0
  148. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0113-llm-span-instrumentation-for-latency-attribution.md +0 -0
  149. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0114-setfit-default-clause-function-classifier.md +0 -0
  150. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0115-classifier-only-step3a-property-extraction.md +0 -0
  151. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0116-soft-function-scoping-classifier-lane.md +0 -0
  152. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0117-engine-api-layer-and-capability-runtime.md +0 -0
  153. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0118-engine-core-api-vs-ard-adapter-free-impl-ref-client.md +0 -0
  154. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0119-jev-typed-decision-model-for-compliance-closed-set-fields.md +0 -0
  155. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0120-rlm-sub-agent-identity-dynamic-dispatch-trigger.md +0 -0
  156. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0121-spacy-optional-extra-model-runtime-download.md +0 -0
  157. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0122-provision-boundary-deterministic-plus-decision-model-residue.md +0 -0
  158. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0123-batched-releases-release-please-and-consumer-dependabot.md +0 -0
  159. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0124-generic-ingestion-builder-and-hooks.md +0 -0
  160. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0125-qwen-openrouter-unpinned.md +0 -0
  161. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0126-unit-representative-hook-and-the-reference-vote.md +0 -0
  162. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0127-retire-the-okf-code.md +0 -0
  163. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0128-two-public-tiers-api-and-pack-sdk.md +0 -0
  164. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0129-laya-temperatures-and-the-sklearn-floor.md +0 -0
  165. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/0130-deploy-the-self-hosted-model-server-from-the-engine.md +0 -0
  166. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/adr/README.md +0 -0
  167. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/api/README.md +0 -0
  168. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/api/pack_sdk.md +0 -0
  169. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/architecture/foundations-and-adding-a-domain.md +0 -0
  170. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/architecture.md +0 -0
  171. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/README.md +0 -0
  172. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/design/deontic-applicability-routing.md +0 -0
  173. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/design/ingestion-neuro-symbolic-gaps.md +0 -0
  174. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/design/semantic-subject-segmentation.md +0 -0
  175. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/design/unify-subject-preprocessing.md +0 -0
  176. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/engine-issues/0037-closed-vocab-drops-verbatim-values-to-other.md +0 -0
  177. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/engine-issues/0038-a-clause-node-is-now-created-per-sentence-so-98-percent-of-spans-become-clauses.md +0 -0
  178. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/engine-issues/0039-the-provision-detector-reads-text-but-docling-puts-the-section-number-in-marker.md +0 -0
  179. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/engine-issues/0040-covered-subject-is-asked-of-every-provision-so-verbatim-retention-fills-it-with-noise.md +0 -0
  180. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/engine-issues/0041-VERIFICATION-dense-floor.md +0 -0
  181. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/engine-issues/0041-leg-b-discards-the-best-dense-matches-on-some-queries.md +0 -0
  182. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/engine-issues/0042-usage-is-captured-per-call-but-never-returned-so-cost-needs-a-langfuse-round-trip.md +0 -0
  183. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/engine-issues/0043-a-requirement-carries-no-page-provenance-so-a-finding-cannot-point-into-its-policy.md +0 -0
  184. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/engine-issues/0044-document-signals-scaffolding-is-shown-to-the-user-as-a-quote-from-their-document.md +0 -0
  185. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/engine-issues/0045-a-fixed-money-cap-records-no-cap-quantum-so-the-amount-is-only-prose.md +0 -0
  186. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/engine-issues/0046-appending-a-natural-follow-up-to-a-question-drops-the-clause-type.md +0 -0
  187. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/engine-issues/0047-an-exact-deepagents-pin-transitively-pins-every-consumer.md +0 -0
  188. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/engine-issues/0048-the-pinned-endpoints-latency-tail-makes-agent-runs-undebuggable-from-either-side.md +0 -0
  189. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-07-20_graphwright_capability_interface_reply.md +0 -0
  190. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-07-20b_graphwright_interface_confirmation.md +0 -0
  191. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-07-20c_graphwright_ingestion_interfaces.md +0 -0
  192. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-08-30_subject_compliance_final_rulewright.md +0 -0
  193. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-01_issue-0013-recall-first-actor-gate_rulewright.md +0 -0
  194. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-01_ontology-source-of-truth_rulewright.md +0 -0
  195. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-03_issue-0014-table-retrievability_rulewright.md +0 -0
  196. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-04_bulk-ingestion-wall_rulewright.md +0 -0
  197. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-04_issue-0016-thread-safe-embedder_rulewright.md +0 -0
  198. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-05_observability-langfuse_rulewright.md +0 -0
  199. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-05_tagparse-ingestion-and-granite-4.2_rulewright.md +0 -0
  200. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-09_affiliate-of-extraction_rulewright.md +0 -0
  201. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-09_issue-0028-partyto-retired_rulewright.md +0 -0
  202. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-09_issue-0029-idempotent-write-graph_rulewright.md +0 -0
  203. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-09_issue-0030-entities-by-name_rulewright.md +0 -0
  204. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-09_observability-and-retrieval-floor_rulewright.md +0 -0
  205. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-09_relevance-verdict_rulewright.md +0 -0
  206. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-09_rename-run-ad-compliance-check_rulewright.md +0 -0
  207. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-09_structured-output-cost-tracing_rulewright.md +0 -0
  208. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-10_ingest-models-caller-configurable_rulewright.md +0 -0
  209. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-10_issue-0031-followup-failclosed-and-nodrift_rulewright.md +0 -0
  210. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-10_issue-0031-followup-validate-ingested-set_rulewright.md +0 -0
  211. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-10_issue-0031-workspace-document-scope_rulewright.md +0 -0
  212. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-10_issue-0032-span-page-provenance_rulewright.md +0 -0
  213. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-10_issue-0033-carveout-normalization_rulewright.md +0 -0
  214. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-10_issue-0034-invoke-time-document-scope_rulewright.md +0 -0
  215. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-11_issue-0035-followup-derived-guard_rulewright.md +0 -0
  216. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-11_issue-0035-mcp-no-model-tenant_rulewright.md +0 -0
  217. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-11_profile-based-model-routing_rulewright.md +0 -0
  218. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-11_qwen-default-modal-or_rulewright.md +0 -0
  219. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-11_qwen-everywhere-config_rulewright.md +0 -0
  220. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-12_clause-granularity_0036-0039_rulewright.md +0 -0
  221. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-12_closed-vocab_0037-0040_rulewright.md +0 -0
  222. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-12_dense-floor-protection_0041_rulewright.md +0 -0
  223. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-13_in-band-usage_0042_rulewright.md +0 -0
  224. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-14_document-signals-off-citation_0044_rulewright.md +0 -0
  225. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-14_requirement-page-provenance_0043_rulewright.md +0 -0
  226. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-16_qwen3-27b-single-a100-serving-profile_rulewright.md +0 -0
  227. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-18_fp8-accuracy-eval-configB_rulewright.md +0 -0
  228. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-18_fp8-kv-16k-single-a100_rulewright.md +0 -0
  229. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-20_deepagents-pin-relaxed_0047_rulewright.md +0 -0
  230. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-20_llm-span-instrumentation_0048_rulewright.md +0 -0
  231. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-21_0048-part2-modal-answers_from_rulewright.md +0 -0
  232. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/handoffs/2026-09-21_0048-part2-modal-scoping-questions_rulewright.md +0 -0
  233. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/misc/.gitkeep +0 -0
  234. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/plans/Corpus_Acquisition.md +0 -0
  235. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/plans/async-migration.md +0 -0
  236. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/plans/demo_plan.md +0 -0
  237. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/plans/gp1b_docling_graph_plan.md +0 -0
  238. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/plans/unified_contract_kg_ontology_bridge.md +0 -0
  239. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/plans/unified_contract_kg_plan.md +0 -0
  240. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/results/2026-07-24-t58-property-graph-population.md +0 -0
  241. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/results/2026-07-25-t58b-full-pipeline-rerank.md +0 -0
  242. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/archive/results/2026-07-25-t58b-topk-ordering-levers.md +0 -0
  243. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/concepts.md +0 -0
  244. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/contract_pipeline_explainer.md +0 -0
  245. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/corpus_ingest_recipe.md +0 -0
  246. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/domain-adaptation/README.md +0 -0
  247. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/domain-adaptation/_engine-gaps.md +0 -0
  248. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/domain-adaptation/authoring-capabilities.md +0 -0
  249. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/domain-adaptation/classification-and-decision-models.md +0 -0
  250. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/domain-adaptation/entity-resolution.md +0 -0
  251. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/domain-adaptation/kg-construction.md +0 -0
  252. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/domain-adaptation/ontology-authoring.md +0 -0
  253. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/eval/classifier_model_ab.md +0 -0
  254. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/eval/compliance_demo.md +0 -0
  255. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/eval/compliance_gate_cc7.md +0 -0
  256. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/eval/compliance_rung2_cc7.md +0 -0
  257. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/eval/cuad_highlighting_cu-d1.md +0 -0
  258. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/eval/dg_model_ab.md +0 -0
  259. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/eval/function_gate_recall.md +0 -0
  260. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/eval/generation_robustness_b_vs_c.md +0 -0
  261. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/eval/nl_to_type_cu-d2.md +0 -0
  262. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/eval/ocr_benchmark.md +0 -0
  263. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/eval/prod1_readiness.md +0 -0
  264. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/eval/prod2_readiness.md +0 -0
  265. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/eval/query_side_model_ab.md +0 -0
  266. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/eval/silver_granite_vs_gemma4.md +0 -0
  267. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/eval/silver_provider_routing.md +0 -0
  268. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/eval/silver_selfhosted_gemma4_26b.md +0 -0
  269. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/installation.md +0 -0
  270. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/playbook.md +0 -0
  271. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/product/capability_profiles.md +0 -0
  272. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/product/contracts_product_roadmap.md +0 -0
  273. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/product/engine-api-migration-handoff.md +0 -0
  274. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/product/engine_async_api.md +0 -0
  275. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/product/new-domain-build-sequence.md +0 -0
  276. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/product/seam-adaptation-guide.md +0 -0
  277. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/proposals/compliance-ingest-classifier-decomposition.md +0 -0
  278. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/proposals/de-domaining-and-capability-runtime.md +0 -0
  279. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/proposals/new-domain-developer-journey.md +0 -0
  280. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/proposals/ontology-induction.md +0 -0
  281. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/quickstart.md +0 -0
  282. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/reference-pack.md +0 -0
  283. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/releasing.md +0 -0
  284. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/specs/engine-platform/SPEC.md +0 -0
  285. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/specs/engine-platform/TASKS.md +0 -0
  286. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/specs/engine-prep/plan.md +0 -0
  287. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/specs/ingestion-hooks/ing5-doc-audit.md +0 -0
  288. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/specs/ingestion-hooks/ing8-breaking-changes.md +0 -0
  289. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/specs/ingestion-hooks/plan.md +0 -0
  290. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/specs/ingestion-hooks/rulewright-migration-0.2.0.md +0 -0
  291. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/specs/public-surface/rulewright-migration-0.3.0.md +0 -0
  292. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/specs/public-surface/rulewright-migration-0.4.0.md +0 -0
  293. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/specs/public-surface/rulewright-reply-2026-10-10-laya-and-sklearn.md +0 -0
  294. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/templates/product-starter/CLAUDE.md.template +0 -0
  295. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/templates/product-starter/README.md +0 -0
  296. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/templates/product-starter/dependabot.yml +0 -0
  297. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/templates/product-starter/playbook.md.template +0 -0
  298. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/upstream/laya-temperature-range-mismatch.md +0 -0
  299. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/vendor/arcadedb/arcadedb-buckets-schema.md +0 -0
  300. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/vendor/arcadedb/arcadedb-docs-extraction.json +0 -0
  301. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/vendor/arcadedb/arcadedb-vector-embeddings.md +0 -0
  302. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/vendor/arcadedb/arcadedb-vector-search-tutorial.md +0 -0
  303. {rag_wright-0.5.0 → rag_wright-0.5.1}/docs/workspaces.md +0 -0
  304. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/__init__.py +0 -0
  305. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/acord.py +0 -0
  306. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/acord_retrieval.py +0 -0
  307. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/boundary_residue_gold.py +0 -0
  308. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/build_golden.py +0 -0
  309. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/compliance_demo/policy/community_conduct_policy.md +0 -0
  310. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/compliance_demo/subjects/post_borderline.txt +0 -0
  311. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/compliance_demo/subjects/post_compliant.txt +0 -0
  312. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/compliance_demo/subjects/post_violation.txt +0 -0
  313. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/condensed_pipeline.py +0 -0
  314. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/contract_parity_live.py +0 -0
  315. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/contractnli_judge.py +0 -0
  316. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/cuad_highlight.py +0 -0
  317. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/embedded_eval.py +0 -0
  318. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/full_pipeline_rerank.py +0 -0
  319. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/function_ceiling.py +0 -0
  320. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/function_property_rerank.py +0 -0
  321. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/function_rerank.py +0 -0
  322. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/gate1_chunker_ab.py +0 -0
  323. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/gate2_hybrid_rerank.py +0 -0
  324. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/golden/relational/set.json +0 -0
  325. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/golden.py +0 -0
  326. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/ground_discriminator_rerank.py +0 -0
  327. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/harness.py +0 -0
  328. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/ingestion_live_smoke.py +0 -0
  329. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/kg_primary.py +0 -0
  330. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/kg_property_rerank.py +0 -0
  331. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/listwise_rerank.py +0 -0
  332. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/multihop.py +0 -0
  333. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/nl_to_type.py +0 -0
  334. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/relational_eval.py +0 -0
  335. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/residual_decision_gold.py +0 -0
  336. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/segmenter_eval.py +0 -0
  337. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/semantic_judge_gold.py +0 -0
  338. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/test_acord.py +0 -0
  339. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/test_acord_retrieval.py +0 -0
  340. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/test_harness.py +0 -0
  341. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/test_multihop_set.py +0 -0
  342. {rag_wright-0.5.0 → rag_wright-0.5.1}/eval/unit_grouper_eval.py +0 -0
  343. {rag_wright-0.5.0 → rag_wright-0.5.1}/examples/quickstart.py +0 -0
  344. {rag_wright-0.5.0 → rag_wright-0.5.1}/plan.md +0 -0
  345. {rag_wright-0.5.0 → rag_wright-0.5.1}/release-please-config.json +0 -0
  346. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/ab_model_overlap.py +0 -0
  347. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/acord_unify.py +0 -0
  348. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/acquire_acord.py +0 -0
  349. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/acquire_cuad.py +0 -0
  350. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/acquire_ecfr.py +0 -0
  351. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/acquire_edgar.py +0 -0
  352. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/acquire_ftc_255.py +0 -0
  353. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/acquire_prod1_corpus.py +0 -0
  354. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/audit_reclass_flips.py +0 -0
  355. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/author_leg_a_silver_key.py +0 -0
  356. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/backfill_affiliations.py +0 -0
  357. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/backfill_clause_span_id.py +0 -0
  358. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/backfill_edge_source_doc_id.py +0 -0
  359. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/backup_kg_to_gcs.sh +0 -0
  360. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/bootstrap_template_capture.py +0 -0
  361. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/bootstrap_typed_edges.py +0 -0
  362. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/build_api_docs.py +0 -0
  363. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/build_api_docs.sh +0 -0
  364. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/build_cuad_clause_cache.py +0 -0
  365. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/build_function_routing_map.py +0 -0
  366. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/cic1_assemble_v2.py +0 -0
  367. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/cic1_assemble_v3.py +0 -0
  368. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/cic1_generate_hard_negatives.py +0 -0
  369. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/cic1_generate_hard_positives.py +0 -0
  370. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/cic1_generate_training.py +0 -0
  371. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/cic1_hybrid.py +0 -0
  372. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/cic1_hybrid2.py +0 -0
  373. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/cic1_jev_actor.py +0 -0
  374. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/cic1_jev_claimtypes.py +0 -0
  375. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/cic1_jev_operative.py +0 -0
  376. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/cic1_label_spans.py +0 -0
  377. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/cic1_laya_prep.py +0 -0
  378. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/cic1_laya_train.py +0 -0
  379. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/cic1_prep_operative.py +0 -0
  380. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/cic1_relabel_rubric.py +0 -0
  381. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/cic1_relabel_rubric2.py +0 -0
  382. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/cic1_train_operative.py +0 -0
  383. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/compare_extraction_models.py +0 -0
  384. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/compliance_actor_gate_smoke.py +0 -0
  385. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/compliance_engine_smoke.py +0 -0
  386. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/compliance_policy_demo.py +0 -0
  387. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/curate_taxonomy_gaps.py +0 -0
  388. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/dg_model_ab.py +0 -0
  389. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/diagnose_acord_knn_expansion.py +0 -0
  390. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/diagnose_acord_knn_rerank.py +0 -0
  391. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/diagnose_acord_leg_pool.py +0 -0
  392. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/diagnose_acord_legs.py +0 -0
  393. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/diagnose_acord_pool.py +0 -0
  394. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/diagnose_acord_relstructure.py +0 -0
  395. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/diagnose_acord_retrieval.py +0 -0
  396. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/distill/eval_all.py +0 -0
  397. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/distill/eval_ce.py +0 -0
  398. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/distill/eval_listwise_b.py +0 -0
  399. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/distill/export_ce_dataset.py +0 -0
  400. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/distill/extract_features.py +0 -0
  401. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/distill/listwise_variants.py +0 -0
  402. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/distill/relational_features.py +0 -0
  403. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/distill/train_ce.py +0 -0
  404. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/distill/train_modal.py +0 -0
  405. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/enrich_edgar_candidates.py +0 -0
  406. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/eval_chunking_ab.py +0 -0
  407. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/eval_classifier_guided_vs_tagparse.py +0 -0
  408. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/eval_compliance_gold.py +0 -0
  409. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/extract_arcadedb_docs.py +0 -0
  410. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/fetch_reference_models.py +0 -0
  411. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/generate_contract_python.py +0 -0
  412. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/git_post_commit_graphify.sh +0 -0
  413. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/granite_chunker_assess.py +0 -0
  414. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/graph_status.sh +0 -0
  415. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/ingest_acord.py +0 -0
  416. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/ingest_compliance_async_prod2.py +0 -0
  417. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/ingest_compliance_document_prod2.py +0 -0
  418. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/ingest_compliance_prod2.py +0 -0
  419. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/ingest_cuad.py +0 -0
  420. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/ingest_cuad_full.py +0 -0
  421. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/ingest_ftc_compliance.py +0 -0
  422. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/ingest_prod1.py +0 -0
  423. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/ingest_prod1_async.py +0 -0
  424. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/ingest_smoke.py +0 -0
  425. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/install_git_hooks.sh +0 -0
  426. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/label_new_functions.py +0 -0
  427. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/legb_function_gate_recall.py +0 -0
  428. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/make_compliance_fixtures.py +0 -0
  429. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/make_compliance_gold.py +0 -0
  430. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/mcp_compliance_agent_demo.py +0 -0
  431. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/mcp_intra_document_qa_smoke.py +0 -0
  432. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/mcp_query_legs_agent_demo.py +0 -0
  433. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/measure_generation_robustness.py +0 -0
  434. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/measure_silver.py +0 -0
  435. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/merge_docs_into_framework.py +0 -0
  436. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/migrate_entity_cik_to_canonical_id.py +0 -0
  437. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/migrate_silver_evidence_autotag.py +0 -0
  438. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/migrate_silver_evidence_remove_autotag.py +0 -0
  439. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/migrate_span_fields.py +0 -0
  440. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/mine_scarce_functions.py +0 -0
  441. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/modal_arcadedb.py +0 -0
  442. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/modal_backfill.py +0 -0
  443. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/modal_exception_linking.py +0 -0
  444. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/modal_gemma4_vllm.py +0 -0
  445. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/modal_gemma4_vllm_snapshot.py +0 -0
  446. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/modal_granite_server.py +0 -0
  447. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/modal_granite_throughput.py +0 -0
  448. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/modal_granite_vllm_server.py +0 -0
  449. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/modal_query_app.py +0 -0
  450. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/modal_qwen3_27b_bench.py +0 -0
  451. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/modal_qwen3_27b_snapshot.py +0 -0
  452. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/modal_qwen3_vllm_server.py +0 -0
  453. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/modal_stack_a100.py +0 -0
  454. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/ocr_benchmark.py +0 -0
  455. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/ocr_preprocess.py +0 -0
  456. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/ontology_dimension_check.py +0 -0
  457. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/phase_a_leg_validate.py +0 -0
  458. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/populate_clause_kg.py +0 -0
  459. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/populate_entity_graph.py +0 -0
  460. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/populate_entity_graph_extracted.py +0 -0
  461. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/populate_property_store.py +0 -0
  462. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/prep_relational_verification.py +0 -0
  463. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/publish_manifests.py +0 -0
  464. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/reclassify_kg.py +0 -0
  465. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/refresh_framework_graph.sh +0 -0
  466. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/revert_reclass_flips.py +0 -0
  467. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/run_acord_retrieval.py +0 -0
  468. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/run_clause_exception_linking.py +0 -0
  469. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/semantic_judge_live_validate.py +0 -0
  470. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/semantic_judge_probe.py +0 -0
  471. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/snapshot_leg_a_eval.py +0 -0
  472. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/stack_correctness_validate.py +0 -0
  473. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/table_retrieval_smoke.py +0 -0
  474. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/train_function_classifier.py +0 -0
  475. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/train_legalbert_function.py +0 -0
  476. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/train_legalbert_modal.py +0 -0
  477. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/typed_rerank_validate.py +0 -0
  478. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/verify_wheel_install.sh +0 -0
  479. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/vllm_extraction_ab.py +0 -0
  480. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/vllm_kg_query_validate.py +0 -0
  481. {rag_wright-0.5.0 → rag_wright-0.5.1}/scripts/vllm_raw_diagnostic.py +0 -0
  482. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/.agents/skills/authoring-a-capability/SKILL.md +0 -0
  483. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/.agents/skills/building-an-ingestion-capability/SKILL.md +0 -0
  484. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/.agents/skills/classifier-opportunity-analysis/SKILL.md +0 -0
  485. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/.agents/skills/creating-evals/SKILL.md +0 -0
  486. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/.agents/skills/laya/SKILL.md +0 -0
  487. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/.agents/skills/qwen-vllm-modal/SKILL.md +0 -0
  488. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/.agents/skills/qwen-vllm-modal/scripts/modal_qwen3_vllm_server.py +0 -0
  489. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/.agents/skills/setfit/SKILL.md +0 -0
  490. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/.agents/skills/using-the-rag-wright-engine/SKILL.md +0 -0
  491. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/__init__.py +0 -0
  492. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/api/__init__.py +0 -0
  493. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/api/answers.py +0 -0
  494. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/api/config.py +0 -0
  495. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/api/discover.py +0 -0
  496. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/api/documents.py +0 -0
  497. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/api/ids.py +0 -0
  498. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/api/invoke.py +0 -0
  499. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/api/kg.py +0 -0
  500. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/api/mcp.py +0 -0
  501. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/api/tracing.py +0 -0
  502. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/api/usage.py +0 -0
  503. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/api/workspace.py +0 -0
  504. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/capabilities/__init__.py +0 -0
  505. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/capabilities/answer_generator.py +0 -0
  506. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/capabilities/ard.py +0 -0
  507. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/capabilities/chunk_read.py +0 -0
  508. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/capabilities/chunk_write.py +0 -0
  509. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/capabilities/disambiguation.py +0 -0
  510. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/capabilities/document_parse.py +0 -0
  511. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/capabilities/document_scope.py +0 -0
  512. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/capabilities/embedding.py +0 -0
  513. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/capabilities/embedding_profiles.py +0 -0
  514. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/capabilities/entity_resolution.py +0 -0
  515. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/capabilities/fusion.py +0 -0
  516. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/capabilities/graph_query.py +0 -0
  517. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/capabilities/graph_storage.py +0 -0
  518. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/capabilities/hybrid_search.py +0 -0
  519. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/capabilities/invoke.py +0 -0
  520. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/capabilities/jev_decision.py +0 -0
  521. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/capabilities/manifests.py +0 -0
  522. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/capabilities/parsing.py +0 -0
  523. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/capabilities/registry.py +0 -0
  524. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/capabilities/remote_encoders.py +0 -0
  525. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/capabilities/reranking.py +0 -0
  526. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/capabilities/retrieval_core.py +0 -0
  527. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/capabilities/rlm_chunking.py +0 -0
  528. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/capabilities/rlm_synthesis.py +0 -0
  529. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/capabilities/scan_quality.py +0 -0
  530. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/capabilities/span_relevance_judgment.py +0 -0
  531. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/capabilities/vision_to_text.py +0 -0
  532. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/capabilities/vlm_ocr.py +0 -0
  533. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/contracts/__init__.py +0 -0
  534. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/contracts/chunk.py +0 -0
  535. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/contracts/extraction.py +0 -0
  536. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/contracts/graph.py +0 -0
  537. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/contracts/identifiers.py +0 -0
  538. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/contracts/ingestion.py +0 -0
  539. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/contracts/provenance.py +0 -0
  540. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/contracts/span.py +0 -0
  541. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/corpus/__init__.py +0 -0
  542. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/corpus/canonicalize.py +0 -0
  543. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/corpus/document_parser.py +0 -0
  544. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/corpus/embedded.py +0 -0
  545. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/corpus/http.py +0 -0
  546. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/ingestion/__init__.py +0 -0
  547. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/ingestion/builder.py +0 -0
  548. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/ingestion/evaluate.py +0 -0
  549. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/ingestion/group.py +0 -0
  550. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/ingestion/layout.py +0 -0
  551. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/ingestion/segment.py +0 -0
  552. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/ingestion/tables.py +0 -0
  553. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/models/__init__.py +0 -0
  554. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/models/profiles.py +0 -0
  555. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/models/seam.py +0 -0
  556. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/models/tag_structured.py +0 -0
  557. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/models/tracing.py +0 -0
  558. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/models/usage.py +0 -0
  559. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/models/weights.py +0 -0
  560. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/ontology/__init__.py +0 -0
  561. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/ontology/pack_schema.py +0 -0
  562. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/ontology/registry.py +0 -0
  563. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/pack_sdk/__init__.py +0 -0
  564. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/__init__.py +0 -0
  565. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/compliance/__init__.py +0 -0
  566. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/compliance/capabilities/__init__.py +0 -0
  567. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/compliance/capabilities/assertion_extraction.py +0 -0
  568. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/compliance/capabilities/claim_extraction.py +0 -0
  569. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/compliance/capabilities/compliance_judgment.py +0 -0
  570. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/compliance/capabilities/compliance_store.py +0 -0
  571. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/compliance/capabilities/requirement_extraction.py +0 -0
  572. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/compliance/invokers.py +0 -0
  573. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/compliance/mcp/__init__.py +0 -0
  574. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/compliance/mcp/compliance_server.py +0 -0
  575. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/compliance/ontology/__init__.py +0 -0
  576. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/compliance/ontology/compliance_bridge.ttl +0 -0
  577. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/compliance/ontology/loader.py +0 -0
  578. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/compliance/ontology/packs/ftc_16cfr255.ttl +0 -0
  579. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/compliance/pack.py +0 -0
  580. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/compliance/schemas/__init__.py +0 -0
  581. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/compliance/schemas/compliance.py +0 -0
  582. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/compliance/skills/__init__.py +0 -0
  583. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/compliance/skills/claim_extraction/SKILL.md +0 -0
  584. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/compliance/skills/claim_extraction/__init__.py +0 -0
  585. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/compliance/skills/claim_extraction/template.py +0 -0
  586. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/compliance/skills/compliance_judgment/SKILL.md +0 -0
  587. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/compliance/skills/generic_compliance_judgment/SKILL.md +0 -0
  588. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/compliance/skills/requirement_extraction/SKILL.md +0 -0
  589. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/compliance/skills/requirement_extraction/__init__.py +0 -0
  590. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/compliance/skills/requirement_extraction/template.py +0 -0
  591. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/compliance/subgraphs/__init__.py +0 -0
  592. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/compliance/subgraphs/compliance_check.py +0 -0
  593. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/compliance/subgraphs/compliance_ingestion.py +0 -0
  594. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/compliance/subgraphs/requirement_extraction.py +0 -0
  595. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/__init__.py +0 -0
  596. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/capabilities/__init__.py +0 -0
  597. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/capabilities/clause_exception_linking.py +0 -0
  598. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/capabilities/contract_kg_serve.py +0 -0
  599. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/capabilities/contract_kg_store.py +0 -0
  600. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/capabilities/dg_extraction.py +0 -0
  601. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/capabilities/graph_extraction.py +0 -0
  602. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/capabilities/highlight_serve.py +0 -0
  603. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/capabilities/property_boosted_retrieval.py +0 -0
  604. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/capabilities/query_function_classifier.py +0 -0
  605. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/capabilities/query_understanding.py +0 -0
  606. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/corpus/__init__.py +0 -0
  607. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/corpus/cuad.py +0 -0
  608. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/corpus/cuad_ingestion.py +0 -0
  609. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/corpus/edgar.py +0 -0
  610. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/corpus/gcs_ingestion.py +0 -0
  611. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/corpus/selection.py +0 -0
  612. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/mcp/__init__.py +0 -0
  613. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/mcp/intra_document_qa_server.py +0 -0
  614. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/mcp/relational_qa_server.py +0 -0
  615. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/mcp/session_store.py +0 -0
  616. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/mcp/typed_property_retrieval_server.py +0 -0
  617. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/ontology/__init__.py +0 -0
  618. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/ontology/_generated_template_meta.py +0 -0
  619. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/ontology/_generated_vocab.py +0 -0
  620. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/ontology/clause_template.py +0 -0
  621. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/ontology/codegen.py +0 -0
  622. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/ontology/contract_bridge.ttl +0 -0
  623. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/ontology/contract_taxonomy.py +0 -0
  624. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/ontology/derive.py +0 -0
  625. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/ontology/loader.py +0 -0
  626. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/ontology/template_introspect.py +0 -0
  627. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/options.py +0 -0
  628. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/pack.py +0 -0
  629. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/schemas/__init__.py +0 -0
  630. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/schemas/contract_meta.py +0 -0
  631. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/schemas/function.py +0 -0
  632. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/schemas/function_routing.py +0 -0
  633. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/schemas/highlight.py +0 -0
  634. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/schemas/jurisdiction.py +0 -0
  635. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/schemas/ontology.py +0 -0
  636. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/schemas/property.py +0 -0
  637. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/schemas/query_intent.py +0 -0
  638. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/schemas/value_match.py +0 -0
  639. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/skills/__init__.py +0 -0
  640. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/skills/corpus_ingest/SKILL.md +0 -0
  641. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/skills/extraction_semantic_judge/SKILL.md +0 -0
  642. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/skills/extraction_semantic_judge/__init__.py +0 -0
  643. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/skills/guidance/__init__.py +0 -0
  644. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/skills/guidance/chunking.md +0 -0
  645. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/skills/guidance/generation.md +0 -0
  646. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/skills/guidance/relevance.md +0 -0
  647. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/spans/__init__.py +0 -0
  648. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/spans/boundary.py +0 -0
  649. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/spans/clause_function_classifier.py +0 -0
  650. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/spans/clause_kg_extractor.py +0 -0
  651. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/spans/cuad_labels.py +0 -0
  652. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/spans/dim_classifier.py +0 -0
  653. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/spans/dim_fleet.json +0 -0
  654. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/spans/function_classifier.py +0 -0
  655. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/spans/function_families.py +0 -0
  656. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/spans/hybrid_classifier.py +0 -0
  657. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/spans/legalbert_classifier.py +0 -0
  658. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/spans/model_capabilities.py +0 -0
  659. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/spans/new_function_labels.py +0 -0
  660. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/spans/property_extractor.py +0 -0
  661. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/spans/property_grounding.py +0 -0
  662. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/spans/reclassify.py +0 -0
  663. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/spans/residual_candidates.py +0 -0
  664. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/spans/scarce_function_labels.py +0 -0
  665. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/spans/segment.py +0 -0
  666. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/spans/semantic_judge.py +0 -0
  667. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/spans/symbolic_validation.py +0 -0
  668. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/spans/tag_clause_extractor.py +0 -0
  669. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/subgraphs/__init__.py +0 -0
  670. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/subgraphs/async_ingestion.py +0 -0
  671. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/subgraphs/contract_ingestion_pipeline.py +0 -0
  672. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/subgraphs/intra_document_qa.py +0 -0
  673. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/subgraphs/query_constraint_extraction.py +0 -0
  674. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/subgraphs/relational_qa.py +0 -0
  675. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/subgraphs/typed_clause_extraction.py +0 -0
  676. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/contracts/subgraphs/typed_property_retrieval.py +0 -0
  677. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/packs/reference_seam.py +0 -0
  678. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/py.typed +0 -0
  679. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/skills/__init__.py +0 -0
  680. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/skills/generation/SKILL.md +0 -0
  681. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/skills/generation/__init__.py +0 -0
  682. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/skills/rlm/SKILL.md +0 -0
  683. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/skills/rlm/__init__.py +0 -0
  684. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/skills/rlm/agent.py +0 -0
  685. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/skills/span_relevance_judgment/SKILL.md +0 -0
  686. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/skills/vision_to_text/SKILL.md +0 -0
  687. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/skills/vision_to_text/__init__.py +0 -0
  688. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/spans/__init__.py +0 -0
  689. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/spans/page_map.py +0 -0
  690. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/store/__init__.py +0 -0
  691. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/store/arcadedb.py +0 -0
  692. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/store/chunk_text.py +0 -0
  693. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/store/seam.py +0 -0
  694. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/subgraphs/__init__.py +0 -0
  695. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/subgraphs/graph_extraction.py +0 -0
  696. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/subgraphs/observability.py +0 -0
  697. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/subgraphs/scaffold.py +0 -0
  698. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/subgraphs/semantic_chunking.py +0 -0
  699. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/util/__init__.py +0 -0
  700. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/util/concurrent.py +0 -0
  701. {rag_wright-0.5.0 → rag_wright-0.5.1}/src/rag_wright/util/spacy_model.py +0 -0
  702. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/__init__.py +0 -0
  703. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/api/__init__.py +0 -0
  704. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/api/test_answers_exports.py +0 -0
  705. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/api/test_bytes_ingest.py +0 -0
  706. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/api/test_capability_reexports.py +0 -0
  707. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/api/test_decision_swap_doc_example.py +0 -0
  708. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/api/test_discover.py +0 -0
  709. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/api/test_documents.py +0 -0
  710. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/api/test_e2e.py +0 -0
  711. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/api/test_invoke.py +0 -0
  712. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/api/test_kg.py +0 -0
  713. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/api/test_mcp.py +0 -0
  714. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/api/test_metering_tracing_exports.py +0 -0
  715. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/api/test_model_role_export.py +0 -0
  716. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/api/test_open_workspace_reconfig.py +0 -0
  717. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/api/test_options.py +0 -0
  718. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/api/test_pack_sdk.py +0 -0
  719. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/api/test_pack_store.py +0 -0
  720. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/api/test_usage.py +0 -0
  721. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/api/test_workspace.py +0 -0
  722. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/api/test_workspace_models.py +0 -0
  723. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/arch/domain_vocabulary_baseline.json +0 -0
  724. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/arch/test_api_docs_current.py +0 -0
  725. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/arch/test_doc_references.py +0 -0
  726. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/arch/test_engine_domain_vocabulary.py +0 -0
  727. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/arch/test_import_contracts.py +0 -0
  728. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/arch/test_packs_use_store_primitives.py +0 -0
  729. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/arch/test_shipped_skills.py +0 -0
  730. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/async_helpers.py +0 -0
  731. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/__init__.py +0 -0
  732. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/_fixtures/rlm_probe_skill/SKILL.md +0 -0
  733. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_answer_generator.py +0 -0
  734. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_answer_generator_async.py +0 -0
  735. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_assertion_extraction.py +0 -0
  736. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_authoring_contract.py +0 -0
  737. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_chunk_read.py +0 -0
  738. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_chunk_write.py +0 -0
  739. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_chunking_prompts_neutral.py +0 -0
  740. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_claim_extraction.py +0 -0
  741. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_clause_exception_linking.py +0 -0
  742. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_compliance_judgment.py +0 -0
  743. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_compliance_store.py +0 -0
  744. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_contract_kg_serve.py +0 -0
  745. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_contract_kg_store.py +0 -0
  746. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_contract_kg_store_reads.py +0 -0
  747. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_contract_taxonomy_and_spans.py +0 -0
  748. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_dg_adapter.py +0 -0
  749. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_dg_async.py +0 -0
  750. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_dg_extraction.py +0 -0
  751. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_dg_model_seam.py +0 -0
  752. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_dg_private.py +0 -0
  753. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_disambiguation.py +0 -0
  754. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_document_scope.py +0 -0
  755. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_embedding.py +0 -0
  756. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_embedding_profiles.py +0 -0
  757. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_entity_resolution.py +0 -0
  758. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_entity_rules_plumbing.py +0 -0
  759. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_fusion.py +0 -0
  760. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_graph_extraction.py +0 -0
  761. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_graph_query.py +0 -0
  762. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_graph_storage.py +0 -0
  763. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_highlight_serve.py +0 -0
  764. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_hybrid_search.py +0 -0
  765. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_jev_decision.py +0 -0
  766. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_manifest_validation.py +0 -0
  767. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_manifests.py +0 -0
  768. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_parsing.py +0 -0
  769. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_parties_extraction.py +0 -0
  770. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_property_boosted_retrieval.py +0 -0
  771. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_query_function_classifier.py +0 -0
  772. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_query_understanding.py +0 -0
  773. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_registry.py +0 -0
  774. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_remote_encoders.py +0 -0
  775. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_repair_partition.py +0 -0
  776. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_requirement_extraction.py +0 -0
  777. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_reranking.py +0 -0
  778. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_retrieval_core.py +0 -0
  779. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_rlm_chunking.py +0 -0
  780. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_rlm_chunking_async.py +0 -0
  781. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_rlm_method.py +0 -0
  782. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_rlm_synthesis.py +0 -0
  783. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_runtime_registry.py +0 -0
  784. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_scan_quality.py +0 -0
  785. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_span_relevance_judgment.py +0 -0
  786. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_structural_boundary_discoverer.py +0 -0
  787. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_structural_model_fallback.py +0 -0
  788. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_tag_boundary_discoverer.py +0 -0
  789. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_tiered_ocr.py +0 -0
  790. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/capabilities/test_vlm_ocr.py +0 -0
  791. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/compliance_fakes.py +0 -0
  792. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/conftest.py +0 -0
  793. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/contracts/__init__.py +0 -0
  794. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/contracts/test_canonical_source_doc_id.py +0 -0
  795. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/contracts/test_chunk_record.py +0 -0
  796. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/contracts/test_compliance.py +0 -0
  797. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/contracts/test_cuad_highlight_contracts.py +0 -0
  798. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/contracts/test_extraction.py +0 -0
  799. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/contracts/test_function.py +0 -0
  800. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/contracts/test_function_routing.py +0 -0
  801. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/contracts/test_identifiers.py +0 -0
  802. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/contracts/test_ingestion_hooks.py +0 -0
  803. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/contracts/test_jurisdiction.py +0 -0
  804. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/contracts/test_ontology.py +0 -0
  805. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/contracts/test_property.py +0 -0
  806. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/contracts/test_provenance.py +0 -0
  807. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/contracts/test_value_match.py +0 -0
  808. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/corpus/__init__.py +0 -0
  809. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/corpus/_ooxml_fixtures.py +0 -0
  810. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/corpus/test_canonicalize.py +0 -0
  811. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/corpus/test_cuad.py +0 -0
  812. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/corpus/test_cuad_ingestion.py +0 -0
  813. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/corpus/test_document_parser.py +0 -0
  814. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/corpus/test_edgar.py +0 -0
  815. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/corpus/test_embedded.py +0 -0
  816. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/corpus/test_gcs_ingestion.py +0 -0
  817. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/corpus/test_http.py +0 -0
  818. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/corpus/test_parse_wire2.py +0 -0
  819. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/corpus/test_selection.py +0 -0
  820. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/eval/test_contractnli_judge.py +0 -0
  821. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/eval/test_cuad_highlight_metrics.py +0 -0
  822. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/eval/test_kg_property_rerank.py +0 -0
  823. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/eval/test_nl_to_type_metrics.py +0 -0
  824. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/eval/test_relational_eval.py +0 -0
  825. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/fixtures/ingestion/segmenter_gold.json +0 -0
  826. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/fixtures/ingestion/textile_spec_sheet.md +0 -0
  827. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/fixtures/ingestion/textile_test_report.md +0 -0
  828. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/fixtures/leg_a_silver/README.md +0 -0
  829. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/fixtures/leg_a_silver/evidence_snapshot.json +0 -0
  830. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/fixtures/table-bearing-contract.pdf +0 -0
  831. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/foundation/__init__.py +0 -0
  832. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/foundation/test_arcadedb_hybrid.py +0 -0
  833. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/foundation/test_model_seam_structured.py +0 -0
  834. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/ingestion/__init__.py +0 -0
  835. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/ingestion/test_builder.py +0 -0
  836. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/ingestion/test_chunk_discoverer_hook.py +0 -0
  837. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/ingestion/test_document_metadata.py +0 -0
  838. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/ingestion/test_evaluate.py +0 -0
  839. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/ingestion/test_evaluate_labels.py +0 -0
  840. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/ingestion/test_layout_segmenter.py +0 -0
  841. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/ingestion/test_spreadsheet_content.py +0 -0
  842. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/ingestion/test_table_rows.py +0 -0
  843. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/ingestion/test_tuning.py +0 -0
  844. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/ingestion/test_unit_grouper.py +0 -0
  845. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/ingestion/test_unit_representative.py +0 -0
  846. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/journey/incidents_domain.py +0 -0
  847. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/journey/incidents_pack.ttl +0 -0
  848. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/journey/test_incidents_journey.py +0 -0
  849. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/journey/test_pack_schema.py +0 -0
  850. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/mcp/__init__.py +0 -0
  851. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/mcp/test_compliance_server.py +0 -0
  852. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/mcp/test_intra_document_qa_server.py +0 -0
  853. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/mcp/test_no_model_supplied_tenant.py +0 -0
  854. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/mcp/test_relational_qa_server.py +0 -0
  855. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/mcp/test_typed_property_retrieval_server.py +0 -0
  856. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/models/__init__.py +0 -0
  857. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/models/test_async_infra.py +0 -0
  858. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/models/test_classifier_heads_load_clean.py +0 -0
  859. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/models/test_models_dir.py +0 -0
  860. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/models/test_no_gemma_default.py +0 -0
  861. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/models/test_profile_routing.py +0 -0
  862. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/models/test_profile_seam.py +0 -0
  863. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/models/test_seam_async.py +0 -0
  864. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/models/test_seam_retry.py +0 -0
  865. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/models/test_seam_stream.py +0 -0
  866. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/models/test_serving_seam.py +0 -0
  867. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/models/test_serving_wiring.py +0 -0
  868. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/models/test_tag_structured.py +0 -0
  869. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/models/test_tag_structured_async.py +0 -0
  870. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/models/test_tracing.py +0 -0
  871. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/models/test_usage.py +0 -0
  872. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/ontology/__init__.py +0 -0
  873. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/ontology/test_clause_template.py +0 -0
  874. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/ontology/test_compliance_ontology_authoritative.py +0 -0
  875. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/ontology/test_derivation.py +0 -0
  876. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/ontology/test_entity_taxonomy.py +0 -0
  877. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/ontology/test_generated_template_meta_in_sync.py +0 -0
  878. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/ontology/test_generated_vocab_in_sync.py +0 -0
  879. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/ontology/test_template_captured_in_ttl.py +0 -0
  880. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/ontology/test_ttl_is_source_of_truth.py +0 -0
  881. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/reference/test_compliance_reference.py +0 -0
  882. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/reference/test_contract_seam.py +0 -0
  883. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/scripts/test_eval_chunking_ab.py +0 -0
  884. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/scripts/test_eval_classifier_ab.py +0 -0
  885. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/scripts/test_fetch_reference_models.py +0 -0
  886. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/skills/__init__.py +0 -0
  887. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/skills/test_ingestion_skill_example.py +0 -0
  888. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/spans/test_boundary.py +0 -0
  889. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/spans/test_classifier_property_extractor.py +0 -0
  890. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/spans/test_clause_classifier_tags_0005.py +0 -0
  891. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/spans/test_clause_function_classifier.py +0 -0
  892. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/spans/test_clause_function_classifier_async.py +0 -0
  893. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/spans/test_clause_kg_extractor.py +0 -0
  894. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/spans/test_clause_kg_extractor_async.py +0 -0
  895. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/spans/test_dim_classifier.py +0 -0
  896. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/spans/test_dim_fleet_live.py +0 -0
  897. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/spans/test_function_classifier.py +0 -0
  898. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/spans/test_hybrid_classifier.py +0 -0
  899. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/spans/test_hybrid_property_extractor.py +0 -0
  900. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/spans/test_legalbert_classifier.py +0 -0
  901. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/spans/test_model_capabilities.py +0 -0
  902. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/spans/test_new_function_labels.py +0 -0
  903. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/spans/test_page_map.py +0 -0
  904. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/spans/test_property_extractor.py +0 -0
  905. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/spans/test_property_grounding.py +0 -0
  906. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/spans/test_reclassify.py +0 -0
  907. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/spans/test_residual_decision.py +0 -0
  908. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/spans/test_scarce_function_labels.py +0 -0
  909. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/spans/test_segment.py +0 -0
  910. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/spans/test_segmentation_vocab.py +0 -0
  911. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/spans/test_semantic_judge.py +0 -0
  912. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/spans/test_setfit_clause_adapter.py +0 -0
  913. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/spans/test_setfit_probabilities.py +0 -0
  914. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/spans/test_span_offsets.py +0 -0
  915. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/spans/test_stage_labels_0005.py +0 -0
  916. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/spans/test_symbolic_validation.py +0 -0
  917. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/spans/test_tag_clause_extractor.py +0 -0
  918. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/store/__init__.py +0 -0
  919. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/store/test_affiliation_backfill.py +0 -0
  920. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/store/test_arcadedb_clause_kg.py +0 -0
  921. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/store/test_arcadedb_contract.py +0 -0
  922. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/store/test_arcadedb_property.py +0 -0
  923. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/store/test_arcadedb_requirement_sources.py +0 -0
  924. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/store/test_arcadedb_schema.py +0 -0
  925. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/store/test_arcadedb_span.py +0 -0
  926. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/store/test_chunk_text.py +0 -0
  927. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/store/test_concurrent_writes.py +0 -0
  928. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/store/test_contract_kg_store_live.py +0 -0
  929. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/store/test_document_metadata_live.py +0 -0
  930. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/store/test_document_scope.py +0 -0
  931. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/store/test_engine_domain_neutral.py +0 -0
  932. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/store/test_entities_by_name.py +0 -0
  933. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/store/test_kg_edges.py +0 -0
  934. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/store/test_kg_mutations.py +0 -0
  935. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/store/test_kg_read.py +0 -0
  936. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/store/test_kg_write.py +0 -0
  937. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/store/test_neutral_schema.py +0 -0
  938. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/store/test_write_graph_idempotent.py +0 -0
  939. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/subgraphs/__init__.py +0 -0
  940. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/subgraphs/test_async_ingestion.py +0 -0
  941. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/subgraphs/test_chunk7_structure_carry.py +0 -0
  942. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/subgraphs/test_clause_results.py +0 -0
  943. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/subgraphs/test_compliance_check.py +0 -0
  944. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/subgraphs/test_compliance_ingestion.py +0 -0
  945. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/subgraphs/test_contract_ingestion_pipeline.py +0 -0
  946. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/subgraphs/test_contract_ingestion_pipeline_async.py +0 -0
  947. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/subgraphs/test_contract_ingestion_pipeline_graph_async.py +0 -0
  948. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/subgraphs/test_graph_extraction.py +0 -0
  949. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/subgraphs/test_ingest_knobs.py +0 -0
  950. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/subgraphs/test_ingest_segment_classify.py +0 -0
  951. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/subgraphs/test_intra_document_qa.py +0 -0
  952. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/subgraphs/test_observability.py +0 -0
  953. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/subgraphs/test_partial_entry_contract.py +0 -0
  954. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/subgraphs/test_query_constraint_extraction.py +0 -0
  955. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/subgraphs/test_relational_qa.py +0 -0
  956. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/subgraphs/test_requirement_extraction.py +0 -0
  957. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/subgraphs/test_scaffold.py +0 -0
  958. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/subgraphs/test_semantic_chunking.py +0 -0
  959. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/subgraphs/test_typed_clause_extraction.py +0 -0
  960. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/subgraphs/test_typed_property_retrieval.py +0 -0
  961. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/test_backfill_clause_span_id.py +0 -0
  962. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/test_dg_model_ab.py +0 -0
  963. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/test_populate_clause_kg.py +0 -0
  964. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/test_populate_entity_graph.py +0 -0
  965. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/util/__init__.py +0 -0
  966. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/util/test_concurrent.py +0 -0
  967. {rag_wright-0.5.0 → rag_wright-0.5.1}/tests/util/test_spacy_model.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.5.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.5.1](https://github.com/fzaidi-dai/RAG_Wright/compare/0.5.0...0.5.1) (2026-10-10)
8
+
9
+
10
+ ### Bug Fixes
11
+
12
+ * **PS-19:** a runnable model-server example for products; async Modal URL lookup ([35cd80f](https://github.com/fzaidi-dai/RAG_Wright/commit/35cd80f003453dfbb648df020a03ffe85ef64826))
13
+
7
14
  ## [0.5.0](https://github.com/fzaidi-dai/RAG_Wright/compare/0.4.0...0.5.0) (2026-10-10)
8
15
 
9
16
 
@@ -55,10 +55,10 @@ 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 STATE (2026-10-09): the public-surface workstream is COMPLETE and released as `rag-wright` 0.4.0** (ledger
58
+ > **CURRENT STATE (2026-10-09): the public-surface workstream is COMPLETE and released as `rag-wright` 0.5.0** (ledger
59
59
  > `docs/specs/public-surface/plan.md`, ADR-0128: two public tiers, `rag_wright.api` for a product's seam and
60
60
  > `rag_wright.pack_sdk` for a pack's code, enforced by import contracts and a domain-vocabulary guard). Next:
61
- > RuleWright moves from `docs/specs/public-surface/rulewright-migration-0.3.0.md` then `rulewright-migration-0.4.0.md`; PS-R4 (the unit-labelling eval) is done, unreleased. Before it,
61
+ > RuleWright moves from `docs/specs/public-surface/rulewright-migration-0.3.0.md` then `rulewright-migration-0.4.0.md` and `-0.5.0.md`; PS-R4 (the unit-labelling eval) is done, unreleased. Before it,
62
62
  > the **ingestion-hooks** workstream (ADR-0124) is
63
63
  > COMPLETE and released as **`rag-wright` 0.2.0** (PyPI + GitHub tag/release `0.2.0`; release process
64
64
  > `docs/releasing.md`): the generic `build_ingestion` with hooks and domain-neutral defaults, the neutral default
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: rag-wright
3
- Version: 0.5.0
3
+ Version: 0.5.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
@@ -176,6 +176,10 @@ await await_model_server(server) # returns at once if it is up; waits through
176
176
  - **Process-wide.** A registered server model id is known to the whole process, like every model profile; after a
177
177
  restart, call `amodel_server` again.
178
178
 
179
+ **A runnable example.** `examples/model_server.py` does all of this through `rag_wright.api`: `deploy` brings a
180
+ server up, asks one question on it through a workspace, checks the call was metered on the server's model id, then
181
+ stops it and confirms it is gone; `reconnect` is the service-process path (look up, wait, ask, leave it running).
182
+
179
183
  The `qwen-vllm-modal` skill has the operational detail (the image fixes, serving gotchas, the manual `modal deploy`
180
184
  command) and ADR-0130 the design.
181
185
 
@@ -92,5 +92,5 @@ in two at the PS-6 gate so the store rewrite is its own visible task. One task,
92
92
  | PS-16 | A configuration change takes effect without a restart: `open_workspace` returns the cached handle only when the config is equal; a different config gets a new handle (the store and the embedder reused when their settings are unchanged), and calls already holding the old handle finish on the old config; docs (workspaces, configuration, the engine-usage skill, the RuleWright 0.4 guide) updated | hermetic tests; live check (re-open with new models, same store) | done: an equal config returns the cached handle; a different one a new handle that replaces it (store reused for unchanged store settings + pack, query embedder for an unchanged profile; in-flight calls keep the old config); workspaces/configuration/skill/RuleWright 0.4 guide updated; live on ArcadeDB: same connection, new models, data visible |
93
93
  | PS-17 | No Gemma by default anywhere (your decision: Gemma only through config or a product): `DEFAULT_GENERAL` (Gemma) removed from `models.profiles` and `rag_wright.pack_sdk`; the reference pack's legacy tag-parse extractor runs its second list model only when `RAG_INGEST_LIST_MODEL` or `list_model=` names one; text that calls Gemma the model in use corrected (benchmark notes kept); the Gemma profiles stay registered so config can select Gemma correctly | guard test (no role default, constant or default-on path is Gemma); full suite | done: `DEFAULT_GENERAL` removed (profiles + `pack_sdk`, 84 symbols); the legacy extractor's list model via `list_model_for` (only when named); ~20 statements now say the GENERAL role (benchmark notes and serving gotchas kept, labelled); overview's stale Gemma listwise rerank removed; Gemma profiles stay registered; guard test; `CLAUDE.md` / `SPEC.md` wording left as is (your call) |
94
94
  | PS-18 | RuleWright's request of 2026-10-10: raise the floor to `scikit-learn>=1.9.1` (8 shipped heads were pickled with 1.9.1) with a guard test that loads every shipped head with `InconsistentVersionWarning` as an error; the Laya temperatures (9 of 15 above Laya 0.3.22's [0.5, 5]) left as they are with the cause and the measured effect written down (ADR): fitted by Laya's training script within [0.1, 10], clamped at serving; labels unaffected (the fleet uses the ranking, not the probability; 5,400 paired predictions: 0 abstain changes, 45 rounding-tie differences); a reply to RuleWright | guard test; full suite | done: `scikit-learn>=1.9.1` (lock 1.9.0 -> 1.9.1); guard loads the 8 heads in the shipped model folders with the version warning as an error; ADR-0129; reference-pack note; the `laya` skill's post-training temperature checklist + scikit-learn lesson; reply to RuleWright; upstream Laya report drafted at `docs/upstream/laya-temperature-range-mismatch.md` (not filed) |
95
- | PS-19 | A product deploys the self-hosted Qwen server from the engine and uses it like any model: `ModelServerSpec` (defaults = the `qwen-vllm-modal` skill / ADR-0110 locked Config B: Qwen3.8-27B-FP8 + fp8 KV, 1x A100-80GB, TP 1, 16K, 0.95, served name `Qwen/Qwen3.8-27B`, hermes + qwen3 parsers, image builder 2025.06), `adeploy_model_server` (deploys the shipped script, waits for `/health` with X/N progress), reconnect by name, status, stop; each server registered as a model profile with its own endpoint (no `VLLM_BASE_URL` needed), so its `model_id` goes in `EngineConfig.models` or any `model=`; the API key from a named environment variable, never a default; `rag-wright[modal]` extra; Modal grounded in the framework graph | hermetic tests (Modal and HTTP mocked); live: deploy, one call through a workspace, stop, confirm stopped | done: `ModelServerSpec` (Config B defaults, `max_num_seqs` required), `adeploy_model_server` / `amodel_server` / `await_model_server` / `stop_model_server`; profiles carry an explicit `base_url`, `register_model_profile`; `rag-wright[modal]`; ADR-0130; configuration.md walk-through linked from the engine-usage skill, domain-adaptation guide, workspaces, templates; RuleWright 0.5 guide; live: ready in 226 s, one call metered on the server's model id, stopped (239 s of A100) |
95
+ | PS-19 | A product deploys the self-hosted Qwen server from the engine and uses it like any model: `ModelServerSpec` (defaults = the `qwen-vllm-modal` skill / ADR-0110 locked Config B: Qwen3.8-27B-FP8 + fp8 KV, 1x A100-80GB, TP 1, 16K, 0.95, served name `Qwen/Qwen3.8-27B`, hermes + qwen3 parsers, image builder 2025.06), `adeploy_model_server` (deploys the shipped script, waits for `/health` with X/N progress), reconnect by name, status, stop; each server registered as a model profile with its own endpoint (no `VLLM_BASE_URL` needed), so its `model_id` goes in `EngineConfig.models` or any `model=`; the API key from a named environment variable, never a default; `rag-wright[modal]` extra; Modal grounded in the framework graph | hermetic tests (Modal and HTTP mocked); live: deploy, one call through a workspace, stop, confirm stopped | done: `ModelServerSpec` (Config B defaults, `max_num_seqs` required), `adeploy_model_server` / `amodel_server` / `await_model_server` / `stop_model_server`; profiles carry an explicit `base_url`, `register_model_profile`; `rag-wright[modal]`; ADR-0130; configuration.md walk-through linked from the engine-usage skill, domain-adaptation guide, workspaces, templates; RuleWright 0.5 guide; live: ready in 226 s, one call metered on the server's model id, stopped (239 s of A100). Follow-up: `examples/model_server.py` (`deploy` and `reconnect` modes, public API only) for RuleWright and other products, and the URL lookup moved to Modal's async interface (no `AsyncUsageWarning`); live: all three steps passed (ready after a 254 s cold start, reconnect ready in 1 s, each call metered on the server's model id, stopped, no longer resolves) |
96
96
  | PS-20 | Cold start of the self-hosted Qwen server (~8 min, CPU-bound engine init + CUDA-graph capture; ADR-0109): GPU snapshot / sleep mode, measured against the current baseline. Later, by your decision | live cold-start measurement | todo (later) |
@@ -46,3 +46,13 @@ The engine's full walk-through is `docs/configuration.md`, "A self-hosted model
46
46
  Run RuleWright's suite against the engine checkout. If it moves a setting to a server: deploy (or reconnect), run
47
47
  one question inside `measure_usage()`, and check the call was metered on the server's model id; then stop the
48
48
  server if it was a test deployment.
49
+
50
+ The engine's `examples/model_server.py` is that check, written against the public API only, and the place to start
51
+ (read it from the engine checkout; it is not in the wheel):
52
+
53
+ - `uv run python examples/model_server.py deploy` brings a server up (`adeploy_model_server`), opens a workspace
54
+ whose `general` role is `server.model_id`, asks one question inside `measure_usage()`, checks the call was metered
55
+ on the server's model id, then stops the server (`stop_model_server`, always, even on failure) and confirms it no
56
+ longer resolves.
57
+ - `uv run python examples/model_server.py reconnect` is what each RuleWright service process does at startup:
58
+ `amodel_server` then `await_model_server`, one question, and the server left running.
@@ -0,0 +1,91 @@
1
+ """Bring up a self-hosted Qwen server through the engine, use it as a workspace's model, and bring it down.
2
+
3
+ Everything goes through `rag_wright.api`. The server is the locked setup of the `qwen-vllm-modal` skill (ADR-0110);
4
+ the walk-through is docs/configuration.md, "A self-hosted model server (Qwen on Modal)".
5
+
6
+ Prerequisites (see docs/installation.md):
7
+ - `uv add 'rag-wright[modal]'` and a Modal login (`uv run modal token new`).
8
+ - VLLM_API_KEY in .env: the server's API key (any long random string; there is no default).
9
+ - ArcadeDB running locally, with ARCADEDB_* set in .env.
10
+
11
+ Run from the repo root:
12
+ uv run python examples/model_server.py deploy # deploy, ask one question on it, stop it, confirm it is gone
13
+ uv run python examples/model_server.py reconnect # reconnect to a server already deployed, ask one question
14
+
15
+ `deploy` is what an operator script or startup job does, and it always stops the server at the end (an A100 bills
16
+ while it runs). `reconnect` is what every service process does at startup: it never deploys, and it leaves the
17
+ server running. A cold start takes minutes; progress is printed as `i/N`.
18
+ """
19
+
20
+ from __future__ import annotations
21
+
22
+ import asyncio
23
+ import sys
24
+ import time
25
+
26
+ from dotenv import load_dotenv
27
+
28
+ from rag_wright.api import (
29
+ EngineConfig,
30
+ EvidenceItem,
31
+ ModelRole,
32
+ ModelServer,
33
+ ModelServerSpec,
34
+ StoreConfig,
35
+ adeploy_model_server,
36
+ agenerate_answer,
37
+ amodel_server,
38
+ await_model_server,
39
+ measure_usage,
40
+ open_workspace,
41
+ stop_model_server,
42
+ )
43
+
44
+ # The same spec in every process: the name is the Modal app (and so the URL); max_num_seqs is the concurrency target.
45
+ SPEC = ModelServerSpec(name="rw-qwen3-example", max_num_seqs=16)
46
+
47
+
48
+ async def ask_one_question(server: ModelServer) -> None:
49
+ """Use the server like any model: name it for a role in the workspace's config, then call the engine."""
50
+ config = EngineConfig(store=StoreConfig.from_env(), models={ModelRole.GENERAL.value: server.model_id})
51
+ ws = open_workspace(config, corpus="model_server_example")
52
+ with measure_usage() as usage:
53
+ out = await agenerate_answer(
54
+ "How long is the warranty?",
55
+ [EvidenceItem(chunk_id="c1", text="The warranty period is 24 months from delivery.")],
56
+ ws=ws,
57
+ )
58
+ print(f"answer: {out.answer!r}")
59
+ print(f"metered on: {sorted(usage.by_model)} ({usage.calls} call)")
60
+ if sorted(usage.by_model) != [server.model_id]:
61
+ raise SystemExit(f"expected the call to be metered on {server.model_id}")
62
+
63
+
64
+ async def deploy() -> None:
65
+ start = time.monotonic()
66
+ try:
67
+ server = await adeploy_model_server(SPEC, poll_s=20) # deploys, waits for /health, registers the model id
68
+ print(f"ready in {time.monotonic() - start:.0f}s: model id {server.model_id}, endpoint {server.base_url}")
69
+ await ask_one_question(server)
70
+ finally:
71
+ stop_model_server(SPEC.name) # always, even if something above failed
72
+ try:
73
+ await amodel_server(SPEC)
74
+ except Exception as exc: # a stopped app no longer resolves
75
+ print(f"stopped: {SPEC.name} no longer resolves ({type(exc).__name__}); {time.monotonic() - start:.0f}s total")
76
+ else:
77
+ raise SystemExit(f"{SPEC.name} still resolves after stop")
78
+
79
+
80
+ async def reconnect() -> None:
81
+ server = await amodel_server(SPEC) # looks the server up and registers its model id; does not deploy
82
+ await await_model_server(server, poll_s=20) # at once if it is up; through a cold start if it scaled down
83
+ await ask_one_question(server)
84
+
85
+
86
+ if __name__ == "__main__":
87
+ load_dotenv() # VLLM_API_KEY and ARCADEDB_* from .env
88
+ mode = sys.argv[1] if len(sys.argv) > 1 else ""
89
+ if mode not in ("deploy", "reconnect"):
90
+ raise SystemExit("usage: uv run python examples/model_server.py deploy|reconnect")
91
+ asyncio.run(deploy() if mode == "deploy" else reconnect())
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "rag-wright"
3
- version = "0.5.0"
3
+ version = "0.5.1"
4
4
  description = "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
  readme = "README.md"
6
6
  requires-python = ">=3.12,<3.13"
@@ -78,10 +78,10 @@ def _modal_cli(args: list[str], env: dict[str, str]) -> None:
78
78
  subprocess.run([sys.executable, "-m", "modal", *args], env=env, check=True)
79
79
 
80
80
 
81
- def _web_url(name: str) -> str:
81
+ async def _web_url(name: str) -> str:
82
82
  import modal
83
83
 
84
- url = modal.Function.from_name(name, _SERVE_FUNCTION).get_web_url()
84
+ url = await modal.Function.from_name(name, _SERVE_FUNCTION).get_web_url.aio() # the async form: called in a loop
85
85
  if not url:
86
86
  raise RuntimeError(f"Modal app {name!r} has no web endpoint (is it deployed?)")
87
87
  return url.rstrip("/")
@@ -146,7 +146,7 @@ async def adeploy_model_server(spec: ModelServerSpec, *, wait: bool = True, time
146
146
  progress(f"[model-server] deploying {spec.name} ({spec.model}, {spec.gpu}, max_num_seqs={spec.max_num_seqs})")
147
147
  env = {**os.environ, **spec.deploy_env(), "VLLM_API_KEY": key}
148
148
  await asyncio.to_thread(_modal_cli, ["deploy", str(QWEN_MODAL_SCRIPT)], env)
149
- server = _register(spec, await asyncio.to_thread(_web_url, spec.name))
149
+ server = _register(spec, await _web_url(spec.name))
150
150
  progress(f"[model-server] deployed {spec.name} at {server.base_url}; model id {server.model_id}")
151
151
  if wait:
152
152
  await await_model_server(server, timeout_s=timeout_s, poll_s=poll_s, progress=progress)
@@ -157,7 +157,7 @@ async def amodel_server(spec: ModelServerSpec) -> ModelServer:
157
157
  """Reconnect to a server deployed earlier (by this process or another) without redeploying: look up its URL and
158
158
  register its model profile. `spec` must match the deployed server (its name and served model)."""
159
159
  _require_modal()
160
- return _register(spec, await asyncio.to_thread(_web_url, spec.name))
160
+ return _register(spec, await _web_url(spec.name))
161
161
 
162
162
 
163
163
  def stop_model_server(name: str) -> None:
@@ -3,9 +3,11 @@
3
3
  Phase 2 output. The persistent, cross-session task ledger and shared memory of progress. Derived
4
4
  from `plan.md` (Phase 1) and `SPEC.md` v0.1, honoring ADR-0001 (stack) and ADR-0002 (corpus).
5
5
 
6
- > **⇒ RESUME / NEXT UP (2026-10-09, NEWEST): public-surface workstream COMPLETE and RELEASED as `rag-wright` 0.4.0**
6
+ > **⇒ RESUME / NEXT UP (2026-10-09, NEWEST): public-surface workstream COMPLETE and RELEASED as `rag-wright` 0.5.0**
7
7
  > (PyPI; 0.3.1 fixed 0.3.0's missing skills; 0.4.0 adds PS-R4, PS-12..PS-17: labelling eval, document metadata,
8
- > per-workspace models, config changes without restart, the workspaces guide, no Gemma default). Ledger:
8
+ > per-workspace models, config changes without restart, the workspaces guide, no Gemma default); 0.5.0 adds
9
+ > PS-18 (scikit-learn 1.9.1, Laya temperatures ADR-0129) and PS-19 (deploy the Qwen/Modal server from the engine,
10
+ > ADR-0130). PS-20 (cold start) is tracked for later. Ledger:
9
11
  > **`docs/specs/public-surface/plan.md`** (PS-1..PS-19, PS-8a/8b/8c, PS-R1..PS-R5c; ADR-0125..0128). Delivered: gaps
10
12
  > G15-G21 closed (`pack_store`, bytes parsing, `ModelRole`, metering/tracing, answers + relevance on the API,
11
13
  > `RAG_MODELS_DIR` + reference weights on GCS, KG count/delete/update primitives) and the `rag_wright.pack_sdk` tier
@@ -13,7 +15,7 @@ from `plan.md` (Phase 1) and `SPEC.md` v0.1, honoring ADR-0001 (stack) and ADR-0
13
15
  > reference rule chosen on 510 CUAD contracts (ADR-0126); `build_ingestion(chunk_discoverer=)`; Qwen unpinned
14
16
  > (ADR-0125); graph-extraction failures kept as PARTIAL; domain vocabulary out of the generic engine (guard + ratchet;
15
17
  > OKF retired, ADR-0127); the engine's Claude Code skills shipped in the wheel at
16
- > `rag_wright/.agents/skills/` (PS-10). **Next (user gates): RuleWright moves (0.3 guide, then the 0.4 guide) from
18
+ > `rag_wright/.agents/skills/` (PS-10). **Next (user gates): RuleWright moves (0.3, 0.4, then 0.5 guide) from
17
19
  > `docs/specs/public-surface/rulewright-migration-0.3.0.md`; PS-R4 (unit-labelling eval in `evaluate_ingestion`) is
18
20
  > done (unreleased); TexWright.**
19
21
  >
@@ -38,7 +38,10 @@ def modal_fake(monkeypatch):
38
38
  return calls["health"] >= 2 # down on the first poll, ready on the second
39
39
 
40
40
  monkeypatch.setattr(ms, "_modal_cli", cli)
41
- monkeypatch.setattr(ms, "_web_url", lambda name: URL)
41
+ async def web_url(name):
42
+ return URL
43
+
44
+ monkeypatch.setattr(ms, "_web_url", web_url)
42
45
  monkeypatch.setattr(ms, "_healthy", health)
43
46
  monkeypatch.setenv("ACME_VLLM_KEY", "secret-key")
44
47
  saved = dict(PROFILES)
@@ -108,6 +111,25 @@ async def test_reconnecting_registers_without_deploying(modal_fake):
108
111
  assert modal_fake["cli"] == [] and resolve_connection(server.model_id).base_url == URL + "/v1"
109
112
 
110
113
 
114
+ async def test_the_url_lookup_uses_modals_async_interface(monkeypatch):
115
+ """Modal warns (AsyncUsageWarning) when its blocking interface runs inside an event loop; the deploy and reconnect
116
+ paths are async, so the lookup must use the `.aio` form."""
117
+ import sys
118
+ import types
119
+
120
+ class WebUrl:
121
+ def __call__(self):
122
+ raise AssertionError("the blocking get_web_url() was called from async code")
123
+
124
+ async def aio(self):
125
+ return URL + "/"
126
+
127
+ fake = types.SimpleNamespace(Function=types.SimpleNamespace(
128
+ from_name=lambda name, fn: types.SimpleNamespace(get_web_url=WebUrl())))
129
+ monkeypatch.setitem(sys.modules, "modal", fake)
130
+ assert await ms._web_url("acme-qwen") == URL
131
+
132
+
111
133
  def test_stop_stops_the_modal_app(modal_fake):
112
134
  stop_model_server("acme-qwen")
113
135
  assert modal_fake["cli"][0][0] == ["app", "stop", "acme-qwen", "--yes"]
@@ -3534,7 +3534,7 @@ wheels = [
3534
3534
 
3535
3535
  [[package]]
3536
3536
  name = "rag-wright"
3537
- version = "0.4.0"
3537
+ version = "0.5.0"
3538
3538
  source = { editable = "." }
3539
3539
  dependencies = [
3540
3540
  { name = "arcadedb-python" },
@@ -1,3 +0,0 @@
1
- {
2
- ".": "0.5.0"
3
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes