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.
- rag_wright-0.14.1/.release-please-manifest.json +3 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/CHANGELOG.md +8 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/CLAUDE.md +2 -2
- {rag_wright-0.14.0 → rag_wright-0.14.1}/PKG-INFO +1 -1
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/domain-adaptation/ontology-authoring.md +6 -1
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/public-surface/plan.md +2 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/public-surface/rulewright-migration-0.14.0.md +1 -1
- {rag_wright-0.14.0 → rag_wright-0.14.1}/pyproject.toml +1 -1
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/store/arcadedb.py +63 -11
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tasks.md +4 -2
- rag_wright-0.14.1/tests/store/test_concurrent_writes.py +108 -0
- rag_wright-0.14.1/tests/store/test_pack_schema_properties.py +54 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/uv.lock +1 -1
- rag_wright-0.14.0/.release-please-manifest.json +0 -3
- rag_wright-0.14.0/tests/store/test_concurrent_writes.py +0 -50
- {rag_wright-0.14.0 → rag_wright-0.14.1}/.claude/settings.json +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/.claude/skills/authoring-a-capability/SKILL.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/.claude/skills/building-a-product-backend/SKILL.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/.claude/skills/building-a-product-frontend/SKILL.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/.claude/skills/building-an-agent-harness/SKILL.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/.claude/skills/building-an-ingestion-capability/SKILL.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/.claude/skills/classifier-opportunity-analysis/SKILL.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/.claude/skills/creating-evals/SKILL.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/.claude/skills/laya/SKILL.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/.claude/skills/qwen-vllm-modal/SKILL.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/.claude/skills/qwen-vllm-modal/scripts/modal_qwen3_vllm_server.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/.claude/skills/qwen-vllm-modal/scripts/rw_gate.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/.claude/skills/setfit/SKILL.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/.claude/skills/specifying-a-product-on-the-engine/SKILL.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/.claude/skills/using-the-rag-wright-engine/SKILL.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/.env.example +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/.github/workflows/publish.yml +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/.github/workflows/release-please.yml +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/.gitignore +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/LICENSE +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/README.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/SPEC.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/conftest.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/ARCHITECTURE_OVERVIEW.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/ArcadeDB_Local.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/OBSERVABILITY.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0001-stack-and-library-choices.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0002-validation-corpus-cuad-edgar.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0003-ard-registration-and-capability-kinds.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0004-entity-disambiguation.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0005-relational-golden-set.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0006-model-profile.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0007-arcadedb-store-schema.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0008-unified-framework-index-docs-grounding.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0009-rlm-chunking-retained-as-configurable-capability.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0010-transformers-pinned-below-5-for-flagembedding-reranker.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0011-cuad-not-a-retrieval-benchmark-acord-for-queries.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0012-entity-mention-confidence-no-proximity-edges.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0013-entity-resolution-matching-strategy.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0014-split-generation-and-vision-to-text.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0015-rlm-dynamic-subagents-and-granted-subagents.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0016-rlm-defined-by-required-capabilities-enforced-as-tests.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0017-dynamic-dispatch-trigger-as-typed-flag.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0018-rlm-method-is-the-orchestrator-system-prompt.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0019-recursion-is-optional-for-chunking-required-for-synthesis.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0020-serialize-interpreter-sessions-per-process-ki1.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0021-capability-interface-governed-typed-io.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0022-fr-k-embedding-free-okf-navigation-experimental.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0023-cheap-model-for-okf-enrichment.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0024-reader-parallelism-lives-in-python-not-the-interpreter.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0025-retrieval-pivot-function-classify-property-graph-rerank.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0026-property-schema-and-extended-function-taxonomy.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0027-openrouter-provider-routing-by-throughput.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0028-deterministic-grounding-judge-and-flash-pro-cascade.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0029-retrieval-pipeline-domain-portability-and-adaptation.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0030-model-training-standard-modal-reusable-checkpointed.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0031-single-call-chunking-for-structured-contracts.md +0 -0
- {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
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0033-unified-contract-kg-three-legs-one-graph.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0034-granite-json-schema-structured-output-profile.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0035-graph-extraction-rebacked-with-gp1b-retire-hybrid.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0036-party-clause-link-party-to-edge.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0037-clause-template-is-authoritative-code-not-generated.md +0 -0
- {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
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0039-self-hosted-open-model-stack-on-modal-a100.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0040-neuro-symbolic-extraction-fidelity-ontology-shacl-validation.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0041-capability-kind-rubric-and-agent-skill-runtime-tiers.md +0 -0
- {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
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0043-retire-cross-corpus-retrieval-standardize-on-leg-b.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0044-is-exception-to-derived-carveout-relationship.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0045-client-side-tag-parse-structured-output.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0046-acord-unified-into-one-production-kg.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0047-retire-precomputed-clause-function-gate.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0048-ingest-llm-classifier-nondestructive-reclassify.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0049-generic-customer-lens-for-ingestion.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0050-async-langgraph-ingestion.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0051-schema-bootstrap-and-feedback-driven-ontology-evolution.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0052-engine-product-split-graphwright-parked.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0053-answer-prose-output-hygiene.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0054-remove-auto-tag-from-generator-evidence.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0055-confidence-out-of-band.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0056-bound-structured-retry-wall-clock.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0057-async-engine-architecture.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0058-structure-first-chunking.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0059-recall-decoupled-from-classification-and-visible-partial-loss.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0060-scope-compliance-check-to-named-policy-sources.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0061-subject-document-compliance-per-section.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0062-tiered-ocr-scan-quality-vlm-escalation.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0063-per-sentence-compliance-subject-facts.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0064-typed-properties-out-of-band-on-evidence.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0065-deontic-applicability-gates-query-side.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0066-ontology-ttl-single-source-of-truth.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0067-domain-pack-retargeting.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0068-recall-first-actor-gate-ontology-role-disjointness.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0069-reading-order-chunking-tables-figures-retrievable.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0070-text-layer-first-parsing-no-false-vlm-escalation.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0071-defragmentation-reconstruct-paragraphs-from-line-items.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0072-extract-guard-furniture-and-deterministic-failure.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0073-born-digital-threshold-sparse-pages-no-vlm-escalation.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0074-retry-transient-extraction-failures.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0075-per-page-vlm-escalation.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0076-thread-safe-shared-embedder-reranker.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0077-concurrent-function-classification-across-chunks.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0078-dedicated-extraction-executor.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0079-product-default-granite-4.2-openrouter-routing.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0080-nested-tag-parse-and-degrade.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0081-function-independent-tagparse-clause-extraction.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0082-symbolic-gate-function-independent.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0083-executor-hop-trace-context-capture.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0084-gleaning-off-on-the-query-leg.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0085-query-constraint-extraction-tagparse.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0086-streaming-cost-capture.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0087-retrieval-relevance-score-on-rankedspan.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0088-per-span-relevance-verdict.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0089-structured-output-generation-tracing.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0090-affiliate-of-extraction.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0091-retire-partyto-edge.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0092-idempotent-write-graph.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0093-entities-by-name-seam.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0094-workspace-document-scope.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0095-span-page-provenance.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0096-carveout-keyword-normalization.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0097-caller-configurable-ingest-extraction-models.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0098-invoke-time-document-scope.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0099-mcp-tools-never-take-a-model-supplied-tenant.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0100-profile-based-model-routing.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0101-untagged-spans-reach-extraction-aspect-gate-removed.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0102-open-descriptive-list-dims-retain-verbatim.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0103-a-clause-is-a-provision-not-a-span.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0104-dense-floor-protection-in-leg-b.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0105-in-band-model-usage-accounting.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0106-document-signals-off-the-citation.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0107-requirement-page-provenance.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0108-qwen3-27b-single-a100-serving-profile.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0109-vllm-cold-start-reduction.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0110-fp8-kv-cache-16k-single-a100.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0111-pin-qwen3-27b-deepinfra-bf16.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0112-relax-deepagents-pin-to-floor.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0113-llm-span-instrumentation-for-latency-attribution.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0114-setfit-default-clause-function-classifier.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0115-classifier-only-step3a-property-extraction.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0116-soft-function-scoping-classifier-lane.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0117-engine-api-layer-and-capability-runtime.md +0 -0
- {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
- {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
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0120-rlm-sub-agent-identity-dynamic-dispatch-trigger.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0121-spacy-optional-extra-model-runtime-download.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0122-provision-boundary-deterministic-plus-decision-model-residue.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0123-batched-releases-release-please-and-consumer-dependabot.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0124-generic-ingestion-builder-and-hooks.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0125-qwen-openrouter-unpinned.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0126-unit-representative-hook-and-the-reference-vote.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0127-retire-the-okf-code.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0128-two-public-tiers-api-and-pack-sdk.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0129-laya-temperatures-and-the-sklearn-floor.md +0 -0
- {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
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0131-model-server-hardening-after-rulewright-review.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0132-model-server-cold-start-from-a-gpu-snapshot.md +0 -0
- {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
- {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
- {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
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0136-spreadsheet-tables-are-glued-back-across-blank-rows.md +0 -0
- {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
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0138-the-engine-reaches-pdfium-through-one-locked-door.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0139-the-agent-harness-substrate-is-engine-scope.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/README.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/api/README.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/api/harness.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/api/pack_sdk.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/architecture/foundations-and-adding-a-domain.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/architecture.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/README.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/design/deontic-applicability-routing.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/design/ingestion-neuro-symbolic-gaps.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/design/semantic-subject-segmentation.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/design/unify-subject-preprocessing.md +0 -0
- {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
- {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
- {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
- {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
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/engine-issues/0041-VERIFICATION-dense-floor.md +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-07-20_graphwright_capability_interface_reply.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-07-20b_graphwright_interface_confirmation.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-07-20c_graphwright_ingestion_interfaces.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-08-30_subject_compliance_final_rulewright.md +0 -0
- {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
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-01_ontology-source-of-truth_rulewright.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-03_issue-0014-table-retrievability_rulewright.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-04_bulk-ingestion-wall_rulewright.md +0 -0
- {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
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-05_observability-langfuse_rulewright.md +0 -0
- {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
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-09_affiliate-of-extraction_rulewright.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-09_issue-0028-partyto-retired_rulewright.md +0 -0
- {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
- {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
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-09_observability-and-retrieval-floor_rulewright.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-09_relevance-verdict_rulewright.md +0 -0
- {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
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-09_structured-output-cost-tracing_rulewright.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-10_ingest-models-caller-configurable_rulewright.md +0 -0
- {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
- {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
- {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
- {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
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-10_issue-0033-carveout-normalization_rulewright.md +0 -0
- {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
- {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
- {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
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-11_profile-based-model-routing_rulewright.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-11_qwen-default-modal-or_rulewright.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-11_qwen-everywhere-config_rulewright.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-12_clause-granularity_0036-0039_rulewright.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-12_closed-vocab_0037-0040_rulewright.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-12_dense-floor-protection_0041_rulewright.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-13_in-band-usage_0042_rulewright.md +0 -0
- {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
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-14_requirement-page-provenance_0043_rulewright.md +0 -0
- {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
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-18_fp8-accuracy-eval-configB_rulewright.md +0 -0
- {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
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-20_deepagents-pin-relaxed_0047_rulewright.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/handoffs/2026-09-20_llm-span-instrumentation_0048_rulewright.md +0 -0
- {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
- {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
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/misc/.gitkeep +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/plans/Corpus_Acquisition.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/plans/async-migration.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/plans/demo_plan.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/plans/gp1b_docling_graph_plan.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/plans/unified_contract_kg_ontology_bridge.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/plans/unified_contract_kg_plan.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/results/2026-07-24-t58-property-graph-population.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/results/2026-07-25-t58b-full-pipeline-rerank.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/archive/results/2026-07-25-t58b-topk-ordering-levers.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/concepts.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/configuration.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/contract_pipeline_explainer.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/corpus_ingest_recipe.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/domain-adaptation/README.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/domain-adaptation/_engine-gaps.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/domain-adaptation/authoring-capabilities.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/domain-adaptation/classification-and-decision-models.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/domain-adaptation/entity-resolution.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/domain-adaptation/evals-from-expert-files.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/domain-adaptation/kg-construction.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/eval/classifier_model_ab.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/eval/compliance_demo.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/eval/compliance_gate_cc7.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/eval/compliance_rung2_cc7.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/eval/cuad_highlighting_cu-d1.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/eval/dg_model_ab.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/eval/function_gate_recall.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/eval/generation_robustness_b_vs_c.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/eval/nl_to_type_cu-d2.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/eval/ocr_benchmark.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/eval/prod1_readiness.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/eval/prod2_readiness.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/eval/query_side_model_ab.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/eval/silver_granite_vs_gemma4.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/eval/silver_provider_routing.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/eval/silver_selfhosted_gemma4_26b.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/evals.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/harness.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/installation.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/playbook.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/product/capability_profiles.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/product/contracts_product_roadmap.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/product/engine-api-migration-handoff.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/product/engine_async_api.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/product/new-domain-build-sequence.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/product/seam-adaptation-guide.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/proposals/compliance-ingest-classifier-decomposition.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/proposals/de-domaining-and-capability-runtime.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/proposals/new-domain-developer-journey.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/proposals/ontology-induction.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/quickstart.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/reference-pack.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/releasing.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/engine-platform/SPEC.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/engine-platform/TASKS.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/engine-prep/plan.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/evals/plan.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/ingestion-hooks/ing5-doc-audit.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/ingestion-hooks/ing8-breaking-changes.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/ingestion-hooks/plan.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/ingestion-hooks/rulewright-migration-0.2.0.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/langgraph-ingestion/plan.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/public-surface/rulewright-arcadedb-separation.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/public-surface/rulewright-migration-0.10.0.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/public-surface/rulewright-migration-0.11.0.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/public-surface/rulewright-migration-0.12.0.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/public-surface/rulewright-migration-0.13.0.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/public-surface/rulewright-migration-0.3.0.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/public-surface/rulewright-migration-0.4.0.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/public-surface/rulewright-migration-0.5.0.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/public-surface/rulewright-migration-0.6.0.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/public-surface/rulewright-migration-0.7.0.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/public-surface/rulewright-migration-0.8.0.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/public-surface/rulewright-migration-0.9.0.md +0 -0
- {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
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/templates/product-starter/CLAUDE.md.template +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/templates/product-starter/README.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/templates/product-starter/dependabot.yml +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/templates/product-starter/playbook.md.template +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/upstream/laya-temperature-range-mismatch.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/vendor/arcadedb/arcadedb-buckets-schema.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/vendor/arcadedb/arcadedb-docs-extraction.json +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/vendor/arcadedb/arcadedb-vector-embeddings.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/vendor/arcadedb/arcadedb-vector-search-tutorial.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/docs/workspaces.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/acord.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/acord_retrieval.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/boundary_residue_gold.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/build_golden.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/compliance_demo/policy/community_conduct_policy.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/compliance_demo/subjects/post_borderline.txt +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/compliance_demo/subjects/post_compliant.txt +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/compliance_demo/subjects/post_violation.txt +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/condensed_pipeline.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/contract_parity_live.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/contractnli_judge.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/cuad_highlight.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/embedded_eval.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/full_pipeline_rerank.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/function_ceiling.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/function_property_rerank.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/function_rerank.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/gate1_chunker_ab.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/gate2_hybrid_rerank.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/golden/relational/set.json +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/golden.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/ground_discriminator_rerank.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/harness.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/ingestion_live_smoke.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/kg_primary.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/kg_property_rerank.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/listwise_rerank.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/multihop.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/nl_to_type.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/relational_eval.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/residual_decision_gold.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/segmenter_eval.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/semantic_judge_gold.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/test_acord.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/test_acord_retrieval.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/test_harness.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/test_multihop_set.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/eval/unit_grouper_eval.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/examples/model_server.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/examples/quickstart.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/plan.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/release-please-config.json +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/ab_model_overlap.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/acord_unify.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/acquire_acord.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/acquire_cuad.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/acquire_ecfr.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/acquire_edgar.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/acquire_ftc_255.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/acquire_prod1_corpus.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/audit_reclass_flips.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/author_leg_a_silver_key.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/backfill_affiliations.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/backfill_clause_span_id.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/backfill_edge_source_doc_id.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/backup_kg_to_gcs.sh +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/bootstrap_template_capture.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/bootstrap_typed_edges.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/build_api_docs.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/build_api_docs.sh +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/build_cuad_clause_cache.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/build_function_routing_map.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/build_harness_doc.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_assemble_v2.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_assemble_v3.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_generate_hard_negatives.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_generate_hard_positives.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_generate_training.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_hybrid.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_hybrid2.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_jev_actor.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_jev_claimtypes.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_jev_operative.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_label_spans.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_laya_prep.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_laya_train.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_prep_operative.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_relabel_rubric.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_relabel_rubric2.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/cic1_train_operative.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/compare_extraction_models.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/compliance_actor_gate_smoke.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/compliance_engine_smoke.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/compliance_policy_demo.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/curate_taxonomy_gaps.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/dg_model_ab.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/diagnose_acord_knn_expansion.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/diagnose_acord_knn_rerank.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/diagnose_acord_leg_pool.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/diagnose_acord_legs.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/diagnose_acord_pool.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/diagnose_acord_relstructure.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/diagnose_acord_retrieval.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/distill/eval_all.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/distill/eval_ce.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/distill/eval_listwise_b.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/distill/export_ce_dataset.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/distill/extract_features.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/distill/listwise_variants.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/distill/relational_features.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/distill/train_ce.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/distill/train_modal.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/enrich_edgar_candidates.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/eval_chunking_ab.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/eval_classifier_guided_vs_tagparse.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/eval_compliance_gold.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/extract_arcadedb_docs.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/fetch_reference_models.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/generate_contract_python.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/git_post_commit_graphify.sh +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/granite_chunker_assess.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/graph_status.sh +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/ingest_acord.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/ingest_compliance_async_prod2.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/ingest_compliance_document_prod2.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/ingest_compliance_prod2.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/ingest_cuad.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/ingest_cuad_full.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/ingest_ftc_compliance.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/ingest_prod1.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/ingest_prod1_async.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/ingest_smoke.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/install_git_hooks.sh +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/label_new_functions.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/legb_function_gate_recall.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/make_compliance_fixtures.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/make_compliance_gold.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/mcp_compliance_agent_demo.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/mcp_intra_document_qa_smoke.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/mcp_query_legs_agent_demo.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/measure_generation_robustness.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/measure_harness_genericity.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/measure_silver.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/merge_docs_into_framework.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/migrate_entity_cik_to_canonical_id.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/migrate_silver_evidence_autotag.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/migrate_silver_evidence_remove_autotag.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/migrate_span_fields.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/mine_scarce_functions.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/modal_arcadedb.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/modal_backfill.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/modal_exception_linking.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/modal_gemma4_vllm.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/modal_gemma4_vllm_snapshot.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/modal_granite_server.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/modal_granite_throughput.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/modal_granite_vllm_server.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/modal_query_app.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/modal_qwen3_27b_bench.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/modal_qwen3_27b_snapshot.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/modal_qwen3_vllm_server.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/modal_stack_a100.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/ocr_benchmark.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/ocr_preprocess.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/ontology_dimension_check.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/phase_a_leg_validate.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/populate_clause_kg.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/populate_entity_graph.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/populate_entity_graph_extracted.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/populate_property_store.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/prep_relational_verification.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/publish_manifests.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/reclassify_kg.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/refresh_framework_graph.sh +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/revert_reclass_flips.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/run_acord_retrieval.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/run_clause_exception_linking.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/semantic_judge_live_validate.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/semantic_judge_probe.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/snapshot_leg_a_eval.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/stack_correctness_validate.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/table_retrieval_smoke.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/train_function_classifier.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/train_legalbert_function.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/train_legalbert_modal.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/typed_rerank_validate.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/verify_wheel_install.sh +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/vllm_extraction_ab.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/vllm_kg_query_validate.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/scripts/vllm_raw_diagnostic.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/.agents/skills/authoring-a-capability/SKILL.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/.agents/skills/building-a-product-backend/SKILL.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/.agents/skills/building-a-product-frontend/SKILL.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/.agents/skills/building-an-agent-harness/SKILL.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/.agents/skills/building-an-ingestion-capability/SKILL.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/.agents/skills/classifier-opportunity-analysis/SKILL.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/.agents/skills/creating-evals/SKILL.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/.agents/skills/laya/SKILL.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/.agents/skills/qwen-vllm-modal/SKILL.md +0 -0
- {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
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/.agents/skills/qwen-vllm-modal/scripts/rw_gate.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/.agents/skills/setfit/SKILL.md +0 -0
- {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
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/.agents/skills/using-the-rag-wright-engine/SKILL.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/api/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/api/agents.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/api/answers.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/api/config.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/api/discover.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/api/documents.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/api/ids.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/api/invoke.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/api/kg.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/api/mcp.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/api/tracing.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/api/usage.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/api/workspace.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/answer_generator.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/ard.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/chunk_read.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/chunk_write.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/disambiguation.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/document_parse.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/document_scope.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/embedding.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/embedding_profiles.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/entity_resolution.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/fusion.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/graph_query.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/graph_storage.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/hybrid_search.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/invoke.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/jev_decision.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/manifests.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/parse_audit.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/parsing.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/registry.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/remote_encoders.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/reranking.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/retrieval_core.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/rlm_chunking.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/rlm_synthesis.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/scan_quality.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/sheet_tables.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/span_relevance_judgment.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/span_search.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/vision_to_text.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/capabilities/vlm_ocr.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/contracts/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/contracts/chunk.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/contracts/evals.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/contracts/extraction.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/contracts/graph.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/contracts/identifiers.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/contracts/ingestion.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/contracts/provenance.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/contracts/span.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/corpus/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/corpus/canonicalize.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/corpus/document_parser.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/corpus/embedded.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/corpus/http.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/evals/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/evals/gold.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/evals/langfuse_backend.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/evals/runner.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/evals/scorers.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/accounting.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/agent.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/batch.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/clarify.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/confirm.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/decisions.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/definition.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/dispatch.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/errors.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/events.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/filesystem.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/grading.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/interpreter.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/memory.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/models.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/rules.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/runs.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/scope.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/seen.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/skills.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/thinking.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/tiers.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/tracing.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/withhold.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/harness/workers.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/ingestion/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/ingestion/builder.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/ingestion/evaluate.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/ingestion/group.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/ingestion/layout.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/ingestion/segment.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/ingestion/tables.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/models/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/models/model_servers.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/models/profiles.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/models/seam.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/models/tag_structured.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/models/tracing.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/models/usage.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/models/weights.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/ontology/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/ontology/pack_schema.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/ontology/registry.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/pack_sdk/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/capabilities/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/capabilities/assertion_extraction.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/capabilities/claim_extraction.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/capabilities/compliance_judgment.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/capabilities/compliance_store.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/capabilities/requirement_extraction.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/invokers.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/mcp/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/mcp/compliance_server.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/ontology/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/ontology/compliance_bridge.ttl +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/ontology/loader.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/ontology/packs/ftc_16cfr255.ttl +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/pack.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/schemas/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/schemas/compliance.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/skills/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/skills/claim_extraction/SKILL.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/skills/claim_extraction/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/skills/claim_extraction/template.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/skills/compliance_judgment/SKILL.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/skills/generic_compliance_judgment/SKILL.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/skills/requirement_extraction/SKILL.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/skills/requirement_extraction/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/skills/requirement_extraction/template.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/subgraphs/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/subgraphs/compliance_check.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/subgraphs/compliance_ingestion.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/compliance/subgraphs/requirement_extraction.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/capabilities/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/capabilities/clause_exception_linking.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/capabilities/contract_kg_serve.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/capabilities/contract_kg_store.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/capabilities/dg_extraction.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/capabilities/graph_extraction.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/capabilities/highlight_serve.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/capabilities/property_boosted_retrieval.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/capabilities/query_function_classifier.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/capabilities/query_understanding.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/corpus/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/corpus/cuad.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/corpus/cuad_ingestion.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/corpus/edgar.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/corpus/gcs_ingestion.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/corpus/selection.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/mcp/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/mcp/intra_document_qa_server.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/mcp/relational_qa_server.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/mcp/session_store.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/mcp/typed_property_retrieval_server.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/ontology/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/ontology/_generated_template_meta.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/ontology/_generated_vocab.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/ontology/clause_template.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/ontology/codegen.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/ontology/contract_bridge.ttl +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/ontology/contract_taxonomy.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/ontology/derive.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/ontology/loader.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/ontology/template_introspect.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/options.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/pack.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/schemas/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/schemas/contract_meta.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/schemas/function.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/schemas/function_routing.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/schemas/highlight.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/schemas/jurisdiction.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/schemas/ontology.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/schemas/property.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/schemas/query_intent.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/schemas/value_match.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/skills/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/skills/corpus_ingest/SKILL.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/skills/extraction_semantic_judge/SKILL.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/skills/extraction_semantic_judge/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/skills/guidance/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/skills/guidance/chunking.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/skills/guidance/generation.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/skills/guidance/relevance.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/boundary.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/clause_function_classifier.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/clause_kg_extractor.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/cuad_labels.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/dim_classifier.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/dim_fleet.json +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/function_classifier.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/function_families.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/hybrid_classifier.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/legalbert_classifier.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/model_capabilities.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/new_function_labels.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/property_extractor.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/property_grounding.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/reclassify.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/residual_candidates.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/scarce_function_labels.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/segment.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/semantic_judge.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/symbolic_validation.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/spans/tag_clause_extractor.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/subgraphs/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/subgraphs/async_ingestion.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/subgraphs/contract_ingestion_pipeline.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/subgraphs/intra_document_qa.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/subgraphs/query_constraint_extraction.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/subgraphs/relational_qa.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/subgraphs/typed_clause_extraction.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/contracts/subgraphs/typed_property_retrieval.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/packs/reference_seam.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/py.typed +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/skills/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/skills/generation/SKILL.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/skills/generation/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/skills/rlm/SKILL.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/skills/rlm/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/skills/rlm/agent.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/skills/span_relevance_judgment/SKILL.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/skills/vision_to_text/SKILL.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/skills/vision_to_text/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/spans/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/spans/page_map.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/store/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/store/chunk_text.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/store/seam.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/subgraphs/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/subgraphs/graph_extraction.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/subgraphs/observability.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/subgraphs/scaffold.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/subgraphs/semantic_chunking.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/util/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/util/concurrent.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/util/pdfium.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/src/rag_wright/util/spacy_model.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_agent_chat_model.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_agent_chat_model_live.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_answers_exports.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_api_embedder_ps39.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_bytes_ingest.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_capability_reexports.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_decision_swap_doc_example.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_discover.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_documents.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_drop_workspace.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_drop_workspace_live.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_e2e.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_invoke.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_kg.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_mcp.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_metering_tracing_exports.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_migrate_span_fields.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_model_role_export.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_open_workspace_reconfig.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_options.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_pack_sdk.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_pack_store.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_pdf_page_count.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_public_gaps_ps38.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_tracing_helpers_ps32.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_usage.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_workspace.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/api/test_workspace_models.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/arch/domain_vocabulary_baseline.json +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/arch/test_api_docs_current.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/arch/test_doc_references.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/arch/test_engine_domain_vocabulary.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/arch/test_import_contracts.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/arch/test_lock_version.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/arch/test_packs_use_store_primitives.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/arch/test_pdfium_door.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/arch/test_shipped_skills.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/async_helpers.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/_fixtures/rlm_probe_skill/SKILL.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_answer_generator.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_answer_generator_async.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_assertion_extraction.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_authoring_contract.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_chunk_read.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_chunk_write.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_chunking_prompts_neutral.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_claim_extraction.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_clause_exception_linking.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_compliance_judgment.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_compliance_store.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_contract_kg_serve.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_contract_kg_store.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_contract_kg_store_reads.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_contract_taxonomy_and_spans.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_dg_adapter.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_dg_async.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_dg_extraction.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_dg_model_seam.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_dg_private.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_disambiguation.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_document_scope.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_embedding.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_embedding_profiles.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_entity_resolution.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_entity_rules_plumbing.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_fusion.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_graph_extraction.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_graph_query.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_graph_storage.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_highlight_serve.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_hybrid_search.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_jev_decision.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_manifest_validation.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_manifests.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_parse_audit.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_parsing.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_parties_extraction.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_property_boosted_retrieval.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_query_function_classifier.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_query_understanding.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_registry.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_remote_encoders.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_repair_partition.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_requirement_extraction.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_reranking.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_retrieval_core.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_rlm_chunking.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_rlm_chunking_async.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_rlm_method.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_rlm_synthesis.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_runtime_registry.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_scan_quality.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_span_relevance_judgment.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_span_search.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_structural_boundary_discoverer.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_structural_model_fallback.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_tag_boundary_discoverer.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_tiered_ocr.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/capabilities/test_vlm_ocr.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/compliance_fakes.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/conftest.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/contracts/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/contracts/test_canonical_source_doc_id.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/contracts/test_chunk_record.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/contracts/test_compliance.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/contracts/test_cuad_highlight_contracts.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/contracts/test_extraction.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/contracts/test_function.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/contracts/test_function_routing.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/contracts/test_identifiers.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/contracts/test_ingestion_hooks.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/contracts/test_jurisdiction.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/contracts/test_ontology.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/contracts/test_property.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/contracts/test_provenance.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/contracts/test_value_match.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/corpus/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/corpus/_ooxml_fixtures.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/corpus/test_canonicalize.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/corpus/test_cuad.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/corpus/test_cuad_ingestion.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/corpus/test_document_parser.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/corpus/test_edgar.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/corpus/test_embedded.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/corpus/test_gcs_ingestion.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/corpus/test_http.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/corpus/test_parse_wire2.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/corpus/test_selection.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/eval/test_contractnli_judge.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/eval/test_cuad_highlight_metrics.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/eval/test_kg_property_rerank.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/eval/test_nl_to_type_metrics.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/eval/test_relational_eval.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/evals/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/evals/test_gold_contracts.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/evals/test_gold_import.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/evals/test_langfuse_backend.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/evals/test_runner.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/evals/test_scorer_parity.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/evals/test_scorers_a.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/evals/test_scorers_b.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/evals/test_scorers_c.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/evals/test_scorers_d.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/fixtures/ingestion/parity.json +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/fixtures/ingestion/parity_blank.pdf +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/fixtures/ingestion/parity_cover_with_attachment.pdf +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/fixtures/ingestion/parity_db_with_a_broken_report.xlsx +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/fixtures/ingestion/parity_db_with_reports.xlsx +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/fixtures/ingestion/parity_grid.xlsx +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/fixtures/ingestion/segmenter_gold.json +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/fixtures/ingestion/textile_spec_sheet.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/fixtures/ingestion/textile_test_report.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/fixtures/leg_a_silver/README.md +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/fixtures/leg_a_silver/evidence_snapshot.json +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/fixtures/table-bearing-contract.pdf +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/foundation/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/foundation/test_arcadedb_hybrid.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/foundation/test_model_seam_structured.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/harness/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/harness/test_greenfield_conformance.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/harness/test_harness_accounting.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/harness/test_harness_engine_wiring.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/harness/test_harness_genericity.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/harness/test_harness_live.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/harness/test_harness_recorder.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/harness/test_harness_thinking.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/test_aevaluate.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/test_builder.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/test_chunk_discoverer_hook.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/test_concurrency_ceiling.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/test_document_metadata.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/test_evaluate.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/test_evaluate_labels.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/test_graph_live.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/test_graph_parity.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/test_layout_segmenter.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/test_sheet_continuations.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/test_spreadsheet_content.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/test_table_rows.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/test_tuning.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/test_unit_grouper.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ingestion/test_unit_representative.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/journey/incidents_domain.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/journey/incidents_pack.ttl +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/journey/test_incidents_journey.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/journey/test_pack_schema.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/mcp/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/mcp/test_compliance_server.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/mcp/test_intra_document_qa_server.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/mcp/test_no_model_supplied_tenant.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/mcp/test_relational_qa_server.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/mcp/test_typed_property_retrieval_server.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_async_infra.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_classifier_heads_load_clean.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_model_servers.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_models_dir.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_no_gemma_default.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_profile_routing.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_profile_seam.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_seam_async.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_seam_deadline_and_cap.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_seam_event_loops.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_seam_retry.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_seam_stream.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_serving_seam.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_serving_wiring.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_tag_structured.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_tag_structured_async.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_tracing.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/models/test_usage.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ontology/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ontology/test_clause_template.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ontology/test_compliance_ontology_authoritative.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ontology/test_derivation.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ontology/test_entity_taxonomy.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ontology/test_generated_template_meta_in_sync.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ontology/test_generated_vocab_in_sync.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ontology/test_template_captured_in_ttl.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/ontology/test_ttl_is_source_of_truth.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/reference/test_compliance_reference.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/reference/test_contract_seam.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/scripts/test_eval_chunking_ab.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/scripts/test_eval_classifier_ab.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/scripts/test_fetch_reference_models.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/scripts/test_generation_robustness_errors.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/skills/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/skills/test_creating_evals_skill_example.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/skills/test_ingestion_skill_example.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_boundary.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_classifier_property_extractor.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_clause_classifier_tags_0005.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_clause_function_classifier.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_clause_function_classifier_async.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_clause_kg_extractor.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_clause_kg_extractor_async.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_dim_classifier.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_dim_fleet_live.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_function_classifier.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_hybrid_classifier.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_hybrid_property_extractor.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_legalbert_classifier.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_model_capabilities.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_new_function_labels.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_page_map.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_property_extractor.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_property_grounding.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_reclassify.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_residual_decision.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_scarce_function_labels.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_segment.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_segmentation_vocab.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_semantic_judge.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_setfit_clause_adapter.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_setfit_probabilities.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_span_offsets.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_stage_labels_0005.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_symbolic_validation.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/spans/test_tag_clause_extractor.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_affiliation_backfill.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_arcadedb_clause_kg.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_arcadedb_contract.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_arcadedb_property.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_arcadedb_requirement_sources.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_arcadedb_schema.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_arcadedb_span.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_chunk_text.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_contract_kg_store_live.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_document_metadata_live.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_document_scope.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_engine_domain_neutral.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_entities_by_name.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_kg_edges.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_kg_mutations.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_kg_range.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_kg_read.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_kg_write.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_neutral_schema.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_store_create_flag.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/store/test_write_graph_idempotent.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_async_ingestion.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_chunk7_structure_carry.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_clause_results.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_compliance_check.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_compliance_ingestion.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_contract_ingestion_pipeline.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_contract_ingestion_pipeline_async.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_contract_ingestion_pipeline_graph_async.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_graph_extraction.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_ingest_knobs.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_ingest_segment_classify.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_intra_document_qa.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_observability.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_partial_entry_contract.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_query_constraint_extraction.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_relational_qa.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_requirement_extraction.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_scaffold.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_semantic_chunking.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_typed_clause_extraction.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/subgraphs/test_typed_property_retrieval.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/test_backfill_clause_span_id.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/test_dg_model_ab.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/test_populate_clause_kg.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/test_populate_entity_graph.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/util/__init__.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/util/test_concurrent.py +0 -0
- {rag_wright-0.14.0 → rag_wright-0.14.1}/tests/util/test_spacy_model.py +0 -0
|
@@ -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
|
|
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
|
|
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.
|
|
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.
|
|
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 |
|
{rag_wright-0.14.0 → rag_wright-0.14.1}/docs/specs/public-surface/rulewright-migration-0.14.0.md
RENAMED
|
@@ -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.
|
|
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
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
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
|
|
395
|
-
|
|
396
|
-
|
|
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
|
-
|
|
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
|
|
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`).
|
|
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()
|
|
@@ -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
|
{rag_wright-0.14.0 → rag_wright-0.14.1}/.claude/skills/building-an-ingestion-capability/SKILL.md
RENAMED
|
File without changes
|
{rag_wright-0.14.0 → rag_wright-0.14.1}/.claude/skills/classifier-opportunity-analysis/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rag_wright-0.14.0 → rag_wright-0.14.1}/.claude/skills/specifying-a-product-on-the-engine/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0003-ard-registration-and-capability-kinds.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0008-unified-framework-index-docs-grounding.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0013-entity-resolution-matching-strategy.md
RENAMED
|
File without changes
|
{rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0014-split-generation-and-vision-to-text.md
RENAMED
|
File without changes
|
{rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0015-rlm-dynamic-subagents-and-granted-subagents.md
RENAMED
|
File without changes
|
|
File without changes
|
{rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0017-dynamic-dispatch-trigger-as-typed-flag.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0021-capability-interface-governed-typed-io.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0027-openrouter-provider-routing-by-throughput.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0032-nl-to-type-two-step-reason-emit-on-gemma.md
RENAMED
|
File without changes
|
{rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0033-unified-contract-kg-three-legs-one-graph.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rag_wright-0.14.0 → rag_wright-0.14.1}/docs/adr/0038-full-cuad-kg-on-gcp-gpu-vm-and-gcs-backup.md
RENAMED
|
File without changes
|