rag-wright 0.14.0__tar.gz → 0.14.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 (1091) hide show
  1. rag_wright-0.14.1/.release-please-manifest.json +3 -0
  2. {rag_wright-0.14.0 → rag_wright-0.14.1}/CHANGELOG.md +8 -0
  3. {rag_wright-0.14.0 → rag_wright-0.14.1}/CLAUDE.md +2 -2
  4. {rag_wright-0.14.0 → rag_wright-0.14.1}/PKG-INFO +1 -1
  5. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/domain-adaptation/ontology-authoring.md +6 -1
  6. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/public-surface/plan.md +2 -0
  7. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/public-surface/rulewright-migration-0.14.0.md +1 -1
  8. {rag_wright-0.14.0 → rag_wright-0.14.1}/pyproject.toml +1 -1
  9. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/store/arcadedb.py +63 -11
  10. {rag_wright-0.14.0 → rag_wright-0.14.1}/tasks.md +4 -2
  11. rag_wright-0.14.1/tests/store/test_concurrent_writes.py +108 -0
  12. rag_wright-0.14.1/tests/store/test_pack_schema_properties.py +54 -0
  13. {rag_wright-0.14.0 → rag_wright-0.14.1}/uv.lock +1 -1
  14. rag_wright-0.14.0/.release-please-manifest.json +0 -3
  15. rag_wright-0.14.0/tests/store/test_concurrent_writes.py +0 -50
  16. {rag_wright-0.14.0 → rag_wright-0.14.1}/.claude/settings.json +0 -0
  17. {rag_wright-0.14.0 → rag_wright-0.14.1}/.claude/skills/authoring-a-capability/SKILL.md +0 -0
  18. {rag_wright-0.14.0 → rag_wright-0.14.1}/.claude/skills/building-a-product-backend/SKILL.md +0 -0
  19. {rag_wright-0.14.0 → rag_wright-0.14.1}/.claude/skills/building-a-product-frontend/SKILL.md +0 -0
  20. {rag_wright-0.14.0 → rag_wright-0.14.1}/.claude/skills/building-an-agent-harness/SKILL.md +0 -0
  21. {rag_wright-0.14.0 → rag_wright-0.14.1}/.claude/skills/building-an-ingestion-capability/SKILL.md +0 -0
  22. {rag_wright-0.14.0 → rag_wright-0.14.1}/.claude/skills/classifier-opportunity-analysis/SKILL.md +0 -0
  23. {rag_wright-0.14.0 → rag_wright-0.14.1}/.claude/skills/creating-evals/SKILL.md +0 -0
  24. {rag_wright-0.14.0 → rag_wright-0.14.1}/.claude/skills/laya/SKILL.md +0 -0
  25. {rag_wright-0.14.0 → rag_wright-0.14.1}/.claude/skills/qwen-vllm-modal/SKILL.md +0 -0
  26. {rag_wright-0.14.0 → rag_wright-0.14.1}/.claude/skills/qwen-vllm-modal/scripts/modal_qwen3_vllm_server.py +0 -0
  27. {rag_wright-0.14.0 → rag_wright-0.14.1}/.claude/skills/qwen-vllm-modal/scripts/rw_gate.py +0 -0
  28. {rag_wright-0.14.0 → rag_wright-0.14.1}/.claude/skills/setfit/SKILL.md +0 -0
  29. {rag_wright-0.14.0 → rag_wright-0.14.1}/.claude/skills/specifying-a-product-on-the-engine/SKILL.md +0 -0
  30. {rag_wright-0.14.0 → rag_wright-0.14.1}/.claude/skills/using-the-rag-wright-engine/SKILL.md +0 -0
  31. {rag_wright-0.14.0 → rag_wright-0.14.1}/.env.example +0 -0
  32. {rag_wright-0.14.0 → rag_wright-0.14.1}/.github/workflows/publish.yml +0 -0
  33. {rag_wright-0.14.0 → rag_wright-0.14.1}/.github/workflows/release-please.yml +0 -0
  34. {rag_wright-0.14.0 → rag_wright-0.14.1}/.gitignore +0 -0
  35. {rag_wright-0.14.0 → rag_wright-0.14.1}/LICENSE +0 -0
  36. {rag_wright-0.14.0 → rag_wright-0.14.1}/README.md +0 -0
  37. {rag_wright-0.14.0 → rag_wright-0.14.1}/SPEC.md +0 -0
  38. {rag_wright-0.14.0 → rag_wright-0.14.1}/conftest.py +0 -0
  39. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/ARCHITECTURE_OVERVIEW.md +0 -0
  40. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/ArcadeDB_Local.md +0 -0
  41. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/OBSERVABILITY.md +0 -0
  42. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0001-stack-and-library-choices.md +0 -0
  43. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0002-validation-corpus-cuad-edgar.md +0 -0
  44. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0003-ard-registration-and-capability-kinds.md +0 -0
  45. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0004-entity-disambiguation.md +0 -0
  46. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0005-relational-golden-set.md +0 -0
  47. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0006-model-profile.md +0 -0
  48. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0007-arcadedb-store-schema.md +0 -0
  49. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0008-unified-framework-index-docs-grounding.md +0 -0
  50. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0009-rlm-chunking-retained-as-configurable-capability.md +0 -0
  51. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0010-transformers-pinned-below-5-for-flagembedding-reranker.md +0 -0
  52. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0011-cuad-not-a-retrieval-benchmark-acord-for-queries.md +0 -0
  53. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0012-entity-mention-confidence-no-proximity-edges.md +0 -0
  54. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0013-entity-resolution-matching-strategy.md +0 -0
  55. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0014-split-generation-and-vision-to-text.md +0 -0
  56. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0015-rlm-dynamic-subagents-and-granted-subagents.md +0 -0
  57. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0016-rlm-defined-by-required-capabilities-enforced-as-tests.md +0 -0
  58. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0017-dynamic-dispatch-trigger-as-typed-flag.md +0 -0
  59. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0018-rlm-method-is-the-orchestrator-system-prompt.md +0 -0
  60. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0019-recursion-is-optional-for-chunking-required-for-synthesis.md +0 -0
  61. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0020-serialize-interpreter-sessions-per-process-ki1.md +0 -0
  62. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0021-capability-interface-governed-typed-io.md +0 -0
  63. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0022-fr-k-embedding-free-okf-navigation-experimental.md +0 -0
  64. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0023-cheap-model-for-okf-enrichment.md +0 -0
  65. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0024-reader-parallelism-lives-in-python-not-the-interpreter.md +0 -0
  66. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0025-retrieval-pivot-function-classify-property-graph-rerank.md +0 -0
  67. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0026-property-schema-and-extended-function-taxonomy.md +0 -0
  68. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0027-openrouter-provider-routing-by-throughput.md +0 -0
  69. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0028-deterministic-grounding-judge-and-flash-pro-cascade.md +0 -0
  70. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0029-retrieval-pipeline-domain-portability-and-adaptation.md +0 -0
  71. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0030-model-training-standard-modal-reusable-checkpointed.md +0 -0
  72. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0031-single-call-chunking-for-structured-contracts.md +0 -0
  73. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0032-nl-to-type-two-step-reason-emit-on-gemma.md +0 -0
  74. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0033-unified-contract-kg-three-legs-one-graph.md +0 -0
  75. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0034-granite-json-schema-structured-output-profile.md +0 -0
  76. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0035-graph-extraction-rebacked-with-gp1b-retire-hybrid.md +0 -0
  77. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0036-party-clause-link-party-to-edge.md +0 -0
  78. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0037-clause-template-is-authoritative-code-not-generated.md +0 -0
  79. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0038-full-cuad-kg-on-gcp-gpu-vm-and-gcs-backup.md +0 -0
  80. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0039-self-hosted-open-model-stack-on-modal-a100.md +0 -0
  81. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0040-neuro-symbolic-extraction-fidelity-ontology-shacl-validation.md +0 -0
  82. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0041-capability-kind-rubric-and-agent-skill-runtime-tiers.md +0 -0
  83. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0042-clause-level-span-id-provenance-and-content-hash-backfill.md +0 -0
  84. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0043-retire-cross-corpus-retrieval-standardize-on-leg-b.md +0 -0
  85. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0044-is-exception-to-derived-carveout-relationship.md +0 -0
  86. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0045-client-side-tag-parse-structured-output.md +0 -0
  87. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0046-acord-unified-into-one-production-kg.md +0 -0
  88. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0047-retire-precomputed-clause-function-gate.md +0 -0
  89. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0048-ingest-llm-classifier-nondestructive-reclassify.md +0 -0
  90. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0049-generic-customer-lens-for-ingestion.md +0 -0
  91. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0050-async-langgraph-ingestion.md +0 -0
  92. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0051-schema-bootstrap-and-feedback-driven-ontology-evolution.md +0 -0
  93. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0052-engine-product-split-graphwright-parked.md +0 -0
  94. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0053-answer-prose-output-hygiene.md +0 -0
  95. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0054-remove-auto-tag-from-generator-evidence.md +0 -0
  96. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0055-confidence-out-of-band.md +0 -0
  97. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0056-bound-structured-retry-wall-clock.md +0 -0
  98. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0057-async-engine-architecture.md +0 -0
  99. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0058-structure-first-chunking.md +0 -0
  100. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0059-recall-decoupled-from-classification-and-visible-partial-loss.md +0 -0
  101. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0060-scope-compliance-check-to-named-policy-sources.md +0 -0
  102. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0061-subject-document-compliance-per-section.md +0 -0
  103. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0062-tiered-ocr-scan-quality-vlm-escalation.md +0 -0
  104. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0063-per-sentence-compliance-subject-facts.md +0 -0
  105. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0064-typed-properties-out-of-band-on-evidence.md +0 -0
  106. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0065-deontic-applicability-gates-query-side.md +0 -0
  107. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0066-ontology-ttl-single-source-of-truth.md +0 -0
  108. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0067-domain-pack-retargeting.md +0 -0
  109. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0068-recall-first-actor-gate-ontology-role-disjointness.md +0 -0
  110. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0069-reading-order-chunking-tables-figures-retrievable.md +0 -0
  111. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0070-text-layer-first-parsing-no-false-vlm-escalation.md +0 -0
  112. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0071-defragmentation-reconstruct-paragraphs-from-line-items.md +0 -0
  113. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0072-extract-guard-furniture-and-deterministic-failure.md +0 -0
  114. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0073-born-digital-threshold-sparse-pages-no-vlm-escalation.md +0 -0
  115. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0074-retry-transient-extraction-failures.md +0 -0
  116. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0075-per-page-vlm-escalation.md +0 -0
  117. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0076-thread-safe-shared-embedder-reranker.md +0 -0
  118. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0077-concurrent-function-classification-across-chunks.md +0 -0
  119. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0078-dedicated-extraction-executor.md +0 -0
  120. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0079-product-default-granite-4.2-openrouter-routing.md +0 -0
  121. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0080-nested-tag-parse-and-degrade.md +0 -0
  122. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0081-function-independent-tagparse-clause-extraction.md +0 -0
  123. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0082-symbolic-gate-function-independent.md +0 -0
  124. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0083-executor-hop-trace-context-capture.md +0 -0
  125. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0084-gleaning-off-on-the-query-leg.md +0 -0
  126. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0085-query-constraint-extraction-tagparse.md +0 -0
  127. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0086-streaming-cost-capture.md +0 -0
  128. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0087-retrieval-relevance-score-on-rankedspan.md +0 -0
  129. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0088-per-span-relevance-verdict.md +0 -0
  130. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0089-structured-output-generation-tracing.md +0 -0
  131. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0090-affiliate-of-extraction.md +0 -0
  132. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0091-retire-partyto-edge.md +0 -0
  133. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0092-idempotent-write-graph.md +0 -0
  134. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0093-entities-by-name-seam.md +0 -0
  135. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0094-workspace-document-scope.md +0 -0
  136. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0095-span-page-provenance.md +0 -0
  137. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0096-carveout-keyword-normalization.md +0 -0
  138. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0097-caller-configurable-ingest-extraction-models.md +0 -0
  139. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0098-invoke-time-document-scope.md +0 -0
  140. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0099-mcp-tools-never-take-a-model-supplied-tenant.md +0 -0
  141. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0100-profile-based-model-routing.md +0 -0
  142. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0101-untagged-spans-reach-extraction-aspect-gate-removed.md +0 -0
  143. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0102-open-descriptive-list-dims-retain-verbatim.md +0 -0
  144. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0103-a-clause-is-a-provision-not-a-span.md +0 -0
  145. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0104-dense-floor-protection-in-leg-b.md +0 -0
  146. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0105-in-band-model-usage-accounting.md +0 -0
  147. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0106-document-signals-off-the-citation.md +0 -0
  148. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0107-requirement-page-provenance.md +0 -0
  149. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0108-qwen3-27b-single-a100-serving-profile.md +0 -0
  150. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0109-vllm-cold-start-reduction.md +0 -0
  151. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0110-fp8-kv-cache-16k-single-a100.md +0 -0
  152. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0111-pin-qwen3-27b-deepinfra-bf16.md +0 -0
  153. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0112-relax-deepagents-pin-to-floor.md +0 -0
  154. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0113-llm-span-instrumentation-for-latency-attribution.md +0 -0
  155. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0114-setfit-default-clause-function-classifier.md +0 -0
  156. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0115-classifier-only-step3a-property-extraction.md +0 -0
  157. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0116-soft-function-scoping-classifier-lane.md +0 -0
  158. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0117-engine-api-layer-and-capability-runtime.md +0 -0
  159. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0118-engine-core-api-vs-ard-adapter-free-impl-ref-client.md +0 -0
  160. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0119-jev-typed-decision-model-for-compliance-closed-set-fields.md +0 -0
  161. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0120-rlm-sub-agent-identity-dynamic-dispatch-trigger.md +0 -0
  162. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0121-spacy-optional-extra-model-runtime-download.md +0 -0
  163. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0122-provision-boundary-deterministic-plus-decision-model-residue.md +0 -0
  164. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0123-batched-releases-release-please-and-consumer-dependabot.md +0 -0
  165. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0124-generic-ingestion-builder-and-hooks.md +0 -0
  166. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0125-qwen-openrouter-unpinned.md +0 -0
  167. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0126-unit-representative-hook-and-the-reference-vote.md +0 -0
  168. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0127-retire-the-okf-code.md +0 -0
  169. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0128-two-public-tiers-api-and-pack-sdk.md +0 -0
  170. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0129-laya-temperatures-and-the-sklearn-floor.md +0 -0
  171. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0130-deploy-the-self-hosted-model-server-from-the-engine.md +0 -0
  172. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0131-model-server-hardening-after-rulewright-review.md +0 -0
  173. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0132-model-server-cold-start-from-a-gpu-snapshot.md +0 -0
  174. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0133-model-call-deadline-follows-the-timeout-and-a-thinking-cap.md +0 -0
  175. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0134-skills-for-product-developers-are-linked-per-project-never-globally.md +0 -0
  176. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0135-the-seam-gives-each-event-loop-its-own-async-http-client.md +0 -0
  177. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0136-spreadsheet-tables-are-glued-back-across-blank-rows.md +0 -0
  178. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0137-generated-answers-state-their-support-and-none-is-an-abstention.md +0 -0
  179. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0138-the-engine-reaches-pdfium-through-one-locked-door.md +0 -0
  180. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0139-the-agent-harness-substrate-is-engine-scope.md +0 -0
  181. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/README.md +0 -0
  182. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/api/README.md +0 -0
  183. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/api/harness.md +0 -0
  184. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/api/pack_sdk.md +0 -0
  185. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/architecture/foundations-and-adding-a-domain.md +0 -0
  186. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/architecture.md +0 -0
  187. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/README.md +0 -0
  188. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/design/deontic-applicability-routing.md +0 -0
  189. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/design/ingestion-neuro-symbolic-gaps.md +0 -0
  190. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/design/semantic-subject-segmentation.md +0 -0
  191. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/design/unify-subject-preprocessing.md +0 -0
  192. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/engine-issues/0037-closed-vocab-drops-verbatim-values-to-other.md +0 -0
  193. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/engine-issues/0038-a-clause-node-is-now-created-per-sentence-so-98-percent-of-spans-become-clauses.md +0 -0
  194. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/engine-issues/0039-the-provision-detector-reads-text-but-docling-puts-the-section-number-in-marker.md +0 -0
  195. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/engine-issues/0040-covered-subject-is-asked-of-every-provision-so-verbatim-retention-fills-it-with-noise.md +0 -0
  196. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/engine-issues/0041-VERIFICATION-dense-floor.md +0 -0
  197. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/engine-issues/0041-leg-b-discards-the-best-dense-matches-on-some-queries.md +0 -0
  198. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/engine-issues/0042-usage-is-captured-per-call-but-never-returned-so-cost-needs-a-langfuse-round-trip.md +0 -0
  199. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/engine-issues/0043-a-requirement-carries-no-page-provenance-so-a-finding-cannot-point-into-its-policy.md +0 -0
  200. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/engine-issues/0044-document-signals-scaffolding-is-shown-to-the-user-as-a-quote-from-their-document.md +0 -0
  201. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/engine-issues/0045-a-fixed-money-cap-records-no-cap-quantum-so-the-amount-is-only-prose.md +0 -0
  202. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/engine-issues/0046-appending-a-natural-follow-up-to-a-question-drops-the-clause-type.md +0 -0
  203. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/engine-issues/0047-an-exact-deepagents-pin-transitively-pins-every-consumer.md +0 -0
  204. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/engine-issues/0048-the-pinned-endpoints-latency-tail-makes-agent-runs-undebuggable-from-either-side.md +0 -0
  205. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-07-20_graphwright_capability_interface_reply.md +0 -0
  206. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-07-20b_graphwright_interface_confirmation.md +0 -0
  207. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-07-20c_graphwright_ingestion_interfaces.md +0 -0
  208. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-08-30_subject_compliance_final_rulewright.md +0 -0
  209. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-01_issue-0013-recall-first-actor-gate_rulewright.md +0 -0
  210. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-01_ontology-source-of-truth_rulewright.md +0 -0
  211. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-03_issue-0014-table-retrievability_rulewright.md +0 -0
  212. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-04_bulk-ingestion-wall_rulewright.md +0 -0
  213. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-04_issue-0016-thread-safe-embedder_rulewright.md +0 -0
  214. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-05_observability-langfuse_rulewright.md +0 -0
  215. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-05_tagparse-ingestion-and-granite-4.2_rulewright.md +0 -0
  216. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-09_affiliate-of-extraction_rulewright.md +0 -0
  217. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-09_issue-0028-partyto-retired_rulewright.md +0 -0
  218. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-09_issue-0029-idempotent-write-graph_rulewright.md +0 -0
  219. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-09_issue-0030-entities-by-name_rulewright.md +0 -0
  220. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-09_observability-and-retrieval-floor_rulewright.md +0 -0
  221. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-09_relevance-verdict_rulewright.md +0 -0
  222. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-09_rename-run-ad-compliance-check_rulewright.md +0 -0
  223. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-09_structured-output-cost-tracing_rulewright.md +0 -0
  224. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-10_ingest-models-caller-configurable_rulewright.md +0 -0
  225. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-10_issue-0031-followup-failclosed-and-nodrift_rulewright.md +0 -0
  226. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-10_issue-0031-followup-validate-ingested-set_rulewright.md +0 -0
  227. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-10_issue-0031-workspace-document-scope_rulewright.md +0 -0
  228. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-10_issue-0032-span-page-provenance_rulewright.md +0 -0
  229. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-10_issue-0033-carveout-normalization_rulewright.md +0 -0
  230. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-10_issue-0034-invoke-time-document-scope_rulewright.md +0 -0
  231. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-11_issue-0035-followup-derived-guard_rulewright.md +0 -0
  232. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-11_issue-0035-mcp-no-model-tenant_rulewright.md +0 -0
  233. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-11_profile-based-model-routing_rulewright.md +0 -0
  234. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-11_qwen-default-modal-or_rulewright.md +0 -0
  235. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-11_qwen-everywhere-config_rulewright.md +0 -0
  236. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-12_clause-granularity_0036-0039_rulewright.md +0 -0
  237. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-12_closed-vocab_0037-0040_rulewright.md +0 -0
  238. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-12_dense-floor-protection_0041_rulewright.md +0 -0
  239. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-13_in-band-usage_0042_rulewright.md +0 -0
  240. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-14_document-signals-off-citation_0044_rulewright.md +0 -0
  241. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-14_requirement-page-provenance_0043_rulewright.md +0 -0
  242. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-16_qwen3-27b-single-a100-serving-profile_rulewright.md +0 -0
  243. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-18_fp8-accuracy-eval-configB_rulewright.md +0 -0
  244. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-18_fp8-kv-16k-single-a100_rulewright.md +0 -0
  245. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-20_deepagents-pin-relaxed_0047_rulewright.md +0 -0
  246. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-20_llm-span-instrumentation_0048_rulewright.md +0 -0
  247. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-21_0048-part2-modal-answers_from_rulewright.md +0 -0
  248. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-21_0048-part2-modal-scoping-questions_rulewright.md +0 -0
  249. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/misc/.gitkeep +0 -0
  250. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/plans/Corpus_Acquisition.md +0 -0
  251. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/plans/async-migration.md +0 -0
  252. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/plans/demo_plan.md +0 -0
  253. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/plans/gp1b_docling_graph_plan.md +0 -0
  254. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/plans/unified_contract_kg_ontology_bridge.md +0 -0
  255. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/plans/unified_contract_kg_plan.md +0 -0
  256. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/results/2026-07-24-t58-property-graph-population.md +0 -0
  257. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/results/2026-07-25-t58b-full-pipeline-rerank.md +0 -0
  258. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/results/2026-07-25-t58b-topk-ordering-levers.md +0 -0
  259. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/concepts.md +0 -0
  260. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/configuration.md +0 -0
  261. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/contract_pipeline_explainer.md +0 -0
  262. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/corpus_ingest_recipe.md +0 -0
  263. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/domain-adaptation/README.md +0 -0
  264. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/domain-adaptation/_engine-gaps.md +0 -0
  265. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/domain-adaptation/authoring-capabilities.md +0 -0
  266. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/domain-adaptation/classification-and-decision-models.md +0 -0
  267. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/domain-adaptation/entity-resolution.md +0 -0
  268. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/domain-adaptation/evals-from-expert-files.md +0 -0
  269. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/domain-adaptation/kg-construction.md +0 -0
  270. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/eval/classifier_model_ab.md +0 -0
  271. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/eval/compliance_demo.md +0 -0
  272. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/eval/compliance_gate_cc7.md +0 -0
  273. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/eval/compliance_rung2_cc7.md +0 -0
  274. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/eval/cuad_highlighting_cu-d1.md +0 -0
  275. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/eval/dg_model_ab.md +0 -0
  276. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/eval/function_gate_recall.md +0 -0
  277. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/eval/generation_robustness_b_vs_c.md +0 -0
  278. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/eval/nl_to_type_cu-d2.md +0 -0
  279. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/eval/ocr_benchmark.md +0 -0
  280. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/eval/prod1_readiness.md +0 -0
  281. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/eval/prod2_readiness.md +0 -0
  282. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/eval/query_side_model_ab.md +0 -0
  283. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/eval/silver_granite_vs_gemma4.md +0 -0
  284. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/eval/silver_provider_routing.md +0 -0
  285. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/eval/silver_selfhosted_gemma4_26b.md +0 -0
  286. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/evals.md +0 -0
  287. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/harness.md +0 -0
  288. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/installation.md +0 -0
  289. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/playbook.md +0 -0
  290. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/product/capability_profiles.md +0 -0
  291. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/product/contracts_product_roadmap.md +0 -0
  292. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/product/engine-api-migration-handoff.md +0 -0
  293. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/product/engine_async_api.md +0 -0
  294. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/product/new-domain-build-sequence.md +0 -0
  295. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/product/seam-adaptation-guide.md +0 -0
  296. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/proposals/compliance-ingest-classifier-decomposition.md +0 -0
  297. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/proposals/de-domaining-and-capability-runtime.md +0 -0
  298. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/proposals/new-domain-developer-journey.md +0 -0
  299. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/proposals/ontology-induction.md +0 -0
  300. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/quickstart.md +0 -0
  301. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/reference-pack.md +0 -0
  302. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/releasing.md +0 -0
  303. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/engine-platform/SPEC.md +0 -0
  304. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/engine-platform/TASKS.md +0 -0
  305. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/engine-prep/plan.md +0 -0
  306. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/evals/plan.md +0 -0
  307. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/ingestion-hooks/ing5-doc-audit.md +0 -0
  308. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/ingestion-hooks/ing8-breaking-changes.md +0 -0
  309. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/ingestion-hooks/plan.md +0 -0
  310. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/ingestion-hooks/rulewright-migration-0.2.0.md +0 -0
  311. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/langgraph-ingestion/plan.md +0 -0
  312. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/public-surface/rulewright-arcadedb-separation.md +0 -0
  313. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/public-surface/rulewright-migration-0.10.0.md +0 -0
  314. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/public-surface/rulewright-migration-0.11.0.md +0 -0
  315. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/public-surface/rulewright-migration-0.12.0.md +0 -0
  316. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/public-surface/rulewright-migration-0.13.0.md +0 -0
  317. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/public-surface/rulewright-migration-0.3.0.md +0 -0
  318. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/public-surface/rulewright-migration-0.4.0.md +0 -0
  319. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/public-surface/rulewright-migration-0.5.0.md +0 -0
  320. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/public-surface/rulewright-migration-0.6.0.md +0 -0
  321. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/public-surface/rulewright-migration-0.7.0.md +0 -0
  322. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/public-surface/rulewright-migration-0.8.0.md +0 -0
  323. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/public-surface/rulewright-migration-0.9.0.md +0 -0
  324. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/public-surface/rulewright-reply-2026-10-10-laya-and-sklearn.md +0 -0
  325. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/templates/product-starter/CLAUDE.md.template +0 -0
  326. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/templates/product-starter/README.md +0 -0
  327. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/templates/product-starter/dependabot.yml +0 -0
  328. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/templates/product-starter/playbook.md.template +0 -0
  329. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/upstream/laya-temperature-range-mismatch.md +0 -0
  330. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/vendor/arcadedb/arcadedb-buckets-schema.md +0 -0
  331. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/vendor/arcadedb/arcadedb-docs-extraction.json +0 -0
  332. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/vendor/arcadedb/arcadedb-vector-embeddings.md +0 -0
  333. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/vendor/arcadedb/arcadedb-vector-search-tutorial.md +0 -0
  334. {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/workspaces.md +0 -0
  335. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/__init__.py +0 -0
  336. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/acord.py +0 -0
  337. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/acord_retrieval.py +0 -0
  338. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/boundary_residue_gold.py +0 -0
  339. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/build_golden.py +0 -0
  340. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/compliance_demo/policy/community_conduct_policy.md +0 -0
  341. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/compliance_demo/subjects/post_borderline.txt +0 -0
  342. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/compliance_demo/subjects/post_compliant.txt +0 -0
  343. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/compliance_demo/subjects/post_violation.txt +0 -0
  344. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/condensed_pipeline.py +0 -0
  345. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/contract_parity_live.py +0 -0
  346. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/contractnli_judge.py +0 -0
  347. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/cuad_highlight.py +0 -0
  348. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/embedded_eval.py +0 -0
  349. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/full_pipeline_rerank.py +0 -0
  350. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/function_ceiling.py +0 -0
  351. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/function_property_rerank.py +0 -0
  352. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/function_rerank.py +0 -0
  353. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/gate1_chunker_ab.py +0 -0
  354. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/gate2_hybrid_rerank.py +0 -0
  355. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/golden/relational/set.json +0 -0
  356. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/golden.py +0 -0
  357. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/ground_discriminator_rerank.py +0 -0
  358. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/harness.py +0 -0
  359. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/ingestion_live_smoke.py +0 -0
  360. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/kg_primary.py +0 -0
  361. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/kg_property_rerank.py +0 -0
  362. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/listwise_rerank.py +0 -0
  363. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/multihop.py +0 -0
  364. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/nl_to_type.py +0 -0
  365. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/relational_eval.py +0 -0
  366. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/residual_decision_gold.py +0 -0
  367. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/segmenter_eval.py +0 -0
  368. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/semantic_judge_gold.py +0 -0
  369. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/test_acord.py +0 -0
  370. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/test_acord_retrieval.py +0 -0
  371. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/test_harness.py +0 -0
  372. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/test_multihop_set.py +0 -0
  373. {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/unit_grouper_eval.py +0 -0
  374. {rag_wright-0.14.0 → rag_wright-0.14.1}/examples/model_server.py +0 -0
  375. {rag_wright-0.14.0 → rag_wright-0.14.1}/examples/quickstart.py +0 -0
  376. {rag_wright-0.14.0 → rag_wright-0.14.1}/plan.md +0 -0
  377. {rag_wright-0.14.0 → rag_wright-0.14.1}/release-please-config.json +0 -0
  378. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/ab_model_overlap.py +0 -0
  379. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/acord_unify.py +0 -0
  380. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/acquire_acord.py +0 -0
  381. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/acquire_cuad.py +0 -0
  382. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/acquire_ecfr.py +0 -0
  383. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/acquire_edgar.py +0 -0
  384. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/acquire_ftc_255.py +0 -0
  385. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/acquire_prod1_corpus.py +0 -0
  386. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/audit_reclass_flips.py +0 -0
  387. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/author_leg_a_silver_key.py +0 -0
  388. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/backfill_affiliations.py +0 -0
  389. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/backfill_clause_span_id.py +0 -0
  390. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/backfill_edge_source_doc_id.py +0 -0
  391. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/backup_kg_to_gcs.sh +0 -0
  392. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/bootstrap_template_capture.py +0 -0
  393. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/bootstrap_typed_edges.py +0 -0
  394. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/build_api_docs.py +0 -0
  395. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/build_api_docs.sh +0 -0
  396. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/build_cuad_clause_cache.py +0 -0
  397. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/build_function_routing_map.py +0 -0
  398. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/build_harness_doc.py +0 -0
  399. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_assemble_v2.py +0 -0
  400. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_assemble_v3.py +0 -0
  401. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_generate_hard_negatives.py +0 -0
  402. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_generate_hard_positives.py +0 -0
  403. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_generate_training.py +0 -0
  404. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_hybrid.py +0 -0
  405. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_hybrid2.py +0 -0
  406. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_jev_actor.py +0 -0
  407. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_jev_claimtypes.py +0 -0
  408. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_jev_operative.py +0 -0
  409. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_label_spans.py +0 -0
  410. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_laya_prep.py +0 -0
  411. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_laya_train.py +0 -0
  412. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_prep_operative.py +0 -0
  413. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_relabel_rubric.py +0 -0
  414. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_relabel_rubric2.py +0 -0
  415. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_train_operative.py +0 -0
  416. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/compare_extraction_models.py +0 -0
  417. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/compliance_actor_gate_smoke.py +0 -0
  418. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/compliance_engine_smoke.py +0 -0
  419. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/compliance_policy_demo.py +0 -0
  420. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/curate_taxonomy_gaps.py +0 -0
  421. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/dg_model_ab.py +0 -0
  422. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/diagnose_acord_knn_expansion.py +0 -0
  423. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/diagnose_acord_knn_rerank.py +0 -0
  424. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/diagnose_acord_leg_pool.py +0 -0
  425. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/diagnose_acord_legs.py +0 -0
  426. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/diagnose_acord_pool.py +0 -0
  427. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/diagnose_acord_relstructure.py +0 -0
  428. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/diagnose_acord_retrieval.py +0 -0
  429. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/distill/eval_all.py +0 -0
  430. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/distill/eval_ce.py +0 -0
  431. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/distill/eval_listwise_b.py +0 -0
  432. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/distill/export_ce_dataset.py +0 -0
  433. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/distill/extract_features.py +0 -0
  434. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/distill/listwise_variants.py +0 -0
  435. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/distill/relational_features.py +0 -0
  436. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/distill/train_ce.py +0 -0
  437. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/distill/train_modal.py +0 -0
  438. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/enrich_edgar_candidates.py +0 -0
  439. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/eval_chunking_ab.py +0 -0
  440. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/eval_classifier_guided_vs_tagparse.py +0 -0
  441. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/eval_compliance_gold.py +0 -0
  442. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/extract_arcadedb_docs.py +0 -0
  443. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/fetch_reference_models.py +0 -0
  444. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/generate_contract_python.py +0 -0
  445. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/git_post_commit_graphify.sh +0 -0
  446. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/granite_chunker_assess.py +0 -0
  447. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/graph_status.sh +0 -0
  448. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/ingest_acord.py +0 -0
  449. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/ingest_compliance_async_prod2.py +0 -0
  450. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/ingest_compliance_document_prod2.py +0 -0
  451. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/ingest_compliance_prod2.py +0 -0
  452. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/ingest_cuad.py +0 -0
  453. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/ingest_cuad_full.py +0 -0
  454. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/ingest_ftc_compliance.py +0 -0
  455. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/ingest_prod1.py +0 -0
  456. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/ingest_prod1_async.py +0 -0
  457. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/ingest_smoke.py +0 -0
  458. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/install_git_hooks.sh +0 -0
  459. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/label_new_functions.py +0 -0
  460. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/legb_function_gate_recall.py +0 -0
  461. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/make_compliance_fixtures.py +0 -0
  462. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/make_compliance_gold.py +0 -0
  463. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/mcp_compliance_agent_demo.py +0 -0
  464. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/mcp_intra_document_qa_smoke.py +0 -0
  465. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/mcp_query_legs_agent_demo.py +0 -0
  466. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/measure_generation_robustness.py +0 -0
  467. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/measure_harness_genericity.py +0 -0
  468. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/measure_silver.py +0 -0
  469. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/merge_docs_into_framework.py +0 -0
  470. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/migrate_entity_cik_to_canonical_id.py +0 -0
  471. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/migrate_silver_evidence_autotag.py +0 -0
  472. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/migrate_silver_evidence_remove_autotag.py +0 -0
  473. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/migrate_span_fields.py +0 -0
  474. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/mine_scarce_functions.py +0 -0
  475. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/modal_arcadedb.py +0 -0
  476. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/modal_backfill.py +0 -0
  477. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/modal_exception_linking.py +0 -0
  478. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/modal_gemma4_vllm.py +0 -0
  479. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/modal_gemma4_vllm_snapshot.py +0 -0
  480. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/modal_granite_server.py +0 -0
  481. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/modal_granite_throughput.py +0 -0
  482. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/modal_granite_vllm_server.py +0 -0
  483. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/modal_query_app.py +0 -0
  484. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/modal_qwen3_27b_bench.py +0 -0
  485. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/modal_qwen3_27b_snapshot.py +0 -0
  486. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/modal_qwen3_vllm_server.py +0 -0
  487. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/modal_stack_a100.py +0 -0
  488. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/ocr_benchmark.py +0 -0
  489. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/ocr_preprocess.py +0 -0
  490. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/ontology_dimension_check.py +0 -0
  491. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/phase_a_leg_validate.py +0 -0
  492. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/populate_clause_kg.py +0 -0
  493. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/populate_entity_graph.py +0 -0
  494. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/populate_entity_graph_extracted.py +0 -0
  495. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/populate_property_store.py +0 -0
  496. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/prep_relational_verification.py +0 -0
  497. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/publish_manifests.py +0 -0
  498. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/reclassify_kg.py +0 -0
  499. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/refresh_framework_graph.sh +0 -0
  500. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/revert_reclass_flips.py +0 -0
  501. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/run_acord_retrieval.py +0 -0
  502. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/run_clause_exception_linking.py +0 -0
  503. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/semantic_judge_live_validate.py +0 -0
  504. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/semantic_judge_probe.py +0 -0
  505. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/snapshot_leg_a_eval.py +0 -0
  506. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/stack_correctness_validate.py +0 -0
  507. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/table_retrieval_smoke.py +0 -0
  508. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/train_function_classifier.py +0 -0
  509. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/train_legalbert_function.py +0 -0
  510. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/train_legalbert_modal.py +0 -0
  511. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/typed_rerank_validate.py +0 -0
  512. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/verify_wheel_install.sh +0 -0
  513. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/vllm_extraction_ab.py +0 -0
  514. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/vllm_kg_query_validate.py +0 -0
  515. {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/vllm_raw_diagnostic.py +0 -0
  516. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/.agents/skills/authoring-a-capability/SKILL.md +0 -0
  517. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/.agents/skills/building-a-product-backend/SKILL.md +0 -0
  518. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/.agents/skills/building-a-product-frontend/SKILL.md +0 -0
  519. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/.agents/skills/building-an-agent-harness/SKILL.md +0 -0
  520. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/.agents/skills/building-an-ingestion-capability/SKILL.md +0 -0
  521. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/.agents/skills/classifier-opportunity-analysis/SKILL.md +0 -0
  522. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/.agents/skills/creating-evals/SKILL.md +0 -0
  523. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/.agents/skills/laya/SKILL.md +0 -0
  524. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/.agents/skills/qwen-vllm-modal/SKILL.md +0 -0
  525. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/.agents/skills/qwen-vllm-modal/scripts/modal_qwen3_vllm_server.py +0 -0
  526. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/.agents/skills/qwen-vllm-modal/scripts/rw_gate.py +0 -0
  527. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/.agents/skills/setfit/SKILL.md +0 -0
  528. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/.agents/skills/specifying-a-product-on-the-engine/SKILL.md +0 -0
  529. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/.agents/skills/using-the-rag-wright-engine/SKILL.md +0 -0
  530. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/__init__.py +0 -0
  531. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/api/__init__.py +0 -0
  532. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/api/agents.py +0 -0
  533. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/api/answers.py +0 -0
  534. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/api/config.py +0 -0
  535. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/api/discover.py +0 -0
  536. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/api/documents.py +0 -0
  537. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/api/ids.py +0 -0
  538. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/api/invoke.py +0 -0
  539. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/api/kg.py +0 -0
  540. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/api/mcp.py +0 -0
  541. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/api/tracing.py +0 -0
  542. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/api/usage.py +0 -0
  543. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/api/workspace.py +0 -0
  544. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/__init__.py +0 -0
  545. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/answer_generator.py +0 -0
  546. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/ard.py +0 -0
  547. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/chunk_read.py +0 -0
  548. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/chunk_write.py +0 -0
  549. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/disambiguation.py +0 -0
  550. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/document_parse.py +0 -0
  551. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/document_scope.py +0 -0
  552. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/embedding.py +0 -0
  553. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/embedding_profiles.py +0 -0
  554. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/entity_resolution.py +0 -0
  555. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/fusion.py +0 -0
  556. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/graph_query.py +0 -0
  557. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/graph_storage.py +0 -0
  558. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/hybrid_search.py +0 -0
  559. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/invoke.py +0 -0
  560. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/jev_decision.py +0 -0
  561. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/manifests.py +0 -0
  562. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/parse_audit.py +0 -0
  563. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/parsing.py +0 -0
  564. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/registry.py +0 -0
  565. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/remote_encoders.py +0 -0
  566. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/reranking.py +0 -0
  567. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/retrieval_core.py +0 -0
  568. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/rlm_chunking.py +0 -0
  569. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/rlm_synthesis.py +0 -0
  570. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/scan_quality.py +0 -0
  571. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/sheet_tables.py +0 -0
  572. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/span_relevance_judgment.py +0 -0
  573. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/span_search.py +0 -0
  574. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/vision_to_text.py +0 -0
  575. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/vlm_ocr.py +0 -0
  576. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/contracts/__init__.py +0 -0
  577. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/contracts/chunk.py +0 -0
  578. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/contracts/evals.py +0 -0
  579. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/contracts/extraction.py +0 -0
  580. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/contracts/graph.py +0 -0
  581. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/contracts/identifiers.py +0 -0
  582. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/contracts/ingestion.py +0 -0
  583. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/contracts/provenance.py +0 -0
  584. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/contracts/span.py +0 -0
  585. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/corpus/__init__.py +0 -0
  586. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/corpus/canonicalize.py +0 -0
  587. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/corpus/document_parser.py +0 -0
  588. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/corpus/embedded.py +0 -0
  589. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/corpus/http.py +0 -0
  590. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/evals/__init__.py +0 -0
  591. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/evals/gold.py +0 -0
  592. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/evals/langfuse_backend.py +0 -0
  593. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/evals/runner.py +0 -0
  594. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/evals/scorers.py +0 -0
  595. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/__init__.py +0 -0
  596. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/accounting.py +0 -0
  597. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/agent.py +0 -0
  598. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/batch.py +0 -0
  599. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/clarify.py +0 -0
  600. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/confirm.py +0 -0
  601. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/decisions.py +0 -0
  602. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/definition.py +0 -0
  603. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/dispatch.py +0 -0
  604. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/errors.py +0 -0
  605. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/events.py +0 -0
  606. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/filesystem.py +0 -0
  607. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/grading.py +0 -0
  608. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/interpreter.py +0 -0
  609. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/memory.py +0 -0
  610. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/models.py +0 -0
  611. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/rules.py +0 -0
  612. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/runs.py +0 -0
  613. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/scope.py +0 -0
  614. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/seen.py +0 -0
  615. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/skills.py +0 -0
  616. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/thinking.py +0 -0
  617. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/tiers.py +0 -0
  618. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/tracing.py +0 -0
  619. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/withhold.py +0 -0
  620. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/workers.py +0 -0
  621. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/ingestion/__init__.py +0 -0
  622. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/ingestion/builder.py +0 -0
  623. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/ingestion/evaluate.py +0 -0
  624. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/ingestion/group.py +0 -0
  625. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/ingestion/layout.py +0 -0
  626. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/ingestion/segment.py +0 -0
  627. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/ingestion/tables.py +0 -0
  628. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/models/__init__.py +0 -0
  629. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/models/model_servers.py +0 -0
  630. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/models/profiles.py +0 -0
  631. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/models/seam.py +0 -0
  632. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/models/tag_structured.py +0 -0
  633. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/models/tracing.py +0 -0
  634. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/models/usage.py +0 -0
  635. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/models/weights.py +0 -0
  636. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/ontology/__init__.py +0 -0
  637. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/ontology/pack_schema.py +0 -0
  638. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/ontology/registry.py +0 -0
  639. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/pack_sdk/__init__.py +0 -0
  640. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/__init__.py +0 -0
  641. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/__init__.py +0 -0
  642. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/capabilities/__init__.py +0 -0
  643. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/capabilities/assertion_extraction.py +0 -0
  644. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/capabilities/claim_extraction.py +0 -0
  645. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/capabilities/compliance_judgment.py +0 -0
  646. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/capabilities/compliance_store.py +0 -0
  647. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/capabilities/requirement_extraction.py +0 -0
  648. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/invokers.py +0 -0
  649. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/mcp/__init__.py +0 -0
  650. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/mcp/compliance_server.py +0 -0
  651. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/ontology/__init__.py +0 -0
  652. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/ontology/compliance_bridge.ttl +0 -0
  653. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/ontology/loader.py +0 -0
  654. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/ontology/packs/ftc_16cfr255.ttl +0 -0
  655. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/pack.py +0 -0
  656. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/schemas/__init__.py +0 -0
  657. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/schemas/compliance.py +0 -0
  658. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/skills/__init__.py +0 -0
  659. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/skills/claim_extraction/SKILL.md +0 -0
  660. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/skills/claim_extraction/__init__.py +0 -0
  661. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/skills/claim_extraction/template.py +0 -0
  662. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/skills/compliance_judgment/SKILL.md +0 -0
  663. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/skills/generic_compliance_judgment/SKILL.md +0 -0
  664. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/skills/requirement_extraction/SKILL.md +0 -0
  665. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/skills/requirement_extraction/__init__.py +0 -0
  666. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/skills/requirement_extraction/template.py +0 -0
  667. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/subgraphs/__init__.py +0 -0
  668. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/subgraphs/compliance_check.py +0 -0
  669. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/subgraphs/compliance_ingestion.py +0 -0
  670. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/subgraphs/requirement_extraction.py +0 -0
  671. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/__init__.py +0 -0
  672. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/capabilities/__init__.py +0 -0
  673. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/capabilities/clause_exception_linking.py +0 -0
  674. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/capabilities/contract_kg_serve.py +0 -0
  675. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/capabilities/contract_kg_store.py +0 -0
  676. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/capabilities/dg_extraction.py +0 -0
  677. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/capabilities/graph_extraction.py +0 -0
  678. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/capabilities/highlight_serve.py +0 -0
  679. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/capabilities/property_boosted_retrieval.py +0 -0
  680. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/capabilities/query_function_classifier.py +0 -0
  681. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/capabilities/query_understanding.py +0 -0
  682. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/corpus/__init__.py +0 -0
  683. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/corpus/cuad.py +0 -0
  684. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/corpus/cuad_ingestion.py +0 -0
  685. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/corpus/edgar.py +0 -0
  686. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/corpus/gcs_ingestion.py +0 -0
  687. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/corpus/selection.py +0 -0
  688. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/mcp/__init__.py +0 -0
  689. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/mcp/intra_document_qa_server.py +0 -0
  690. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/mcp/relational_qa_server.py +0 -0
  691. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/mcp/session_store.py +0 -0
  692. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/mcp/typed_property_retrieval_server.py +0 -0
  693. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/ontology/__init__.py +0 -0
  694. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/ontology/_generated_template_meta.py +0 -0
  695. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/ontology/_generated_vocab.py +0 -0
  696. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/ontology/clause_template.py +0 -0
  697. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/ontology/codegen.py +0 -0
  698. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/ontology/contract_bridge.ttl +0 -0
  699. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/ontology/contract_taxonomy.py +0 -0
  700. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/ontology/derive.py +0 -0
  701. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/ontology/loader.py +0 -0
  702. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/ontology/template_introspect.py +0 -0
  703. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/options.py +0 -0
  704. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/pack.py +0 -0
  705. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/schemas/__init__.py +0 -0
  706. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/schemas/contract_meta.py +0 -0
  707. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/schemas/function.py +0 -0
  708. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/schemas/function_routing.py +0 -0
  709. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/schemas/highlight.py +0 -0
  710. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/schemas/jurisdiction.py +0 -0
  711. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/schemas/ontology.py +0 -0
  712. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/schemas/property.py +0 -0
  713. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/schemas/query_intent.py +0 -0
  714. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/schemas/value_match.py +0 -0
  715. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/skills/__init__.py +0 -0
  716. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/skills/corpus_ingest/SKILL.md +0 -0
  717. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/skills/extraction_semantic_judge/SKILL.md +0 -0
  718. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/skills/extraction_semantic_judge/__init__.py +0 -0
  719. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/skills/guidance/__init__.py +0 -0
  720. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/skills/guidance/chunking.md +0 -0
  721. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/skills/guidance/generation.md +0 -0
  722. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/skills/guidance/relevance.md +0 -0
  723. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/__init__.py +0 -0
  724. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/boundary.py +0 -0
  725. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/clause_function_classifier.py +0 -0
  726. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/clause_kg_extractor.py +0 -0
  727. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/cuad_labels.py +0 -0
  728. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/dim_classifier.py +0 -0
  729. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/dim_fleet.json +0 -0
  730. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/function_classifier.py +0 -0
  731. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/function_families.py +0 -0
  732. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/hybrid_classifier.py +0 -0
  733. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/legalbert_classifier.py +0 -0
  734. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/model_capabilities.py +0 -0
  735. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/new_function_labels.py +0 -0
  736. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/property_extractor.py +0 -0
  737. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/property_grounding.py +0 -0
  738. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/reclassify.py +0 -0
  739. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/residual_candidates.py +0 -0
  740. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/scarce_function_labels.py +0 -0
  741. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/segment.py +0 -0
  742. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/semantic_judge.py +0 -0
  743. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/symbolic_validation.py +0 -0
  744. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/tag_clause_extractor.py +0 -0
  745. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/subgraphs/__init__.py +0 -0
  746. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/subgraphs/async_ingestion.py +0 -0
  747. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/subgraphs/contract_ingestion_pipeline.py +0 -0
  748. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/subgraphs/intra_document_qa.py +0 -0
  749. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/subgraphs/query_constraint_extraction.py +0 -0
  750. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/subgraphs/relational_qa.py +0 -0
  751. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/subgraphs/typed_clause_extraction.py +0 -0
  752. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/subgraphs/typed_property_retrieval.py +0 -0
  753. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/reference_seam.py +0 -0
  754. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/py.typed +0 -0
  755. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/skills/__init__.py +0 -0
  756. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/skills/generation/SKILL.md +0 -0
  757. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/skills/generation/__init__.py +0 -0
  758. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/skills/rlm/SKILL.md +0 -0
  759. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/skills/rlm/__init__.py +0 -0
  760. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/skills/rlm/agent.py +0 -0
  761. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/skills/span_relevance_judgment/SKILL.md +0 -0
  762. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/skills/vision_to_text/SKILL.md +0 -0
  763. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/skills/vision_to_text/__init__.py +0 -0
  764. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/spans/__init__.py +0 -0
  765. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/spans/page_map.py +0 -0
  766. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/store/__init__.py +0 -0
  767. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/store/chunk_text.py +0 -0
  768. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/store/seam.py +0 -0
  769. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/subgraphs/__init__.py +0 -0
  770. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/subgraphs/graph_extraction.py +0 -0
  771. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/subgraphs/observability.py +0 -0
  772. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/subgraphs/scaffold.py +0 -0
  773. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/subgraphs/semantic_chunking.py +0 -0
  774. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/util/__init__.py +0 -0
  775. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/util/concurrent.py +0 -0
  776. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/util/pdfium.py +0 -0
  777. {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/util/spacy_model.py +0 -0
  778. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/__init__.py +0 -0
  779. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/__init__.py +0 -0
  780. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_agent_chat_model.py +0 -0
  781. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_agent_chat_model_live.py +0 -0
  782. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_answers_exports.py +0 -0
  783. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_api_embedder_ps39.py +0 -0
  784. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_bytes_ingest.py +0 -0
  785. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_capability_reexports.py +0 -0
  786. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_decision_swap_doc_example.py +0 -0
  787. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_discover.py +0 -0
  788. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_documents.py +0 -0
  789. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_drop_workspace.py +0 -0
  790. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_drop_workspace_live.py +0 -0
  791. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_e2e.py +0 -0
  792. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_invoke.py +0 -0
  793. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_kg.py +0 -0
  794. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_mcp.py +0 -0
  795. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_metering_tracing_exports.py +0 -0
  796. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_migrate_span_fields.py +0 -0
  797. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_model_role_export.py +0 -0
  798. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_open_workspace_reconfig.py +0 -0
  799. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_options.py +0 -0
  800. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_pack_sdk.py +0 -0
  801. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_pack_store.py +0 -0
  802. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_pdf_page_count.py +0 -0
  803. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_public_gaps_ps38.py +0 -0
  804. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_tracing_helpers_ps32.py +0 -0
  805. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_usage.py +0 -0
  806. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_workspace.py +0 -0
  807. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_workspace_models.py +0 -0
  808. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/arch/domain_vocabulary_baseline.json +0 -0
  809. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/arch/test_api_docs_current.py +0 -0
  810. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/arch/test_doc_references.py +0 -0
  811. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/arch/test_engine_domain_vocabulary.py +0 -0
  812. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/arch/test_import_contracts.py +0 -0
  813. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/arch/test_lock_version.py +0 -0
  814. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/arch/test_packs_use_store_primitives.py +0 -0
  815. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/arch/test_pdfium_door.py +0 -0
  816. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/arch/test_shipped_skills.py +0 -0
  817. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/async_helpers.py +0 -0
  818. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/__init__.py +0 -0
  819. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/_fixtures/rlm_probe_skill/SKILL.md +0 -0
  820. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_answer_generator.py +0 -0
  821. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_answer_generator_async.py +0 -0
  822. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_assertion_extraction.py +0 -0
  823. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_authoring_contract.py +0 -0
  824. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_chunk_read.py +0 -0
  825. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_chunk_write.py +0 -0
  826. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_chunking_prompts_neutral.py +0 -0
  827. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_claim_extraction.py +0 -0
  828. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_clause_exception_linking.py +0 -0
  829. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_compliance_judgment.py +0 -0
  830. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_compliance_store.py +0 -0
  831. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_contract_kg_serve.py +0 -0
  832. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_contract_kg_store.py +0 -0
  833. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_contract_kg_store_reads.py +0 -0
  834. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_contract_taxonomy_and_spans.py +0 -0
  835. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_dg_adapter.py +0 -0
  836. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_dg_async.py +0 -0
  837. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_dg_extraction.py +0 -0
  838. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_dg_model_seam.py +0 -0
  839. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_dg_private.py +0 -0
  840. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_disambiguation.py +0 -0
  841. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_document_scope.py +0 -0
  842. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_embedding.py +0 -0
  843. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_embedding_profiles.py +0 -0
  844. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_entity_resolution.py +0 -0
  845. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_entity_rules_plumbing.py +0 -0
  846. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_fusion.py +0 -0
  847. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_graph_extraction.py +0 -0
  848. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_graph_query.py +0 -0
  849. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_graph_storage.py +0 -0
  850. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_highlight_serve.py +0 -0
  851. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_hybrid_search.py +0 -0
  852. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_jev_decision.py +0 -0
  853. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_manifest_validation.py +0 -0
  854. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_manifests.py +0 -0
  855. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_parse_audit.py +0 -0
  856. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_parsing.py +0 -0
  857. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_parties_extraction.py +0 -0
  858. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_property_boosted_retrieval.py +0 -0
  859. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_query_function_classifier.py +0 -0
  860. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_query_understanding.py +0 -0
  861. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_registry.py +0 -0
  862. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_remote_encoders.py +0 -0
  863. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_repair_partition.py +0 -0
  864. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_requirement_extraction.py +0 -0
  865. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_reranking.py +0 -0
  866. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_retrieval_core.py +0 -0
  867. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_rlm_chunking.py +0 -0
  868. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_rlm_chunking_async.py +0 -0
  869. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_rlm_method.py +0 -0
  870. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_rlm_synthesis.py +0 -0
  871. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_runtime_registry.py +0 -0
  872. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_scan_quality.py +0 -0
  873. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_span_relevance_judgment.py +0 -0
  874. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_span_search.py +0 -0
  875. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_structural_boundary_discoverer.py +0 -0
  876. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_structural_model_fallback.py +0 -0
  877. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_tag_boundary_discoverer.py +0 -0
  878. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_tiered_ocr.py +0 -0
  879. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_vlm_ocr.py +0 -0
  880. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/compliance_fakes.py +0 -0
  881. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/conftest.py +0 -0
  882. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/contracts/__init__.py +0 -0
  883. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/contracts/test_canonical_source_doc_id.py +0 -0
  884. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/contracts/test_chunk_record.py +0 -0
  885. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/contracts/test_compliance.py +0 -0
  886. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/contracts/test_cuad_highlight_contracts.py +0 -0
  887. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/contracts/test_extraction.py +0 -0
  888. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/contracts/test_function.py +0 -0
  889. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/contracts/test_function_routing.py +0 -0
  890. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/contracts/test_identifiers.py +0 -0
  891. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/contracts/test_ingestion_hooks.py +0 -0
  892. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/contracts/test_jurisdiction.py +0 -0
  893. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/contracts/test_ontology.py +0 -0
  894. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/contracts/test_property.py +0 -0
  895. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/contracts/test_provenance.py +0 -0
  896. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/contracts/test_value_match.py +0 -0
  897. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/corpus/__init__.py +0 -0
  898. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/corpus/_ooxml_fixtures.py +0 -0
  899. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/corpus/test_canonicalize.py +0 -0
  900. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/corpus/test_cuad.py +0 -0
  901. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/corpus/test_cuad_ingestion.py +0 -0
  902. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/corpus/test_document_parser.py +0 -0
  903. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/corpus/test_edgar.py +0 -0
  904. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/corpus/test_embedded.py +0 -0
  905. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/corpus/test_gcs_ingestion.py +0 -0
  906. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/corpus/test_http.py +0 -0
  907. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/corpus/test_parse_wire2.py +0 -0
  908. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/corpus/test_selection.py +0 -0
  909. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/eval/test_contractnli_judge.py +0 -0
  910. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/eval/test_cuad_highlight_metrics.py +0 -0
  911. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/eval/test_kg_property_rerank.py +0 -0
  912. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/eval/test_nl_to_type_metrics.py +0 -0
  913. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/eval/test_relational_eval.py +0 -0
  914. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/evals/__init__.py +0 -0
  915. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/evals/test_gold_contracts.py +0 -0
  916. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/evals/test_gold_import.py +0 -0
  917. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/evals/test_langfuse_backend.py +0 -0
  918. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/evals/test_runner.py +0 -0
  919. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/evals/test_scorer_parity.py +0 -0
  920. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/evals/test_scorers_a.py +0 -0
  921. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/evals/test_scorers_b.py +0 -0
  922. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/evals/test_scorers_c.py +0 -0
  923. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/evals/test_scorers_d.py +0 -0
  924. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/fixtures/ingestion/parity.json +0 -0
  925. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/fixtures/ingestion/parity_blank.pdf +0 -0
  926. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/fixtures/ingestion/parity_cover_with_attachment.pdf +0 -0
  927. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/fixtures/ingestion/parity_db_with_a_broken_report.xlsx +0 -0
  928. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/fixtures/ingestion/parity_db_with_reports.xlsx +0 -0
  929. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/fixtures/ingestion/parity_grid.xlsx +0 -0
  930. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/fixtures/ingestion/segmenter_gold.json +0 -0
  931. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/fixtures/ingestion/textile_spec_sheet.md +0 -0
  932. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/fixtures/ingestion/textile_test_report.md +0 -0
  933. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/fixtures/leg_a_silver/README.md +0 -0
  934. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/fixtures/leg_a_silver/evidence_snapshot.json +0 -0
  935. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/fixtures/table-bearing-contract.pdf +0 -0
  936. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/foundation/__init__.py +0 -0
  937. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/foundation/test_arcadedb_hybrid.py +0 -0
  938. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/foundation/test_model_seam_structured.py +0 -0
  939. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/harness/__init__.py +0 -0
  940. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/harness/test_greenfield_conformance.py +0 -0
  941. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/harness/test_harness_accounting.py +0 -0
  942. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/harness/test_harness_engine_wiring.py +0 -0
  943. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/harness/test_harness_genericity.py +0 -0
  944. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/harness/test_harness_live.py +0 -0
  945. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/harness/test_harness_recorder.py +0 -0
  946. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/harness/test_harness_thinking.py +0 -0
  947. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/__init__.py +0 -0
  948. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/test_aevaluate.py +0 -0
  949. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/test_builder.py +0 -0
  950. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/test_chunk_discoverer_hook.py +0 -0
  951. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/test_concurrency_ceiling.py +0 -0
  952. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/test_document_metadata.py +0 -0
  953. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/test_evaluate.py +0 -0
  954. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/test_evaluate_labels.py +0 -0
  955. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/test_graph_live.py +0 -0
  956. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/test_graph_parity.py +0 -0
  957. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/test_layout_segmenter.py +0 -0
  958. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/test_sheet_continuations.py +0 -0
  959. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/test_spreadsheet_content.py +0 -0
  960. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/test_table_rows.py +0 -0
  961. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/test_tuning.py +0 -0
  962. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/test_unit_grouper.py +0 -0
  963. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/test_unit_representative.py +0 -0
  964. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/journey/incidents_domain.py +0 -0
  965. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/journey/incidents_pack.ttl +0 -0
  966. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/journey/test_incidents_journey.py +0 -0
  967. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/journey/test_pack_schema.py +0 -0
  968. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/mcp/__init__.py +0 -0
  969. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/mcp/test_compliance_server.py +0 -0
  970. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/mcp/test_intra_document_qa_server.py +0 -0
  971. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/mcp/test_no_model_supplied_tenant.py +0 -0
  972. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/mcp/test_relational_qa_server.py +0 -0
  973. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/mcp/test_typed_property_retrieval_server.py +0 -0
  974. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/__init__.py +0 -0
  975. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_async_infra.py +0 -0
  976. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_classifier_heads_load_clean.py +0 -0
  977. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_model_servers.py +0 -0
  978. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_models_dir.py +0 -0
  979. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_no_gemma_default.py +0 -0
  980. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_profile_routing.py +0 -0
  981. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_profile_seam.py +0 -0
  982. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_seam_async.py +0 -0
  983. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_seam_deadline_and_cap.py +0 -0
  984. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_seam_event_loops.py +0 -0
  985. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_seam_retry.py +0 -0
  986. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_seam_stream.py +0 -0
  987. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_serving_seam.py +0 -0
  988. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_serving_wiring.py +0 -0
  989. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_tag_structured.py +0 -0
  990. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_tag_structured_async.py +0 -0
  991. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_tracing.py +0 -0
  992. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_usage.py +0 -0
  993. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ontology/__init__.py +0 -0
  994. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ontology/test_clause_template.py +0 -0
  995. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ontology/test_compliance_ontology_authoritative.py +0 -0
  996. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ontology/test_derivation.py +0 -0
  997. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ontology/test_entity_taxonomy.py +0 -0
  998. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ontology/test_generated_template_meta_in_sync.py +0 -0
  999. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ontology/test_generated_vocab_in_sync.py +0 -0
  1000. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ontology/test_template_captured_in_ttl.py +0 -0
  1001. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ontology/test_ttl_is_source_of_truth.py +0 -0
  1002. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/reference/test_compliance_reference.py +0 -0
  1003. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/reference/test_contract_seam.py +0 -0
  1004. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/scripts/test_eval_chunking_ab.py +0 -0
  1005. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/scripts/test_eval_classifier_ab.py +0 -0
  1006. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/scripts/test_fetch_reference_models.py +0 -0
  1007. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/scripts/test_generation_robustness_errors.py +0 -0
  1008. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/skills/__init__.py +0 -0
  1009. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/skills/test_creating_evals_skill_example.py +0 -0
  1010. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/skills/test_ingestion_skill_example.py +0 -0
  1011. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_boundary.py +0 -0
  1012. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_classifier_property_extractor.py +0 -0
  1013. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_clause_classifier_tags_0005.py +0 -0
  1014. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_clause_function_classifier.py +0 -0
  1015. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_clause_function_classifier_async.py +0 -0
  1016. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_clause_kg_extractor.py +0 -0
  1017. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_clause_kg_extractor_async.py +0 -0
  1018. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_dim_classifier.py +0 -0
  1019. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_dim_fleet_live.py +0 -0
  1020. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_function_classifier.py +0 -0
  1021. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_hybrid_classifier.py +0 -0
  1022. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_hybrid_property_extractor.py +0 -0
  1023. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_legalbert_classifier.py +0 -0
  1024. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_model_capabilities.py +0 -0
  1025. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_new_function_labels.py +0 -0
  1026. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_page_map.py +0 -0
  1027. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_property_extractor.py +0 -0
  1028. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_property_grounding.py +0 -0
  1029. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_reclassify.py +0 -0
  1030. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_residual_decision.py +0 -0
  1031. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_scarce_function_labels.py +0 -0
  1032. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_segment.py +0 -0
  1033. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_segmentation_vocab.py +0 -0
  1034. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_semantic_judge.py +0 -0
  1035. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_setfit_clause_adapter.py +0 -0
  1036. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_setfit_probabilities.py +0 -0
  1037. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_span_offsets.py +0 -0
  1038. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_stage_labels_0005.py +0 -0
  1039. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_symbolic_validation.py +0 -0
  1040. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_tag_clause_extractor.py +0 -0
  1041. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/__init__.py +0 -0
  1042. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_affiliation_backfill.py +0 -0
  1043. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_arcadedb_clause_kg.py +0 -0
  1044. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_arcadedb_contract.py +0 -0
  1045. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_arcadedb_property.py +0 -0
  1046. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_arcadedb_requirement_sources.py +0 -0
  1047. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_arcadedb_schema.py +0 -0
  1048. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_arcadedb_span.py +0 -0
  1049. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_chunk_text.py +0 -0
  1050. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_contract_kg_store_live.py +0 -0
  1051. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_document_metadata_live.py +0 -0
  1052. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_document_scope.py +0 -0
  1053. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_engine_domain_neutral.py +0 -0
  1054. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_entities_by_name.py +0 -0
  1055. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_kg_edges.py +0 -0
  1056. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_kg_mutations.py +0 -0
  1057. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_kg_range.py +0 -0
  1058. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_kg_read.py +0 -0
  1059. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_kg_write.py +0 -0
  1060. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_neutral_schema.py +0 -0
  1061. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_store_create_flag.py +0 -0
  1062. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_write_graph_idempotent.py +0 -0
  1063. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/__init__.py +0 -0
  1064. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_async_ingestion.py +0 -0
  1065. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_chunk7_structure_carry.py +0 -0
  1066. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_clause_results.py +0 -0
  1067. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_compliance_check.py +0 -0
  1068. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_compliance_ingestion.py +0 -0
  1069. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_contract_ingestion_pipeline.py +0 -0
  1070. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_contract_ingestion_pipeline_async.py +0 -0
  1071. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_contract_ingestion_pipeline_graph_async.py +0 -0
  1072. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_graph_extraction.py +0 -0
  1073. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_ingest_knobs.py +0 -0
  1074. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_ingest_segment_classify.py +0 -0
  1075. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_intra_document_qa.py +0 -0
  1076. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_observability.py +0 -0
  1077. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_partial_entry_contract.py +0 -0
  1078. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_query_constraint_extraction.py +0 -0
  1079. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_relational_qa.py +0 -0
  1080. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_requirement_extraction.py +0 -0
  1081. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_scaffold.py +0 -0
  1082. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_semantic_chunking.py +0 -0
  1083. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_typed_clause_extraction.py +0 -0
  1084. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_typed_property_retrieval.py +0 -0
  1085. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/test_backfill_clause_span_id.py +0 -0
  1086. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/test_dg_model_ab.py +0 -0
  1087. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/test_populate_clause_kg.py +0 -0
  1088. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/test_populate_entity_graph.py +0 -0
  1089. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/util/__init__.py +0 -0
  1090. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/util/test_concurrent.py +0 -0
  1091. {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/util/test_spacy_model.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.14.1"
3
+ }
@@ -4,6 +4,14 @@ 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.14.1](https://github.com/fzaidi-dai/RAG_Wright/compare/0.14.0...0.14.1) (2026-10-28)
8
+
9
+
10
+ ### Bug Fixes
11
+
12
+ * **PS-49:** a retried ArcadeDB write conflict no longer prints as an error ([32f649f](https://github.com/fzaidi-dai/RAG_Wright/commit/32f649f94ac1b864ee5b22460d3ef401dabbbf6a))
13
+ * **PS-50:** ensure_pack_schema declares a property a pack gains on an existing type ([c27cf40](https://github.com/fzaidi-dai/RAG_Wright/commit/c27cf40dba2512f809ba1ff06affc58d7f25f45f))
14
+
7
15
  ## [0.14.0](https://github.com/fzaidi-dai/RAG_Wright/compare/0.13.0...0.14.0) (2026-10-17)
8
16
 
9
17
 
@@ -55,11 +55,11 @@ 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-17): the LangGraph ingestion workstream is COMPLETE, unreleased** (LGI-1..5,
58
+ > **CURRENT STATE (2026-10-17): the LangGraph ingestion workstream is RELEASED as `rag-wright` 0.14.0** (PR #16; LGI-1..5,
59
59
  > `docs/specs/langgraph-ingestion/plan.md`, ADR-0124 amended): `build_ingestion` is a LangGraph graph
60
60
  > (`IngestionPipeline.graph`, per-document `document_graph`), `aingest(..., checkpointer=, run_id=)` resumes an
61
61
  > interrupted run (built-in state, strict msgpack safe), `IngestionReport.from_dict`; live old-vs-new parity identical;
62
- > guide `rulewright-migration-0.14.0.md` (next release 0.14.0). Next: PS-48 (harness tests onto the fabric fixture,
62
+ > guide `rulewright-migration-0.14.0.md`. Next: PS-48 (harness tests onto the fabric fixture,
63
63
  > proposed, not started), EV-7, PS-30, PS-33. Before it,
64
64
  > **(2026-10-15): `rag-wright` 0.13.0 is RELEASED** (PR #15): PS-35 `migrate_span_fields` on the API,
65
65
  > PS-44 `Range` KG filters (TexWright ER-1), PS-45 `span_search` (G24), PS-46 blank PDF pages never sent to the VLM
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: rag-wright
3
- Version: 0.14.0
3
+ Version: 0.14.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
@@ -18,7 +18,12 @@ The store creates the vertex and edge types your pack declares. The generic read
18
18
  `rag_wright.ontology.pack_schema.load_kg_schema(path)`, called by the store's `ensure_pack_schema(ttl)`, which
19
19
  `ensure_schema()` calls only when a pack is configured (`EngineConfig.pack`). It creates the `eng:KgVertexType`
20
20
  vertex types with their properties and unique indexes, and the `eng:KgStructuralEdge` edge types; nothing else in
21
- the pack is read by the engine. A minimal, domain-neutral example:
21
+ the pack is read by the engine. Each is created when absent, so a pack that later gains a property gets it declared
22
+ on the existing database the next time a process opens the workspace (`open_workspace` runs `ensure_schema`); no
23
+ fresh database is needed. Nothing is altered or dropped: a property whose declared type changed is logged as a
24
+ warning and left as it is (a migration is yours to run), and a numeric property declared over values stored before it
25
+ is logged too, since those values are not converted until a re-ingest rewrites them (a value that does not
26
+ convert, `'195 GSM'` for a `DOUBLE`, fails its write and dead-letters that document). A minimal, domain-neutral example:
22
27
 
23
28
  ```turtle
24
29
  @prefix eng: <https://ragwright.local/ontology/engine#> .
@@ -120,3 +120,5 @@ in two at the PS-6 gate so the store rewrite is its own visible task. One task,
120
120
  | PS-45 | Engine gap G24: a public hybrid span search. `span_search(ws, query, *, k, documents, tag, dense_floor)` and `aspan_search` on `rag_wright.api`, over the span index ingestion fills: the store-side RRF fusion of the dense and sparse legs plus the dense floor (ADR-0104), returning citation-ready `SpanHit`s (text, document, offsets, pages, box, `found_by`); no reranking (the caller composes `BGEReranker`). G24 closed; the guide, the authoring page and the specifying and consumer skills name it | hermetic tests of the composition and the public call; a live test on real ArcadeDB and BGE-M3 (found by meaning, scoped, cited) | done 2026-10-15 |
121
121
  | PS-46 | TexWright's 2026-10-15 report: a blank page escalated to the VLM came back as an invented document the parse kept. The scan-quality gate gains `ScanQuality.BLANK` (no OCR text and no ink: `ink_frac`, pixels < 200, at most 1e-4; the heavy faint scan measures ~0.08) and `TieredOCRParser` never escalates or flags a blank page, reporting it in `TieredOCRReport.blank_pages`. The post-check stays a flag, not a filter (a verbatim transcription of a page with few common English words fails it). ADR-0062 amended | hermetic gate and tiered tests (a real 2-page PDF: the VLM gets page 1 only); a live docling parse reports the blank page; the heavy fixture still escalates all 10 pages | done 2026-10-15 |
122
122
  | PS-47 | The audit for PS-46: a parse cached before the fix keeps a blank page's invented text (the cache is keyed on content). `find_blank_pages_with_text(cache_dir, sources=(), *, progress)` and `BlankPageText` on `rag_wright.api` list every page blank in the source PDF (no ink, no text layer) with text in its cached parse, and the cache files to delete before re-ingesting. Searches the cache recursively (`aingest` keeps parses in `parsed/`); embedded files are audited from the cache's own copies; top-level sources are passed as paths or `(name, bytes)` | hermetic tests; a live `build_ingestion` of a workbook embedding a blank-tail PDF: clean, then a planted page found with nothing passed, then clean after delete and re-ingest | done 2026-10-15 |
123
+ | PS-49 | TexWright's request (`docs/engine-requests/2026-10-17-concurrent-modification-printed-during-a-clean-ingest.md`, their repo): a clean keeper ingest printed `ArcadeDB Error Response ... ConcurrentModificationException` lines that read as failures. The retry is the engine's (`_retry_on_conflict`, every store write, since ING-5); the line is the client library's own ERROR log, printed before it raises. A log filter drops that line while the retry handles the call; the retry logs INFO `retried N times; the write landed`, or ERROR `gave up after 10 attempts` and raises | three hermetic tests (red before, green after); live 8-thread concurrent writes: 240/240 landed, 130 error lines before the fix, 0 after (62 INFO retried lines) | done 2026-10-17 |
124
+ | PS-50 | TexWright's request (`docs/engine-requests/2026-10-28-ensure_pack_schema-does-not-declare-a-new-property-on-an-existing-type.md`, their repo): `ensure_pack_schema` declared a type's properties only when it created the type. It now creates every declared property the type lacks, on existing types too; a property whose declared type differs is logged and left as it is; a property the pack dropped stays; a non-STRING property declared over values stored before it is logged (they are not converted; a re-ingest rewrites them, and a value that does not convert fails its write) | a live test (red before, green after: added, mismatch reported, nothing dropped, the unconverted-values warning, a second run issues no DDL); live probe of a re-ingest over the new DOUBLE | done 2026-10-28 |
@@ -1,6 +1,6 @@
1
1
  # RuleWright: moving to rag-wright 0.14
2
2
 
3
- What 0.14.0 changes for RuleWright (the LangGraph ingestion workstream, `docs/specs/langgraph-ingestion/plan.md`,
3
+ What 0.14.0 changes for RuleWright (released 2026-10-17: PyPI and GitHub release `0.14.0`, PR #16; the LangGraph ingestion workstream, `docs/specs/langgraph-ingestion/plan.md`,
4
4
  LGI-1 to LGI-5; ADR-0124 amended). Do the 0.13 guide first. Nothing here is edited from the engine repo, and nothing
5
5
  breaks an existing call.
6
6
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "rag-wright"
3
- version = "0.14.0"
3
+ version = "0.14.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"
@@ -16,6 +16,7 @@ introspection: create only what is absent.
16
16
 
17
17
  from __future__ import annotations
18
18
 
19
+ import contextvars
19
20
  import json
20
21
  import logging
21
22
  import os
@@ -69,6 +70,18 @@ _SPAN_SPARSE_INDEX = f"{SPAN_TYPE}[sparse_indices,sparse_weights]"
69
70
  # retry; the failed command or transaction is rolled back whole, so a bounded retry with jittered backoff is safe
70
71
  # (found by the ING-5 doc audit: unretried, concurrent ingestion silently lost spans and records).
71
72
  _CONFLICT_RETRIES = 10
73
+ # PS-49 (TexWright, 2026-10-17): the client logs every error response at ERROR before raising, so a conflict the retry
74
+ # absorbs printed exactly like a failure. While a retry is handling the call, that line is dropped; the retry says
75
+ # itself what happened (INFO when the write landed after retrying, ERROR when it gave up).
76
+ _RETRYING = contextvars.ContextVar("arcadedb_retrying", default=False)
77
+
78
+
79
+ class _RetriedConflictFilter(logging.Filter):
80
+ def filter(self, record: logging.LogRecord) -> bool:
81
+ return not (_RETRYING.get() and _is_retryable_conflict(Exception(record.getMessage())))
82
+
83
+
84
+ logging.getLogger("arcadedb_python.api.sync").addFilter(_RetriedConflictFilter())
72
85
 
73
86
 
74
87
  def _is_retryable_conflict(exc: BaseException) -> bool:
@@ -77,13 +90,24 @@ def _is_retryable_conflict(exc: BaseException) -> bool:
77
90
 
78
91
 
79
92
  def _retry_on_conflict(fn, *args, **kwargs):
80
- for attempt in range(_CONFLICT_RETRIES):
81
- try:
82
- return fn(*args, **kwargs)
83
- except Exception as exc: # noqa: BLE001 - only the retryable conflict is retried; anything else re-raises
84
- if attempt == _CONFLICT_RETRIES - 1 or not _is_retryable_conflict(exc):
85
- raise
86
- time.sleep(min(0.5, 0.01 * 2 ** attempt) + random.uniform(0, 0.01))
93
+ token = _RETRYING.set(True)
94
+ try:
95
+ for attempt in range(_CONFLICT_RETRIES):
96
+ try:
97
+ result = fn(*args, **kwargs)
98
+ except Exception as exc: # noqa: BLE001 - only the retryable conflict is retried; anything else re-raises
99
+ if not _is_retryable_conflict(exc):
100
+ raise
101
+ if attempt == _CONFLICT_RETRIES - 1:
102
+ _log.error("ArcadeDB write conflict: gave up after %d attempts: %s", _CONFLICT_RETRIES, exc)
103
+ raise
104
+ time.sleep(min(0.5, 0.01 * 2 ** attempt) + random.uniform(0, 0.01))
105
+ else:
106
+ if attempt:
107
+ _log.info("ArcadeDB write conflict retried %d times; the write landed", attempt)
108
+ return result
109
+ finally:
110
+ _RETRYING.reset(token)
87
111
 
88
112
 
89
113
  def _sql_str(value: str) -> str:
@@ -391,18 +415,33 @@ class ArcadeDBStore:
391
415
 
392
416
  def ensure_pack_schema(self, pack_ttl: str) -> None:
393
417
  """ING-8a/8b (ADR-0067 P5b): create a domain PACK's declared schema from its own `.ttl`, idempotently -- the
394
- vertex types + their unique id indexes and the structural edges (`ontology.pack_schema.load_kg_schema`).
395
- Called by `ensure_schema` for a configured pack, and by a pack on use (the reference contract pack does,
396
- then adds its own typed property edges via `ensure_edge_types`)."""
418
+ vertex types, their declared properties, their unique id indexes and the structural edges
419
+ (`ontology.pack_schema.load_kg_schema`); each is created when absent, so a pack that gains a type, a property,
420
+ an index or an edge gets it on a database that already exists (PS-50). Nothing is altered or dropped: a
421
+ property whose declared type differs from the pack's is logged as a warning and left as it is, a property the
422
+ pack no longer declares stays, and a non-STRING property declared over values stored before it is logged
423
+ (those values are not converted; a re-ingest rewrites them, and fails the write of one that does not convert). Called by `ensure_schema` for a configured pack,
424
+ and by a pack on use (the reference contract pack does, then adds its own typed property edges via
425
+ `ensure_edge_types`)."""
397
426
  vertex_types, structural_edges = load_kg_schema(pack_ttl)
398
427
  self._ensured_packs = [*getattr(self, "_ensured_packs", []), pack_ttl]
399
428
  self._prop_types_cache = None # re-derive the property encodings with this pack included
400
429
  types = self.type_names()
401
430
  for vt in vertex_types:
431
+ existing: dict[str, str] = {}
402
432
  if vt.name not in types:
403
433
  self._command(f"CREATE VERTEX TYPE {vt.name}")
404
- for pname, ptype in vt.properties:
434
+ else:
435
+ existing = self._declared_property_types(vt.name)
436
+ for pname, ptype in vt.properties:
437
+ if pname not in existing:
405
438
  self._command(f"CREATE PROPERTY {vt.name}.{pname} {ptype}")
439
+ if vt.name in types and ptype != "STRING":
440
+ self._warn_unconverted_values(vt.name, pname, ptype)
441
+ elif existing[pname] != ptype:
442
+ _log.warning("%s.%s is declared %s in the database but %s by the pack %s; left as it is (changing "
443
+ "a declared type over stored values is a data migration)",
444
+ vt.name, pname, existing[pname], ptype, pack_ttl)
406
445
  self.ensure_edge_types(sorted(structural_edges), types=types)
407
446
  indexes = self.index_names()
408
447
  for vt in vertex_types:
@@ -412,6 +451,19 @@ class ArcadeDBStore:
412
451
  def type_names(self) -> set[str]:
413
452
  return {row["name"] for row in self._query("SELECT name FROM schema:types")}
414
453
 
454
+ def _declared_property_types(self, type_name: str) -> dict[str, str]:
455
+ for row in self._query("SELECT name, properties FROM schema:types"):
456
+ if row.get("name") == type_name:
457
+ return {prop["name"]: prop.get("type") for prop in row.get("properties", [])}
458
+ return {}
459
+
460
+ def _warn_unconverted_values(self, type_name: str, pname: str, ptype: str) -> None:
461
+ n = self._query(f"SELECT count(*) AS n FROM {type_name} WHERE {pname} IS NOT NULL")[0]["n"]
462
+ if n:
463
+ _log.warning("%s.%s is now declared %s; %d existing record(s) already held a value, which is not "
464
+ "converted (a re-ingest rewrites them as %s; a value that is not one fails its write)",
465
+ type_name, pname, ptype, n, ptype)
466
+
415
467
  def property_names(self, type_name: str) -> set[str]:
416
468
  for row in self._query("SELECT name, properties FROM schema:types"):
417
469
  if row.get("name") == type_name:
@@ -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-17, NEWEST): the LangGraph ingestion workstream is COMPLETE, unreleased**
6
+ > **⇒ RESUME / NEXT UP (2026-10-17, NEWEST): the LangGraph ingestion workstream is RELEASED as `rag-wright` 0.14.0** (PR #16)
7
7
  > (`docs/specs/langgraph-ingestion/plan.md`, LGI-1..5; ADR-0124 amended; RuleWright guide
8
- > `docs/specs/public-surface/rulewright-migration-0.14.0.md`). Next: PS-48 (harness behaviour tests onto the fabric
8
+ > `docs/specs/public-surface/rulewright-migration-0.14.0.md`). PS-49 done 2026-10-17 (a retried ArcadeDB write conflict no
9
+ > longer prints as an error; TexWright's request) and PS-50 done 2026-10-28 (`ensure_pack_schema` declares a property a pack gains on an
10
+ > existing type; TexWright's request); both unreleased, land as 0.14.1. Next: PS-48 (harness behaviour tests onto the fabric
9
11
  > fixture; proposed with sub-tasks PS-48a..g, awaiting go-ahead), EV-7, PS-30, PS-33. Before it,
10
12
  > **(2026-10-14): PS-32 done, the agent harness is `rag_wright.harness`** (third public
11
13
  > tier, ADR-0139; with PS-39); RELEASED as `rag-wright` 0.10.0 (PyPI + GitHub release, PR #12); RuleWright's guide `docs/specs/public-surface/rulewright-migration-0.10.0.md`.
@@ -0,0 +1,108 @@
1
+ """ING-5 (found by the doc audit's live run): ArcadeDB answers concurrent writes to the same bucket with a
2
+ `ConcurrentModificationException` ("Please retry the operation"); the store must retry them, or concurrent ingestion
3
+ (`IngestionTuning.document_concurrency`, default 2) silently loses spans and records. A failed command or transaction
4
+ is rolled back whole, so the retry is safe."""
5
+ from __future__ import annotations
6
+
7
+ import concurrent.futures as cf
8
+
9
+ import pytest
10
+
11
+ from rag_wright.contracts.chunk import BGE_M3_DENSE_DIM
12
+ from rag_wright.contracts.span import SpanRecord
13
+ from rag_wright.store.arcadedb import ArcadeDBStore, _is_retryable_conflict
14
+ from rag_wright.store.seam import KgNode
15
+
16
+ _DB = "ragwright_test_concurrent_writes"
17
+
18
+
19
+ def test_only_a_concurrent_modification_is_retried():
20
+ assert _is_retryable_conflict(Exception(
21
+ "Cannot execute command: Concurrent modification on page PageId(db/9/0) in file 'Span_0.9.65536.v0.bucket' "
22
+ "(current v.1 <> database v.2). Please retry the operation (threadId=1)"))
23
+ assert not _is_retryable_conflict(Exception("Type with name 'Clause' was not found"))
24
+
25
+
26
+ @pytest.mark.store
27
+ def test_concurrent_span_and_record_writes_all_land():
28
+ s = ArcadeDBStore.from_env(database=_DB, reset=True)
29
+ try:
30
+ s.ensure_schema()
31
+ s._command("CREATE VERTEX TYPE Rec")
32
+ s._command("CREATE PROPERTY Rec.k STRING")
33
+ s._command("CREATE INDEX ON Rec (k) UNIQUE")
34
+
35
+ def span(i):
36
+ s.upsert_span(SpanRecord(span_id=f"d{i % 2}:0:h#{i}", parent_chunk_id=f"d{i % 2}:0:h", span_index=i,
37
+ text=f"t{i}", dense_vector=[0.01] * BGE_M3_DENSE_DIM, sparse_vector={i: 1.0},
38
+ document_id=f"d{i % 2}"))
39
+
40
+ def rec(i):
41
+ s.kg_write([KgNode("Rec", "k", {"k": f"r{i}"})])
42
+
43
+ with cf.ThreadPoolExecutor(8) as ex:
44
+ list(ex.map(span, range(120)))
45
+ list(ex.map(rec, range(120)))
46
+ assert s._query("SELECT count(*) AS n FROM Span")[0]["n"] == 120
47
+ assert s._query("SELECT count(*) AS n FROM Rec")[0]["n"] == 120
48
+ finally:
49
+ s.drop()
50
+ s.close()
51
+
52
+
53
+ _CONFLICT = ("Cannot execute command: Concurrent modification on page PageId(db/9/680) in file 'Span_0.9.65536.v0.bucket' "
54
+ "(current v.113 <> database v.114). Please retry the operation (threadId=65)")
55
+
56
+
57
+ def _flaky(failures: int):
58
+ """A write that fails like the ArcadeDB client does: it logs the error response, then raises."""
59
+ import logging
60
+
61
+ client_log = logging.getLogger("arcadedb_python.api.sync")
62
+ calls = []
63
+
64
+ def write():
65
+ calls.append(1)
66
+ if len(calls) <= failures:
67
+ client_log.error("ArcadeDB Error Response: {'detail': %r, 'exception': "
68
+ "'com.arcadedb.exception.ConcurrentModificationException'}", _CONFLICT)
69
+ raise Exception(_CONFLICT)
70
+ return "ok"
71
+ return write, calls
72
+
73
+
74
+ def test_a_retried_conflict_prints_no_error_and_says_it_was_retried(caplog, monkeypatch):
75
+ # PS-49 (TexWright's 2026-10-17 request): a conflict the retry absorbs must not read like a failure.
76
+ from rag_wright.store import arcadedb
77
+
78
+ monkeypatch.setattr(arcadedb.time, "sleep", lambda _s: None)
79
+ write, calls = _flaky(failures=2)
80
+ with caplog.at_level("INFO"):
81
+ assert arcadedb._retry_on_conflict(write) == "ok"
82
+ assert len(calls) == 3
83
+ assert not [r for r in caplog.records if r.levelname == "ERROR"]
84
+ retried = [r.getMessage() for r in caplog.records if r.name == arcadedb.__name__]
85
+ assert len(retried) == 1 and "retried 2 times" in retried[0] and "landed" in retried[0]
86
+
87
+
88
+ def test_a_conflict_that_outlasts_the_retries_is_raised_and_logged(caplog, monkeypatch):
89
+ from rag_wright.store import arcadedb
90
+
91
+ monkeypatch.setattr(arcadedb.time, "sleep", lambda _s: None)
92
+ write, calls = _flaky(failures=arcadedb._CONFLICT_RETRIES)
93
+ with caplog.at_level("INFO"), pytest.raises(Exception, match="Concurrent modification"):
94
+ arcadedb._retry_on_conflict(write)
95
+ assert len(calls) == arcadedb._CONFLICT_RETRIES
96
+ errors = [r for r in caplog.records if r.levelname == "ERROR"]
97
+ assert len(errors) == 1 and errors[0].name == arcadedb.__name__ and "gave up" in errors[0].getMessage()
98
+
99
+
100
+ def test_an_error_outside_a_retry_still_prints():
101
+ # The filter hides only conflicts the retry is handling; any other client error response still reaches the log.
102
+ import logging
103
+
104
+ from rag_wright.store import arcadedb # noqa: F401 - installs the filter
105
+
106
+ record = logging.LogRecord("arcadedb_python.api.sync", logging.ERROR, __file__, 0,
107
+ "ArcadeDB Error Response: %s", (_CONFLICT,), None)
108
+ assert all(f.filter(record) for f in logging.getLogger("arcadedb_python.api.sync").filters)
@@ -0,0 +1,54 @@
1
+ """PS-50 (TexWright's 2026-10-28 request): `ensure_pack_schema` reconciles PROPERTIES the way it reconciles types,
2
+ edge types and unique indexes: a property a pack gains is declared on a type the database already holds. A property
3
+ whose declared type moved is reported, never altered; a property the pack stopped declaring is never dropped."""
4
+ from __future__ import annotations
5
+
6
+ import pytest
7
+
8
+ from rag_wright.store.arcadedb import ArcadeDBStore
9
+
10
+ _DB = "ragwright_test_pack_schema_properties"
11
+
12
+
13
+ def _pack(tmp_path, name, *props):
14
+ path = tmp_path / f"{name}.ttl"
15
+ declared = ", ".join(f'"{p}"' for p in props)
16
+ path.write_text("@prefix eng: <https://ragwright.local/ontology/engine#> .\n"
17
+ "@prefix t: <https://example.test/t#> .\n"
18
+ f't:RecNode a eng:KgVertexType ; eng:vertexName "Rec" ; eng:kgProperty {declared} ;\n'
19
+ ' eng:uniqueIndexOn "rec_id" .\n')
20
+ return str(path)
21
+
22
+
23
+ def _declared(store, type_name):
24
+ return {p["name"]: p["type"] for r in store._query("SELECT name, properties FROM schema:types")
25
+ if r["name"] == type_name for p in r.get("properties", [])}
26
+
27
+
28
+ @pytest.mark.store
29
+ def test_a_property_a_pack_gains_is_declared_on_an_existing_type(tmp_path, caplog):
30
+ s = ArcadeDBStore.from_env(database=_DB, reset=True)
31
+ try:
32
+ s.ensure_pack_schema(_pack(tmp_path, "v1", "rec_id:STRING", "name:STRING", "dropped:STRING"))
33
+ s._command("INSERT INTO Rec SET rec_id = 'r1', name = 'a', weight = '195 GSM'") # a re-ingest stored it early
34
+
35
+ v2 = _pack(tmp_path, "v2", "rec_id:STRING", "name:INTEGER", "label:STRING", "weight:DOUBLE")
36
+ with caplog.at_level("WARNING", logger="rag_wright.store.arcadedb"):
37
+ s.ensure_pack_schema(v2)
38
+ assert _declared(s, "Rec") == {"rec_id": "STRING", "name": "STRING", "dropped": "STRING",
39
+ "label": "STRING", "weight": "DOUBLE"} # added; never retyped or dropped
40
+ warned = " ".join(r.getMessage() for r in caplog.records)
41
+ assert "Rec.name" in warned and "STRING" in warned and "INTEGER" in warned # the moved type is reported
42
+ assert "Rec.weight" in warned and "1 existing" in warned # values stored before the declaration: unconverted
43
+ assert "Rec.label" not in warned # a new STRING over no values needs no word
44
+
45
+ caplog.clear()
46
+ cmds = []
47
+ run = s._command
48
+ s._command = lambda sql: (cmds.append(sql), run(sql))[1]
49
+ with caplog.at_level("WARNING", logger="rag_wright.store.arcadedb"):
50
+ s.ensure_pack_schema(v2)
51
+ assert cmds == [] # idempotent: nothing left to declare
52
+ finally:
53
+ s.drop()
54
+ s.close()
@@ -3534,7 +3534,7 @@ wheels = [
3534
3534
 
3535
3535
  [[package]]
3536
3536
  name = "rag-wright"
3537
- version = "0.14.0"
3537
+ version = "0.14.1"
3538
3538
  source = { editable = "." }
3539
3539
  dependencies = [
3540
3540
  { name = "arcadedb-python" },
@@ -1,3 +0,0 @@
1
- {
2
- ".": "0.14.0"
3
- }
@@ -1,50 +0,0 @@
1
- """ING-5 (found by the doc audit's live run): ArcadeDB answers concurrent writes to the same bucket with a
2
- `ConcurrentModificationException` ("Please retry the operation"); the store must retry them, or concurrent ingestion
3
- (`IngestionTuning.document_concurrency`, default 2) silently loses spans and records. A failed command or transaction
4
- is rolled back whole, so the retry is safe."""
5
- from __future__ import annotations
6
-
7
- import concurrent.futures as cf
8
-
9
- import pytest
10
-
11
- from rag_wright.contracts.chunk import BGE_M3_DENSE_DIM
12
- from rag_wright.contracts.span import SpanRecord
13
- from rag_wright.store.arcadedb import ArcadeDBStore, _is_retryable_conflict
14
- from rag_wright.store.seam import KgNode
15
-
16
- _DB = "ragwright_test_concurrent_writes"
17
-
18
-
19
- def test_only_a_concurrent_modification_is_retried():
20
- assert _is_retryable_conflict(Exception(
21
- "Cannot execute command: Concurrent modification on page PageId(db/9/0) in file 'Span_0.9.65536.v0.bucket' "
22
- "(current v.1 <> database v.2). Please retry the operation (threadId=1)"))
23
- assert not _is_retryable_conflict(Exception("Type with name 'Clause' was not found"))
24
-
25
-
26
- @pytest.mark.store
27
- def test_concurrent_span_and_record_writes_all_land():
28
- s = ArcadeDBStore.from_env(database=_DB, reset=True)
29
- try:
30
- s.ensure_schema()
31
- s._command("CREATE VERTEX TYPE Rec")
32
- s._command("CREATE PROPERTY Rec.k STRING")
33
- s._command("CREATE INDEX ON Rec (k) UNIQUE")
34
-
35
- def span(i):
36
- s.upsert_span(SpanRecord(span_id=f"d{i % 2}:0:h#{i}", parent_chunk_id=f"d{i % 2}:0:h", span_index=i,
37
- text=f"t{i}", dense_vector=[0.01] * BGE_M3_DENSE_DIM, sparse_vector={i: 1.0},
38
- document_id=f"d{i % 2}"))
39
-
40
- def rec(i):
41
- s.kg_write([KgNode("Rec", "k", {"k": f"r{i}"})])
42
-
43
- with cf.ThreadPoolExecutor(8) as ex:
44
- list(ex.map(span, range(120)))
45
- list(ex.map(rec, range(120)))
46
- assert s._query("SELECT count(*) AS n FROM Span")[0]["n"] == 120
47
- assert s._query("SELECT count(*) AS n FROM Rec")[0]["n"] == 120
48
- finally:
49
- s.drop()
50
- s.close()
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes