rag-wright 0.2.0__tar.gz → 0.2.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {rag_wright-0.2.0 → rag_wright-0.2.1}/.claude/skills/using-the-rag-wright-engine/SKILL.md +17 -1
- rag_wright-0.2.1/.release-please-manifest.json +3 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/CHANGELOG.md +7 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/CLAUDE.md +15 -11
- {rag_wright-0.2.0 → rag_wright-0.2.1}/PKG-INFO +1 -1
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/concepts.md +5 -2
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/domain-adaptation/_engine-gaps.md +73 -0
- rag_wright-0.2.1/docs/proposals/ontology-induction.md +154 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/specs/ingestion-hooks/ing8-breaking-changes.md +3 -0
- rag_wright-0.2.1/docs/specs/ingestion-hooks/rulewright-migration-0.2.0.md +296 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/templates/product-starter/CLAUDE.md.template +20 -5
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/templates/product-starter/README.md +8 -6
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/templates/product-starter/playbook.md.template +31 -16
- {rag_wright-0.2.0 → rag_wright-0.2.1}/pyproject.toml +1 -1
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/reference_seam.py +12 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tasks.md +20 -2
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/reference/test_contract_seam.py +17 -0
- rag_wright-0.2.0/.release-please-manifest.json +0 -3
- {rag_wright-0.2.0 → rag_wright-0.2.1}/.claude/settings.json +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/.claude/skills/authoring-a-capability/SKILL.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/.claude/skills/building-an-ingestion-capability/SKILL.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/.claude/skills/classifier-opportunity-analysis/SKILL.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/.claude/skills/creating-evals/SKILL.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/.claude/skills/laya/SKILL.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/.claude/skills/qwen-vllm-modal/SKILL.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/.claude/skills/setfit/SKILL.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/.env.example +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/.github/workflows/publish.yml +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/.github/workflows/release-please.yml +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/.gitignore +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/LICENSE +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/README.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/SPEC.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/conftest.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/ARCHITECTURE_OVERVIEW.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/ArcadeDB_Local.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/OBSERVABILITY.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0001-stack-and-library-choices.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0002-validation-corpus-cuad-edgar.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0003-ard-registration-and-capability-kinds.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0004-entity-disambiguation.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0005-relational-golden-set.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0006-model-profile.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0007-arcadedb-store-schema.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0008-unified-framework-index-docs-grounding.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0009-rlm-chunking-retained-as-configurable-capability.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0010-transformers-pinned-below-5-for-flagembedding-reranker.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0011-cuad-not-a-retrieval-benchmark-acord-for-queries.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0012-entity-mention-confidence-no-proximity-edges.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0013-entity-resolution-matching-strategy.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0014-split-generation-and-vision-to-text.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0015-rlm-dynamic-subagents-and-granted-subagents.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0016-rlm-defined-by-required-capabilities-enforced-as-tests.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0017-dynamic-dispatch-trigger-as-typed-flag.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0018-rlm-method-is-the-orchestrator-system-prompt.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0019-recursion-is-optional-for-chunking-required-for-synthesis.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0020-serialize-interpreter-sessions-per-process-ki1.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0021-capability-interface-governed-typed-io.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0022-fr-k-embedding-free-okf-navigation-experimental.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0023-cheap-model-for-okf-enrichment.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0024-reader-parallelism-lives-in-python-not-the-interpreter.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0025-retrieval-pivot-function-classify-property-graph-rerank.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0026-property-schema-and-extended-function-taxonomy.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0027-openrouter-provider-routing-by-throughput.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0028-deterministic-grounding-judge-and-flash-pro-cascade.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0029-retrieval-pipeline-domain-portability-and-adaptation.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0030-model-training-standard-modal-reusable-checkpointed.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0031-single-call-chunking-for-structured-contracts.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0032-nl-to-type-two-step-reason-emit-on-gemma.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0033-unified-contract-kg-three-legs-one-graph.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0034-granite-json-schema-structured-output-profile.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0035-graph-extraction-rebacked-with-gp1b-retire-hybrid.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0036-party-clause-link-party-to-edge.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0037-clause-template-is-authoritative-code-not-generated.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0038-full-cuad-kg-on-gcp-gpu-vm-and-gcs-backup.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0039-self-hosted-open-model-stack-on-modal-a100.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0040-neuro-symbolic-extraction-fidelity-ontology-shacl-validation.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0041-capability-kind-rubric-and-agent-skill-runtime-tiers.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0042-clause-level-span-id-provenance-and-content-hash-backfill.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0043-retire-cross-corpus-retrieval-standardize-on-leg-b.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0044-is-exception-to-derived-carveout-relationship.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0045-client-side-tag-parse-structured-output.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0046-acord-unified-into-one-production-kg.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0047-retire-precomputed-clause-function-gate.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0048-ingest-llm-classifier-nondestructive-reclassify.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0049-generic-customer-lens-for-ingestion.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0050-async-langgraph-ingestion.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0051-schema-bootstrap-and-feedback-driven-ontology-evolution.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0052-engine-product-split-graphwright-parked.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0053-answer-prose-output-hygiene.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0054-remove-auto-tag-from-generator-evidence.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0055-confidence-out-of-band.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0056-bound-structured-retry-wall-clock.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0057-async-engine-architecture.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0058-structure-first-chunking.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0059-recall-decoupled-from-classification-and-visible-partial-loss.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0060-scope-compliance-check-to-named-policy-sources.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0061-subject-document-compliance-per-section.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0062-tiered-ocr-scan-quality-vlm-escalation.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0063-per-sentence-compliance-subject-facts.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0064-typed-properties-out-of-band-on-evidence.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0065-deontic-applicability-gates-query-side.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0066-ontology-ttl-single-source-of-truth.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0067-domain-pack-retargeting.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0068-recall-first-actor-gate-ontology-role-disjointness.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0069-reading-order-chunking-tables-figures-retrievable.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0070-text-layer-first-parsing-no-false-vlm-escalation.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0071-defragmentation-reconstruct-paragraphs-from-line-items.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0072-extract-guard-furniture-and-deterministic-failure.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0073-born-digital-threshold-sparse-pages-no-vlm-escalation.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0074-retry-transient-extraction-failures.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0075-per-page-vlm-escalation.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0076-thread-safe-shared-embedder-reranker.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0077-concurrent-function-classification-across-chunks.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0078-dedicated-extraction-executor.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0079-product-default-granite-4.2-openrouter-routing.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0080-nested-tag-parse-and-degrade.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0081-function-independent-tagparse-clause-extraction.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0082-symbolic-gate-function-independent.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0083-executor-hop-trace-context-capture.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0084-gleaning-off-on-the-query-leg.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0085-query-constraint-extraction-tagparse.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0086-streaming-cost-capture.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0087-retrieval-relevance-score-on-rankedspan.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0088-per-span-relevance-verdict.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0089-structured-output-generation-tracing.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0090-affiliate-of-extraction.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0091-retire-partyto-edge.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0092-idempotent-write-graph.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0093-entities-by-name-seam.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0094-workspace-document-scope.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0095-span-page-provenance.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0096-carveout-keyword-normalization.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0097-caller-configurable-ingest-extraction-models.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0098-invoke-time-document-scope.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0099-mcp-tools-never-take-a-model-supplied-tenant.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0100-profile-based-model-routing.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0101-untagged-spans-reach-extraction-aspect-gate-removed.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0102-open-descriptive-list-dims-retain-verbatim.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0103-a-clause-is-a-provision-not-a-span.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0104-dense-floor-protection-in-leg-b.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0105-in-band-model-usage-accounting.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0106-document-signals-off-the-citation.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0107-requirement-page-provenance.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0108-qwen3-27b-single-a100-serving-profile.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0109-vllm-cold-start-reduction.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0110-fp8-kv-cache-16k-single-a100.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0111-pin-qwen3-27b-deepinfra-bf16.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0112-relax-deepagents-pin-to-floor.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0113-llm-span-instrumentation-for-latency-attribution.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0114-setfit-default-clause-function-classifier.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0115-classifier-only-step3a-property-extraction.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0116-soft-function-scoping-classifier-lane.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0117-engine-api-layer-and-capability-runtime.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0118-engine-core-api-vs-ard-adapter-free-impl-ref-client.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0119-jev-typed-decision-model-for-compliance-closed-set-fields.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0120-rlm-sub-agent-identity-dynamic-dispatch-trigger.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0121-spacy-optional-extra-model-runtime-download.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0122-provision-boundary-deterministic-plus-decision-model-residue.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0123-batched-releases-release-please-and-consumer-dependabot.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/0124-generic-ingestion-builder-and-hooks.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/adr/README.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/api/README.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/architecture/foundations-and-adding-a-domain.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/architecture.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/README.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/design/deontic-applicability-routing.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/design/ingestion-neuro-symbolic-gaps.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/design/semantic-subject-segmentation.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/design/unify-subject-preprocessing.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/engine-issues/0037-closed-vocab-drops-verbatim-values-to-other.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/engine-issues/0038-a-clause-node-is-now-created-per-sentence-so-98-percent-of-spans-become-clauses.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/engine-issues/0039-the-provision-detector-reads-text-but-docling-puts-the-section-number-in-marker.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/engine-issues/0040-covered-subject-is-asked-of-every-provision-so-verbatim-retention-fills-it-with-noise.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/engine-issues/0041-VERIFICATION-dense-floor.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/engine-issues/0041-leg-b-discards-the-best-dense-matches-on-some-queries.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/engine-issues/0042-usage-is-captured-per-call-but-never-returned-so-cost-needs-a-langfuse-round-trip.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/engine-issues/0043-a-requirement-carries-no-page-provenance-so-a-finding-cannot-point-into-its-policy.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/engine-issues/0044-document-signals-scaffolding-is-shown-to-the-user-as-a-quote-from-their-document.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/engine-issues/0045-a-fixed-money-cap-records-no-cap-quantum-so-the-amount-is-only-prose.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/engine-issues/0046-appending-a-natural-follow-up-to-a-question-drops-the-clause-type.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/engine-issues/0047-an-exact-deepagents-pin-transitively-pins-every-consumer.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/engine-issues/0048-the-pinned-endpoints-latency-tail-makes-agent-runs-undebuggable-from-either-side.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-07-20_graphwright_capability_interface_reply.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-07-20b_graphwright_interface_confirmation.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-07-20c_graphwright_ingestion_interfaces.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-08-30_subject_compliance_final_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-01_issue-0013-recall-first-actor-gate_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-01_ontology-source-of-truth_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-03_issue-0014-table-retrievability_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-04_bulk-ingestion-wall_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-04_issue-0016-thread-safe-embedder_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-05_observability-langfuse_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-05_tagparse-ingestion-and-granite-4.2_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-09_affiliate-of-extraction_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-09_issue-0028-partyto-retired_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-09_issue-0029-idempotent-write-graph_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-09_issue-0030-entities-by-name_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-09_observability-and-retrieval-floor_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-09_relevance-verdict_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-09_rename-run-ad-compliance-check_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-09_structured-output-cost-tracing_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-10_ingest-models-caller-configurable_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-10_issue-0031-followup-failclosed-and-nodrift_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-10_issue-0031-followup-validate-ingested-set_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-10_issue-0031-workspace-document-scope_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-10_issue-0032-span-page-provenance_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-10_issue-0033-carveout-normalization_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-10_issue-0034-invoke-time-document-scope_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-11_issue-0035-followup-derived-guard_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-11_issue-0035-mcp-no-model-tenant_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-11_profile-based-model-routing_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-11_qwen-default-modal-or_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-11_qwen-everywhere-config_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-12_clause-granularity_0036-0039_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-12_closed-vocab_0037-0040_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-12_dense-floor-protection_0041_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-13_in-band-usage_0042_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-14_document-signals-off-citation_0044_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-14_requirement-page-provenance_0043_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-16_qwen3-27b-single-a100-serving-profile_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-18_fp8-accuracy-eval-configB_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-18_fp8-kv-16k-single-a100_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-20_deepagents-pin-relaxed_0047_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-20_llm-span-instrumentation_0048_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-21_0048-part2-modal-answers_from_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/handoffs/2026-09-21_0048-part2-modal-scoping-questions_rulewright.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/misc/.gitkeep +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/plans/Corpus_Acquisition.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/plans/async-migration.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/plans/demo_plan.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/plans/gp1b_docling_graph_plan.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/plans/unified_contract_kg_ontology_bridge.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/plans/unified_contract_kg_plan.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/results/2026-07-24-t58-property-graph-population.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/results/2026-07-25-t58b-full-pipeline-rerank.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/archive/results/2026-07-25-t58b-topk-ordering-levers.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/configuration.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/contract_pipeline_explainer.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/corpus_ingest_recipe.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/domain-adaptation/README.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/domain-adaptation/authoring-capabilities.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/domain-adaptation/classification-and-decision-models.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/domain-adaptation/entity-resolution.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/domain-adaptation/kg-construction.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/domain-adaptation/ontology-authoring.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/eval/classifier_model_ab.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/eval/compliance_demo.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/eval/compliance_gate_cc7.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/eval/compliance_rung2_cc7.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/eval/cuad_highlighting_cu-d1.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/eval/dg_model_ab.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/eval/function_gate_recall.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/eval/generation_robustness_b_vs_c.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/eval/nl_to_type_cu-d2.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/eval/ocr_benchmark.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/eval/prod1_readiness.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/eval/prod2_readiness.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/eval/query_side_model_ab.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/eval/silver_granite_vs_gemma4.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/eval/silver_provider_routing.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/eval/silver_selfhosted_gemma4_26b.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/installation.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/playbook.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/product/capability_profiles.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/product/contracts_product_roadmap.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/product/engine-api-migration-handoff.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/product/engine_async_api.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/product/new-domain-build-sequence.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/product/seam-adaptation-guide.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/proposals/compliance-ingest-classifier-decomposition.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/proposals/de-domaining-and-capability-runtime.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/proposals/new-domain-developer-journey.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/quickstart.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/reference-pack.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/releasing.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/specs/engine-platform/SPEC.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/specs/engine-platform/TASKS.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/specs/engine-prep/plan.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/specs/ingestion-hooks/ing5-doc-audit.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/specs/ingestion-hooks/plan.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/templates/product-starter/dependabot.yml +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/vendor/arcadedb/arcadedb-buckets-schema.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/vendor/arcadedb/arcadedb-docs-extraction.json +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/vendor/arcadedb/arcadedb-vector-embeddings.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/docs/vendor/arcadedb/arcadedb-vector-search-tutorial.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/ablation.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/acord.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/acord_retrieval.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/boundary_residue_gold.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/build_golden.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/category_retrieval.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/compliance_demo/policy/community_conduct_policy.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/compliance_demo/subjects/post_borderline.txt +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/compliance_demo/subjects/post_compliant.txt +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/compliance_demo/subjects/post_violation.txt +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/condensed_pipeline.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/contract_parity_live.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/contractnli_judge.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/cuad_highlight.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/embedded_eval.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/full_pipeline_rerank.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/function_ceiling.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/function_property_rerank.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/function_rerank.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/gate1_chunker_ab.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/gate2_hybrid_rerank.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/golden/relational/set.json +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/golden.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/ground_discriminator_rerank.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/harness.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/ingestion_live_smoke.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/kg_primary.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/kg_property_rerank.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/listwise_rerank.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/multihop.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/nl_to_type.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/okf_gold.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/reachability.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/relational_eval.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/residual_decision_gold.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/segmenter_eval.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/semantic_judge_gold.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/test_acord.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/test_acord_retrieval.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/test_category_retrieval.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/test_harness.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/test_multihop_set.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/test_okf_gold.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/test_reachability.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/eval/unit_grouper_eval.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/examples/quickstart.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/plan.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/release-please-config.json +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/ab_model_overlap.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/acord_unify.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/acquire_acord.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/acquire_cuad.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/acquire_ecfr.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/acquire_edgar.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/acquire_ftc_255.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/acquire_prod1_corpus.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/audit_reclass_flips.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/author_leg_a_silver_key.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/backfill_affiliations.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/backfill_clause_span_id.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/backfill_edge_source_doc_id.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/backup_kg_to_gcs.sh +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/bootstrap_template_capture.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/bootstrap_typed_edges.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/build_api_docs.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/build_api_docs.sh +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/build_cuad_clause_cache.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/build_function_routing_map.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_assemble_v2.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_assemble_v3.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_generate_hard_negatives.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_generate_hard_positives.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_generate_training.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_hybrid.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_hybrid2.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_jev_actor.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_jev_claimtypes.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_jev_operative.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_label_spans.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_laya_prep.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_laya_train.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_prep_operative.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_relabel_rubric.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_relabel_rubric2.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/cic1_train_operative.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/compare_extraction_models.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/compliance_actor_gate_smoke.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/compliance_engine_smoke.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/compliance_policy_demo.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/curate_taxonomy_gaps.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/dg_model_ab.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/diagnose_acord_knn_expansion.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/diagnose_acord_knn_rerank.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/diagnose_acord_leg_pool.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/diagnose_acord_legs.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/diagnose_acord_pool.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/diagnose_acord_relstructure.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/diagnose_acord_retrieval.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/distill/eval_all.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/distill/eval_ce.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/distill/eval_listwise_b.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/distill/export_ce_dataset.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/distill/extract_features.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/distill/listwise_variants.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/distill/relational_features.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/distill/train_ce.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/distill/train_modal.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/enrich_edgar_candidates.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/eval_chunking_ab.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/eval_classifier_guided_vs_tagparse.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/eval_compliance_gold.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/extract_arcadedb_docs.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/generate_contract_python.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/git_post_commit_graphify.sh +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/granite_chunker_assess.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/graph_status.sh +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/ingest_acord.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/ingest_compliance_async_prod2.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/ingest_compliance_document_prod2.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/ingest_compliance_prod2.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/ingest_cuad.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/ingest_cuad_full.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/ingest_ftc_compliance.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/ingest_prod1.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/ingest_prod1_async.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/ingest_smoke.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/install_git_hooks.sh +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/label_new_functions.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/legb_function_gate_recall.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/make_compliance_fixtures.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/make_compliance_gold.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/mcp_compliance_agent_demo.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/mcp_intra_document_qa_smoke.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/mcp_query_legs_agent_demo.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/measure_generation_robustness.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/measure_silver.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/merge_docs_into_framework.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/migrate_entity_cik_to_canonical_id.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/migrate_silver_evidence_autotag.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/migrate_silver_evidence_remove_autotag.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/migrate_span_fields.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/mine_scarce_functions.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/modal_arcadedb.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/modal_backfill.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/modal_exception_linking.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/modal_gemma4_vllm.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/modal_gemma4_vllm_snapshot.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/modal_granite_server.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/modal_granite_throughput.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/modal_granite_vllm_server.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/modal_query_app.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/modal_qwen3_27b_bench.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/modal_qwen3_27b_snapshot.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/modal_qwen3_vllm_server.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/modal_stack_a100.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/ocr_benchmark.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/ocr_preprocess.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/ontology_dimension_check.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/phase_a_leg_validate.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/populate_clause_kg.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/populate_entity_graph.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/populate_entity_graph_extracted.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/populate_property_store.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/prep_relational_verification.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/publish_manifests.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/reclassify_kg.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/refresh_framework_graph.sh +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/revert_reclass_flips.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/run_acord_retrieval.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/run_clause_exception_linking.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/semantic_judge_live_validate.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/semantic_judge_probe.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/snapshot_leg_a_eval.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/stack_correctness_validate.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/table_retrieval_smoke.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/train_function_classifier.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/train_legalbert_function.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/train_legalbert_modal.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/typed_rerank_validate.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/verify_wheel_install.sh +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/vllm_extraction_ab.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/vllm_kg_query_validate.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/scripts/vllm_raw_diagnostic.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/api/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/api/config.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/api/discover.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/api/documents.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/api/ids.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/api/invoke.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/api/kg.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/api/mcp.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/api/usage.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/api/workspace.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/answer_generator.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/ard.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/chunk_read.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/chunk_write.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/disambiguation.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/document_parse.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/document_scope.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/embedding.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/embedding_profiles.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/entity_resolution.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/fusion.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/graph_query.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/graph_storage.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/hybrid_search.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/invoke.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/jev_decision.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/manifests.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/okf_navigate.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/parsing.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/registry.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/remote_encoders.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/reranking.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/retrieval_core.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/rlm_chunking.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/rlm_synthesis.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/scan_quality.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/span_relevance_judgment.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/vision_to_text.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/capabilities/vlm_ocr.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/contracts/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/contracts/chunk.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/contracts/extraction.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/contracts/graph.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/contracts/identifiers.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/contracts/ingestion.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/contracts/provenance.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/contracts/span.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/corpus/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/corpus/canonicalize.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/corpus/document_parser.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/corpus/embedded.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/corpus/http.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/ingestion/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/ingestion/builder.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/ingestion/evaluate.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/ingestion/group.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/ingestion/layout.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/ingestion/segment.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/ingestion/tables.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/models/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/models/profiles.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/models/seam.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/models/tag_structured.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/models/tracing.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/models/usage.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/okf/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/okf/compile.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/okf/document.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/okf/enrich.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/okf/links.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/okf/lint.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/ontology/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/ontology/pack_schema.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/ontology/registry.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/capabilities/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/capabilities/assertion_extraction.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/capabilities/claim_extraction.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/capabilities/compliance_judgment.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/capabilities/compliance_store.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/capabilities/requirement_extraction.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/invokers.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/mcp/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/mcp/compliance_server.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/ontology/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/ontology/compliance_bridge.ttl +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/ontology/loader.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/ontology/packs/ftc_16cfr255.ttl +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/pack.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/schemas/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/schemas/compliance.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/skills/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/skills/claim_extraction/SKILL.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/skills/claim_extraction/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/skills/claim_extraction/template.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/skills/compliance_judgment/SKILL.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/skills/generic_compliance_judgment/SKILL.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/skills/requirement_extraction/SKILL.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/skills/requirement_extraction/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/skills/requirement_extraction/template.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/subgraphs/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/subgraphs/compliance_check.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/subgraphs/compliance_ingestion.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/compliance/subgraphs/requirement_extraction.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/capabilities/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/capabilities/clause_exception_linking.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/capabilities/contract_kg_serve.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/capabilities/contract_kg_store.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/capabilities/dg_extraction.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/capabilities/graph_extraction.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/capabilities/highlight_serve.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/capabilities/property_boosted_retrieval.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/capabilities/query_function_classifier.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/capabilities/query_understanding.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/corpus/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/corpus/cuad.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/corpus/cuad_ingestion.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/corpus/edgar.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/corpus/gcs_ingestion.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/corpus/selection.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/mcp/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/mcp/intra_document_qa_server.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/mcp/relational_qa_server.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/mcp/session_store.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/mcp/typed_property_retrieval_server.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/ontology/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/ontology/_generated_template_meta.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/ontology/_generated_vocab.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/ontology/clause_template.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/ontology/codegen.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/ontology/contract_bridge.ttl +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/ontology/contract_taxonomy.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/ontology/derive.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/ontology/loader.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/ontology/template_introspect.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/options.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/pack.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/schemas/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/schemas/contract_meta.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/schemas/function.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/schemas/function_routing.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/schemas/highlight.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/schemas/jurisdiction.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/schemas/ontology.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/schemas/property.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/schemas/query_intent.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/schemas/value_match.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/skills/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/skills/corpus_ingest/SKILL.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/skills/extraction_semantic_judge/SKILL.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/skills/extraction_semantic_judge/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/boundary.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/clause_function_classifier.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/clause_kg_extractor.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/cuad_labels.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/dim_classifier.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/dim_fleet.json +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/function_classifier.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/function_families.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/hybrid_classifier.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/legalbert_classifier.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/model_capabilities.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/new_function_labels.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/property_extractor.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/property_grounding.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/reclassify.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/residual_candidates.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/scarce_function_labels.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/segment.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/semantic_judge.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/symbolic_validation.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/spans/tag_clause_extractor.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/subgraphs/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/subgraphs/async_ingestion.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/subgraphs/contract_ingestion_pipeline.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/subgraphs/intra_document_qa.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/subgraphs/query_constraint_extraction.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/subgraphs/relational_qa.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/subgraphs/typed_clause_extraction.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/packs/contracts/subgraphs/typed_property_retrieval.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/py.typed +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/skills/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/skills/generation/SKILL.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/skills/generation/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/skills/okf_navigate/SKILL.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/skills/rlm/SKILL.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/skills/rlm/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/skills/rlm/agent.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/skills/span_relevance_judgment/SKILL.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/skills/vision_to_text/SKILL.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/skills/vision_to_text/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/spans/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/spans/page_map.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/store/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/store/arcadedb.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/store/chunk_text.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/store/seam.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/subgraphs/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/subgraphs/graph_extraction.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/subgraphs/observability.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/subgraphs/scaffold.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/subgraphs/semantic_chunking.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/util/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/util/concurrent.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/src/rag_wright/util/spacy_model.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/api/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/api/test_capability_reexports.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/api/test_discover.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/api/test_documents.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/api/test_e2e.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/api/test_invoke.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/api/test_kg.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/api/test_mcp.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/api/test_options.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/api/test_usage.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/api/test_workspace.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/arch/test_api_docs_current.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/arch/test_doc_references.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/arch/test_import_contracts.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/async_helpers.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/_fixtures/rlm_probe_skill/SKILL.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_answer_generator.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_answer_generator_async.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_assertion_extraction.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_authoring_contract.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_chunk_read.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_chunk_write.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_claim_extraction.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_clause_exception_linking.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_compliance_judgment.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_compliance_store.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_contract_kg_serve.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_contract_kg_store.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_contract_kg_store_reads.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_contract_taxonomy_and_spans.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_dg_adapter.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_dg_async.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_dg_extraction.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_dg_model_seam.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_dg_private.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_disambiguation.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_document_scope.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_embedding.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_embedding_profiles.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_entity_resolution.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_fusion.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_graph_extraction.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_graph_query.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_graph_storage.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_highlight_serve.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_hybrid_search.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_jev_decision.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_manifest_validation.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_manifests.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_okf_compile.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_okf_links.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_okf_navigate.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_parsing.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_parties_extraction.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_property_boosted_retrieval.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_query_function_classifier.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_query_understanding.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_registry.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_remote_encoders.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_repair_partition.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_requirement_extraction.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_reranking.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_retrieval_core.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_rlm_chunking.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_rlm_chunking_async.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_rlm_method.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_rlm_synthesis.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_runtime_registry.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_scan_quality.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_span_relevance_judgment.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_structural_boundary_discoverer.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_structural_model_fallback.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_tag_boundary_discoverer.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_tiered_ocr.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/capabilities/test_vlm_ocr.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/compliance_fakes.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/conftest.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/contracts/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/contracts/test_canonical_source_doc_id.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/contracts/test_chunk_record.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/contracts/test_compliance.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/contracts/test_cuad_highlight_contracts.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/contracts/test_extraction.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/contracts/test_function.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/contracts/test_function_routing.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/contracts/test_identifiers.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/contracts/test_ingestion_hooks.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/contracts/test_jurisdiction.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/contracts/test_ontology.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/contracts/test_property.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/contracts/test_provenance.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/contracts/test_value_match.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/corpus/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/corpus/_ooxml_fixtures.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/corpus/test_canonicalize.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/corpus/test_cuad.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/corpus/test_cuad_ingestion.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/corpus/test_document_parser.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/corpus/test_edgar.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/corpus/test_embedded.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/corpus/test_gcs_ingestion.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/corpus/test_http.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/corpus/test_parse_wire2.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/corpus/test_selection.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/eval/test_contractnli_judge.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/eval/test_cuad_highlight_metrics.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/eval/test_kg_property_rerank.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/eval/test_nl_to_type_metrics.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/eval/test_relational_eval.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/fixtures/ingestion/segmenter_gold.json +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/fixtures/ingestion/textile_spec_sheet.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/fixtures/ingestion/textile_test_report.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/fixtures/leg_a_silver/README.md +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/fixtures/leg_a_silver/evidence_snapshot.json +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/fixtures/table-bearing-contract.pdf +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/foundation/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/foundation/test_arcadedb_hybrid.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/foundation/test_model_seam_structured.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ingestion/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ingestion/test_builder.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ingestion/test_evaluate.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ingestion/test_layout_segmenter.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ingestion/test_spreadsheet_content.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ingestion/test_table_rows.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ingestion/test_tuning.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ingestion/test_unit_grouper.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/journey/incidents_domain.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/journey/incidents_pack.ttl +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/journey/test_incidents_journey.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/journey/test_pack_schema.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/mcp/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/mcp/test_compliance_server.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/mcp/test_intra_document_qa_server.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/mcp/test_no_model_supplied_tenant.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/mcp/test_relational_qa_server.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/mcp/test_typed_property_retrieval_server.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/models/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/models/test_async_infra.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/models/test_profile_routing.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/models/test_profile_seam.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/models/test_seam_async.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/models/test_seam_retry.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/models/test_seam_stream.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/models/test_serving_seam.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/models/test_serving_wiring.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/models/test_tag_structured.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/models/test_tag_structured_async.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/models/test_tracing.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/models/test_usage.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ontology/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ontology/test_clause_template.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ontology/test_compliance_ontology_authoritative.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ontology/test_derivation.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ontology/test_entity_taxonomy.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ontology/test_generated_template_meta_in_sync.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ontology/test_generated_vocab_in_sync.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ontology/test_template_captured_in_ttl.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/ontology/test_ttl_is_source_of_truth.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/reference/test_compliance_reference.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/scripts/test_eval_chunking_ab.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/scripts/test_eval_classifier_ab.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/skills/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/skills/test_ingestion_skill_example.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_boundary.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_classifier_property_extractor.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_clause_classifier_tags_0005.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_clause_function_classifier.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_clause_function_classifier_async.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_clause_kg_extractor.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_clause_kg_extractor_async.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_dim_classifier.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_dim_fleet_live.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_function_classifier.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_hybrid_classifier.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_hybrid_property_extractor.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_legalbert_classifier.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_model_capabilities.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_new_function_labels.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_page_map.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_property_extractor.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_property_grounding.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_reclassify.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_residual_decision.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_scarce_function_labels.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_segment.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_segmentation_vocab.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_semantic_judge.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_setfit_clause_adapter.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_span_offsets.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_stage_labels_0005.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_symbolic_validation.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/spans/test_tag_clause_extractor.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_affiliation_backfill.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_arcadedb_clause_kg.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_arcadedb_contract.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_arcadedb_property.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_arcadedb_requirement_sources.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_arcadedb_schema.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_arcadedb_span.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_chunk_text.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_concurrent_writes.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_document_scope.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_engine_domain_neutral.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_entities_by_name.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_kg_edges.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_kg_read.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_kg_write.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_neutral_schema.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/store/test_write_graph_idempotent.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_async_ingestion.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_chunk7_structure_carry.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_clause_results.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_compliance_check.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_compliance_ingestion.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_contract_ingestion_pipeline.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_contract_ingestion_pipeline_async.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_contract_ingestion_pipeline_graph_async.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_graph_extraction.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_ingest_knobs.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_ingest_segment_classify.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_intra_document_qa.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_observability.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_partial_entry_contract.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_query_constraint_extraction.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_relational_qa.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_requirement_extraction.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_scaffold.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_semantic_chunking.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_typed_clause_extraction.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/subgraphs/test_typed_property_retrieval.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/test_backfill_clause_span_id.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/test_dg_model_ab.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/test_populate_clause_kg.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/test_populate_entity_graph.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/util/__init__.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/util/test_concurrent.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/tests/util/test_spacy_model.py +0 -0
- {rag_wright-0.2.0 → rag_wright-0.2.1}/uv.lock +0 -0
|
@@ -14,6 +14,8 @@ description: >-
|
|
|
14
14
|
You are building a **product** in its own repo on top of the RAG_Wright **engine** package. The engine is
|
|
15
15
|
open-core and domain-neutral; your product brings the domain. Hard rules:
|
|
16
16
|
|
|
17
|
+
- **You own your capabilities.** The engine's catalog starts empty; your seam registers everything you invoke, at
|
|
18
|
+
startup (section 1). The contract/compliance capabilities are the engine's reference pack, not the engine.
|
|
17
19
|
- **Product → Engine, one way.** Never fork, edit, or reach into engine internals. If the engine needs a change,
|
|
18
20
|
flag it upstream — don't work around it here.
|
|
19
21
|
- **The public surface is `rag_wright.api`.** Import `EngineConfig`/`StoreConfig`/`open_workspace`, the invokers
|
|
@@ -35,13 +37,27 @@ open-core and domain-neutral; your product brings the domain. Hard rules:
|
|
|
35
37
|
## 1. Install
|
|
36
38
|
|
|
37
39
|
```sh
|
|
38
|
-
uv add rag-wright
|
|
40
|
+
uv add 'rag-wright>=0.2.0' # released-product mode (PyPI); see below for local co-development
|
|
39
41
|
```
|
|
40
42
|
|
|
41
43
|
Stand up the runtime prerequisites you provide: ArcadeDB (the store), a model provider (OpenRouter or self-hosted
|
|
42
44
|
vLLM), and — only for NER — `uv add 'rag-wright[ner]'` + `uv run python -m spacy download en_core_web_sm`.
|
|
43
45
|
Read the engine's **installation** + **configuration** docs for the exact `.env` and `EngineConfig` fields.
|
|
44
46
|
|
|
47
|
+
**Local co-development** (engine and product developed together on one machine): keep the floor and add an editable
|
|
48
|
+
source so engine changes are picked up immediately: `[tool.uv.sources] rag-wright = { path = "<engine checkout>",
|
|
49
|
+
editable = true }`. Check against the published release with `uv sync --no-sources` (never with `--locked`; never
|
|
50
|
+
commit the `uv.lock` it rewrites). Switch to the PyPI mode above once the product has CI, deploys or other developers.
|
|
51
|
+
The product-starter playbook (section 5) has both modes.
|
|
52
|
+
|
|
53
|
+
**The product owns its capabilities.** The engine starts with an EMPTY catalog and never registers anything on your
|
|
54
|
+
behalf. In your engine seam, once, at startup, before any ingest or query: register your own pack
|
|
55
|
+
(`load_pack("<your pack module>")`) and the engine capabilities you use
|
|
56
|
+
(`for m in engine_capabilities(): register_capability(m)`); `load_reference_pack()` only if you build on the engine's
|
|
57
|
+
contract/compliance worked example. The engine's `src/rag_wright/packs/reference_seam.py` shows the shape (it
|
|
58
|
+
registers in its constructor). Without it `ainvoke_subgraph` raises `KeyError` and the decision-model paths fall back
|
|
59
|
+
silently to the LLM.
|
|
60
|
+
|
|
45
61
|
## 2. Ground before you write (graphify)
|
|
46
62
|
|
|
47
63
|
Never call an engine API you have not confirmed against the index. Build the grounding lanes and query them first:
|
|
@@ -4,6 +4,13 @@ All notable changes to RAG_Wright are documented here. The format follows
|
|
|
4
4
|
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and the project aims to follow
|
|
5
5
|
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
+
## [0.2.1](https://github.com/fzaidi-dai/RAG_Wright/compare/0.2.0...0.2.1) (2026-10-08)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Bug Fixes
|
|
11
|
+
|
|
12
|
+
* **reference:** the product owns its capabilities; the reference seam registers its own ([2fe1140](https://github.com/fzaidi-dai/RAG_Wright/commit/2fe114085e84c3b71ab00f3f126c68bd81086554))
|
|
13
|
+
|
|
7
14
|
## [0.2.0](https://github.com/fzaidi-dai/RAG_Wright/compare/0.1.0...0.2.0) (2026-10-07)
|
|
8
15
|
|
|
9
16
|
|
|
@@ -55,24 +55,28 @@ The failure mode to avoid, which has happened before: a command fails with "modu
|
|
|
55
55
|
|
|
56
56
|
## Start of every session
|
|
57
57
|
|
|
58
|
-
> **CURRENT
|
|
59
|
-
>
|
|
60
|
-
>
|
|
61
|
-
>
|
|
62
|
-
>
|
|
63
|
-
>
|
|
64
|
-
>
|
|
65
|
-
>
|
|
66
|
-
>
|
|
58
|
+
> **CURRENT STATE (2026-10-08): no active engine workstream.** The **ingestion-hooks** workstream (ADR-0124) is
|
|
59
|
+
> COMPLETE and released as **`rag-wright` 0.2.0** (PyPI + GitHub tag/release `0.2.0`; release process
|
|
60
|
+
> `docs/releasing.md`): the generic `build_ingestion` with hooks and domain-neutral defaults, the neutral default
|
|
61
|
+
> schema, the reference pack in `rag_wright.packs.{contracts,compliance}` behind an import boundary, generic span
|
|
62
|
+
> fields, and the pack-authoring helpers on `rag_wright.api`. Its plan + ledger is
|
|
63
|
+
> **`docs/specs/ingestion-hooks/plan.md`** (`ING-*`, all done); every breaking change is in
|
|
64
|
+
> `docs/specs/ingestion-hooks/ing8-breaking-changes.md`. **Next (user gates):** the RuleWright migration, done in the
|
|
65
|
+
> RuleWright repo from `docs/specs/ingestion-hooks/rulewright-migration-0.2.0.md` (never edited from here), and the
|
|
66
|
+
> TexWright build. Open engine follow-ups: `docs/domain-adaptation/_engine-gaps.md`. A new engine workstream gets its
|
|
67
|
+
> own plan + ledger under `docs/specs/<name>/`; until one is agreed, read `tasks.md`'s top block for the resume point.
|
|
68
|
+
> Earlier workstreams, all complete: engine-prep (`docs/specs/engine-prep/plan.md`, `PREP-*`) and the
|
|
69
|
+
> **engine-platform boundary** (engine API layer + capability runtime + de-domaining, ADR-0117/0052/0066/0067;
|
|
70
|
+
> `docs/specs/engine-platform/SPEC.md` + `TASKS.md`, the reference for that surface). The root
|
|
67
71
|
> `SPEC.md`/`plan.md`/`tasks.md` carry orientation banners (ADR-0052: engine/product split, GraphWright parked);
|
|
68
72
|
> historical/superseded docs are under `docs/archive/`, and the ADR index is `docs/adr/README.md`.
|
|
69
73
|
>
|
|
70
|
-
> **The consolidated doc set** (engine-prep WS2/WS4): `docs/concepts.md`, `docs/architecture.md`,
|
|
74
|
+
> **The consolidated doc set** (engine-prep WS2/WS4, audited in ING-5): `docs/concepts.md`, `docs/architecture.md`,
|
|
71
75
|
> `docs/installation.md`, `docs/configuration.md`, `docs/quickstart.md` (+ `examples/quickstart.py`),
|
|
72
76
|
> `docs/reference-pack.md`, the generated `docs/api/`, and the domain-adaptation guide
|
|
73
77
|
> `docs/domain-adaptation/` (ontology authoring, KG construction, entity resolution, authoring capabilities,
|
|
74
78
|
> classification & decision models) + `_engine-gaps.md`. The product-starter templates are
|
|
75
|
-
> `docs/templates/product-starter/`.
|
|
79
|
+
> `docs/templates/product-starter/`. `tests/arch/test_doc_references.py` keeps these docs naming only what exists.
|
|
76
80
|
|
|
77
81
|
Before doing anything else:
|
|
78
82
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: rag-wright
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.1
|
|
4
4
|
Summary: A domain-retargetable, open-core engine for hybrid retrieval + knowledge-graph RAG: parsing, chunking, embedding, hybrid search, reranking, graph extraction, entity resolution, ontology-driven knowledge, and a capability runtime.
|
|
5
5
|
Project-URL: Homepage, https://github.com/fzaidi-dai/RAG_Wright
|
|
6
6
|
Project-URL: Repository, https://github.com/fzaidi-dai/RAG_Wright
|
|
@@ -55,8 +55,11 @@ Three things matter for a new domain:
|
|
|
55
55
|
`(resources, inputs) -> result` factory) is invoked **by name** through the engine — zero engine edits. Capabilities
|
|
56
56
|
without one (most `function`s) are composed by direct import. In the reference pack, 9 of 36 capabilities are
|
|
57
57
|
invocable-by-name; the rest are composed or served.
|
|
58
|
-
- **The catalog ships empty.** The runtime ARD catalog (`MANIFEST_SPECS`) is empty on
|
|
59
|
-
|
|
58
|
+
- **The catalog ships empty, and the product owns it.** The runtime ARD catalog (`MANIFEST_SPECS`) is empty on
|
|
59
|
+
install and import; nothing in the engine registers capabilities on a product's behalf. A product registers what it
|
|
60
|
+
invokes, once, at startup in its seam: its own pack (`load_pack`), the engine's domain-neutral capabilities it uses
|
|
61
|
+
(`engine_capabilities()` offers their definitions), and the reference pack only if it builds on that worked example
|
|
62
|
+
(`load_reference_pack()`). The contract/compliance capabilities belong to the reference pack, not to the engine. The invoker
|
|
60
63
|
resolves `impl_ref` lazily — there is no central adapter table.
|
|
61
64
|
- **Packs and canonical slugs.** A registration is accepted only for a canonical slug. The engine's own generic
|
|
62
65
|
capabilities (generation, the RLM skills, vision-to-text, the `jev_decision` decision model, span relevance
|
|
@@ -114,6 +114,79 @@ they are the real "does a new customer benefit?" items. The genuine engine ones
|
|
|
114
114
|
- **Proposed:** export `publish` (with a target root) from `rag_wright.api`.
|
|
115
115
|
- Surfaced: ING-5 doc audit.
|
|
116
116
|
|
|
117
|
+
### G15: No public accessor for the workspace store (pack store extensions take `ws._store`)
|
|
118
|
+
- **Where:** `WorkspaceHandle` documents its store as engine-internal ("NOT a product accessor"), yet a pack's store
|
|
119
|
+
extension (`ContractKGStore`, `ComplianceStore`, or a product pack's own) wraps the workspace store, and the reference
|
|
120
|
+
seam builds them from `ws._store` (7 uses in `packs/reference_seam.py`); the adaptation guides do the same.
|
|
121
|
+
- **Impact:** a product following the reference seam reaches a private attribute; the API reference and the worked
|
|
122
|
+
example contradict each other.
|
|
123
|
+
- **Interim rule (given to RuleWright):** `ws._store` is sanctioned only to construct a pack store extension.
|
|
124
|
+
- **Proposed:** a public, typed way to hand the workspace store to a pack store extension (a read-only `Store`-protocol
|
|
125
|
+
accessor, or a `pack_store(ws, cls)` helper), then correct the API reference and the reference seam.
|
|
126
|
+
- Surfaced: RuleWright migration Q&A (2026-10-08).
|
|
127
|
+
|
|
128
|
+
### G16: No public bytes entry for document parsing
|
|
129
|
+
- **Where:** every public parse entry takes a filesystem path (`parse_document`, `aparse_document`,
|
|
130
|
+
`IngestSource(path=...)`); the bytes entry `capabilities.document_parse.aparsed_source_document(source_doc_id, name,
|
|
131
|
+
data, *, cache_dir, metadata=None, deadline_s=600.0, include_hidden_sheets=True, tuning=None)` (and its sync twin) is
|
|
132
|
+
generic engine code but not exported. The compliance invoker already accepts bytes, so the surface is asymmetric.
|
|
133
|
+
- **Impact:** a product ingesting uploads (bytes from object storage) imports an engine module or spills to temp files.
|
|
134
|
+
- **Proposed:** export a bytes entry from `rag_wright.api` (e.g. `aparse_document_bytes(document_id, name, data, *,
|
|
135
|
+
cache_dir, ...)`), and accept bytes sources in `build_ingestion`.
|
|
136
|
+
- Surfaced: RuleWright migration Q&A (2026-10-08).
|
|
137
|
+
|
|
138
|
+
### G17: `ModelRole` is required by the public API but not exported
|
|
139
|
+
- **Where:** `WorkspaceHandle.model_id(role: ModelRole)` takes it and `EngineConfig.models` is keyed by its values, but
|
|
140
|
+
`ModelRole` lives in `rag_wright.models.profiles` only.
|
|
141
|
+
- **Impact:** a product cannot use `model_id` or name a role override without an engine-internal import.
|
|
142
|
+
- **Proposed:** export `ModelRole` from `rag_wright.api`. (`model_for` / `PROFILES` stay internal: `ws.model_id(role)`
|
|
143
|
+
and `EngineConfig.models` are the product route.)
|
|
144
|
+
- Surfaced: RuleWright migration Q&A (2026-10-08).
|
|
145
|
+
|
|
146
|
+
### G18: A product cannot meter or trace its own model calls through the public API
|
|
147
|
+
- **Where:** `measure_usage()` (public) is the same per-task scope as `models.usage.usage_scope` (context variable,
|
|
148
|
+
additive nesting), but adding a product's own model call to those scopes needs `models.usage.record_usage`, and
|
|
149
|
+
correlating engine traces with the product's (Langfuse) needs `models.tracing` (`traced_run`, `traced_step`,
|
|
150
|
+
`start_generation` / `finish_generation`); neither is exported.
|
|
151
|
+
- **Impact:** a product's per-tier / per-run cost attribution and its trace correlation depend on engine internals.
|
|
152
|
+
- **Proposed:** export `record_usage` and a small tracing-correlation surface (`traced_run`, `traced_step`) from
|
|
153
|
+
`rag_wright.api`.
|
|
154
|
+
- Surfaced: RuleWright migration Q&A (2026-10-08).
|
|
155
|
+
|
|
156
|
+
### G19: Answer generation and relevance judgment are not invocable by a product
|
|
157
|
+
- **Where:** the engine capabilities `generation` and `span_relevance_judgment` are `agent_skill`s with no `impl_ref`;
|
|
158
|
+
their implementations (`capabilities.answer_generator.agenerate_answer` with `EvidenceItem`,
|
|
159
|
+
`capabilities.span_relevance_judgment` with `RelevanceVerdict`) and the query embedder
|
|
160
|
+
(`capabilities.remote_encoders.query_embedder`) are not exported. Only `jev_decision` of the 7 engine capabilities is
|
|
161
|
+
invocable by name.
|
|
162
|
+
- **Impact:** a product composing its own question answering over engine retrieval reaches into engine modules.
|
|
163
|
+
- **Proposed:** expose them as invocable model capabilities (an `impl_ref` + typed inputs/outputs) or export their entry
|
|
164
|
+
points and types from `rag_wright.api`; decide whether a product needs the query embedder directly.
|
|
165
|
+
- Surfaced: RuleWright migration Q&A (2026-10-08).
|
|
166
|
+
|
|
167
|
+
### G20: Trained classifier weights are not packaged and the property fleet's location is not configurable
|
|
168
|
+
- **Where:** the reference pack's classifiers load weights from the engine checkout's gitignored `data/models/`. The
|
|
169
|
+
clause-type SetFit ensemble honours `RAG_SETFIT_CLAUSE_DIR`; the 29-dimension property fleet resolves
|
|
170
|
+
`data/models` relative to its source file (`packs/contracts/spans/dim_classifier.py`, `_MODELS_DIR`), and the
|
|
171
|
+
production path calls `load_dim_registry()` without a `models_dir`, so there is no setting to point it elsewhere.
|
|
172
|
+
- **Impact:** the fleet works only from an engine checkout (an editable install); from a PyPI install it finds no
|
|
173
|
+
weights. A product that owns copies of the weights (the agreed direction) cannot point the fleet at them.
|
|
174
|
+
- **Proposed:** a configurable models directory for every classifier (an env var / `EngineConfig` option), and the
|
|
175
|
+
reference pack's weights published as a downloadable GCS archive (then removed from the engine checkout).
|
|
176
|
+
- Surfaced: RuleWright migration Q&A (2026-10-08).
|
|
177
|
+
|
|
178
|
+
### G21: No defined "pack SDK" surface for pack code
|
|
179
|
+
- **Where:** a pack's code (the reference pack today, a product's forked pack next) imports about 30 engine-internal
|
|
180
|
+
modules (`contracts.*`, `models.seam` / `models.tag_structured` / `models.profiles`, `subgraphs.scaffold`,
|
|
181
|
+
`store.seam`, several `capabilities.*`, `util.concurrent`) and makes 18 raw store queries (`_store._query` /
|
|
182
|
+
`_store._command`). Only the seam-level surface (`rag_wright.api`) is declared stable.
|
|
183
|
+
- **Impact:** a product that owns its pack (the agreed direction for RuleWright) depends on engine internals; any engine
|
|
184
|
+
refactor can break it without a declared contract.
|
|
185
|
+
- **Proposed:** define and document a stable pack-author tier (which modules and types a pack may import, with the
|
|
186
|
+
same compatibility promise as `rag_wright.api`), give pack store extensions a query primitive instead of raw SQL, and
|
|
187
|
+
enforce the boundary for pack code the way the import contracts enforce it for generic code.
|
|
188
|
+
- Surfaced: RuleWright migration Q&A (2026-10-08).
|
|
189
|
+
|
|
117
190
|
## Resolved during engine-prep (for the record)
|
|
118
191
|
|
|
119
192
|
- **spaCy is an optional runtime asset**, not a hard/direct-URL dependency — the publish blocker is gone
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
# Ontology induction from a domain corpus: OntoCast evaluation + a home-grown design
|
|
2
|
+
|
|
3
|
+
Status: PROPOSAL (2026-10-08), DEFERRED. Nothing here is built or run yet. Two pieces of work are parked: (1) a live
|
|
4
|
+
evaluation of OntoCast as a baseline, and (2) building our own ontology-induction capability. Scope: an engine
|
|
5
|
+
capability (domain-neutral); the review UI belongs to a product.
|
|
6
|
+
|
|
7
|
+
> One-line: for domains with no good public ontology, or to enrich one we have, induce an ontology from the domain's
|
|
8
|
+
> corpus with an agentic propose / ground / consolidate / judge / critique loop, and emit a full pack `.ttl` in which
|
|
9
|
+
> every term carries evidence and a confidence, low-confidence terms going to a human review queue.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 1. Why
|
|
14
|
+
|
|
15
|
+
Our engine keeps domain knowledge in a pack `.ttl` (ADR-0066). Authoring one by hand is the slowest step of adapting
|
|
16
|
+
the engine to a new domain (`docs/domain-adaptation/ontology-authoring.md`). A corpus-driven inducer would draft that
|
|
17
|
+
pack, and the same loop could enrich an existing pack (e.g. the contracts pack) with what a new corpus shows.
|
|
18
|
+
|
|
19
|
+
## 2. OntoCast: desk review (code-level, 2026-10-08)
|
|
20
|
+
|
|
21
|
+
[OntoCast](https://github.com/growgraph/ontocast) v0.6.7, Apache-2.0, "agentic ontology and knowledge graph
|
|
22
|
+
co-generation". Read from the code (not installed or run); file references are to its repository at v0.6.7.
|
|
23
|
+
|
|
24
|
+
**Design (what it gets right):**
|
|
25
|
+
- A LangGraph pipeline: convert, chunk (sections, then semantic or naive chunks of 3,000 to 12,000 characters), an
|
|
26
|
+
ontology phase, then a facts phase, then serialize. Units are processed in parallel (`asyncio.gather` + semaphore).
|
|
27
|
+
- Per unit: render once, then critic passes. Each pass runs **deterministic findings first**, then one critic LLM
|
|
28
|
+
call, then applies each proposed fix **one at a time, rolling it back** if the unit gets worse.
|
|
29
|
+
- The model emits **patches** (insert/delete), never a regenerated ontology; patches are merged (insert wins),
|
|
30
|
+
partitioned by namespace ownership, and applied to a versioned catalog (graph-hash lineage, `prov:wasDerivedFrom`,
|
|
31
|
+
semantic version bumps).
|
|
32
|
+
- Client-side parsing (JSON envelope with Turtle inside, three repair levels, retry with the error fed back): works
|
|
33
|
+
with OpenRouter and open models without tool calling.
|
|
34
|
+
- A strong offline test suite (about 1,900 tests, model calls stubbed), an LLM response cache, an embeddable
|
|
35
|
+
LangGraph node.
|
|
36
|
+
|
|
37
|
+
**Cost:** about 2 to 4 model calls per unit with defaults (render, plus a critic pass, plus a selection call when a
|
|
38
|
+
catalog exists), up to 3x on parse failures. No hard call or token budget.
|
|
39
|
+
|
|
40
|
+
**Gaps against our needs:**
|
|
41
|
+
|
|
42
|
+
| Gap | Detail |
|
|
43
|
+
|---|---|
|
|
44
|
+
| Fragmentation | Induced from scratch, each unit mints its own ontology (its own IRI); same-IRI results are unioned, different ones only pairwise de-duplicated. No corpus-wide consolidation. |
|
|
45
|
+
| No confidence | Facts and terms carry no confidence. |
|
|
46
|
+
| Coarse provenance | Facts cite a chunk (3,000 to 12,000 characters), not a span; the ontology dump carries no provenance. |
|
|
47
|
+
| Incomplete schema | The prompt does not require `rdfs:domain` / `rdfs:range`; no SKOS concept schemes; no SHACL generated for the ontology. |
|
|
48
|
+
| No extend-only guarantee | Enrichment can propagate a `delete_graph` onto the supplied ontology in some modes. |
|
|
49
|
+
| No quality evidence | No ontology-quality metric or benchmark in the repository (results live in a separate repository). |
|
|
50
|
+
| Churn | Seven releases in two months, several breaking (wire format, defaults). |
|
|
51
|
+
| Open-model handling | No `<think>` stripping or `extra_body` passthrough. |
|
|
52
|
+
|
|
53
|
+
## 3. Proposed design: our own inducer
|
|
54
|
+
|
|
55
|
+
Built on what the engine already has: `build_ingestion` units with span provenance, Qwen via tag-parse
|
|
56
|
+
(ADR-0045), Jev typed decisions (ADR-0119), local BGE-M3 embeddings, entity resolution and disambiguation, the
|
|
57
|
+
property-grounding judge (ADR-0028), the pack `.ttl` format with `eng:` declarations, SKOS and SHACL, and our eval
|
|
58
|
+
practice.
|
|
59
|
+
|
|
60
|
+
**Stages:**
|
|
61
|
+
|
|
62
|
+
1. **Propose (Qwen, per unit).** Candidate classes, properties and value sets, each with a verbatim evidence quote
|
|
63
|
+
from the unit. Tag-parse output.
|
|
64
|
+
2. **Ground (local).** Drop any proposal whose quote is not in the unit text; keep the span id as provenance.
|
|
65
|
+
3. **Consolidate across the corpus (local).** Embed, cluster, entity-resolve and disambiguate the candidates;
|
|
66
|
+
count support (how many documents and units propose each).
|
|
67
|
+
4. **Judge (Jev, batched per cluster).** Typed decisions: is it a domain concept; class, property or value; which
|
|
68
|
+
parent; merge these near-duplicates or not; closed value set or open text.
|
|
69
|
+
5. **Critique.** Deterministic checks first (cycles, label collisions, orphans, missing domain/range as a blocking
|
|
70
|
+
finding), then a Qwen critic proposing patches, each applied alone and rolled back if it makes things worse
|
|
71
|
+
(OntoCast's pattern).
|
|
72
|
+
6. **Emit.** A full pack `.ttl`: OWL classes and properties with domain/range, SKOS concept schemes for value sets,
|
|
73
|
+
SHACL shapes, `eng:KgVertexType` declarations; every term annotated with its evidence spans and confidence.
|
|
74
|
+
7. **Review.** Terms below a confidence threshold go to a review queue (export API); accepted/rejected decisions come
|
|
75
|
+
back (import API) and update the pack. The decisions are also labelled data for training a classifier or Laya to
|
|
76
|
+
replace Jev on common judgments later (ADR-0115/0116/0119 pattern).
|
|
77
|
+
|
|
78
|
+
**Confidence per term:** a combination of the Jev decision score, corpus support, grounding, and critic agreement
|
|
79
|
+
(the exact model is a design task).
|
|
80
|
+
|
|
81
|
+
**Enrichment mode:** the seed pack is read-only; the inducer emits only additions under its own namespace
|
|
82
|
+
(extend-only by construction), each reviewed like an induced term.
|
|
83
|
+
|
|
84
|
+
**Boundaries:** the inducer is a domain-neutral engine capability, registered like any other (its own ADR and
|
|
85
|
+
workstream under `docs/specs/ontology-induction/`); the review UI is product work; domain seeds and naming
|
|
86
|
+
conventions stay in packs.
|
|
87
|
+
|
|
88
|
+
## 4. Evaluation plan
|
|
89
|
+
|
|
90
|
+
**Corpus:** 8 substantive CUAD contracts, stratified across agreement types (license, distribution, supply,
|
|
91
|
+
development, franchise, services, maintenance, endorsement), 15,000 to 60,000 characters each (about 300,000
|
|
92
|
+
characters, roughly 40 to 60 units). CUAD is restrictively licensed: outputs stay local, never committed.
|
|
93
|
+
|
|
94
|
+
**Reference:** the curated contracts pack (`contract_bridge.ttl`): 52 clause types, 29 property dimensions with closed
|
|
95
|
+
value sets, entity and relationship types.
|
|
96
|
+
|
|
97
|
+
**Metrics:** recall of reference concepts (label and BGE-M3 similarity matching, no model calls); precision from a
|
|
98
|
+
manual review of a sample of induced terms; structure (labels, domain/range coverage, hierarchy); fragmentation and
|
|
99
|
+
the per-document growth curve; deletions (enrichment); repeatability across runs; calls, tokens and cost per document.
|
|
100
|
+
|
|
101
|
+
**Experiments (both systems where they apply):**
|
|
102
|
+
- **E1a** induce from scratch (OntoCast default);
|
|
103
|
+
- **E1b** induce into a single header-only seed (OntoCast fixed mode; the fragmentation fix to test);
|
|
104
|
+
- **E2** enrich `contract_bridge.ttl` with about a third of the clause types and property dimensions held out, and
|
|
105
|
+
score their rediscovery plus deletions and the quality of additions;
|
|
106
|
+
- **E3** (optional) facts on 2 contracts, to test re-grounding chunk-level provenance to span ids.
|
|
107
|
+
|
|
108
|
+
**A second domain** without a curated ontology, to test real induction rather than rediscovery: textile (TexWright;
|
|
109
|
+
client data stays local) or a public domain.
|
|
110
|
+
|
|
111
|
+
## 5. OntoCast baseline: run recipe and cost
|
|
112
|
+
|
|
113
|
+
Isolated install (never into the engine project); Python 3.12:
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
uv run --python 3.12 --with "ontocast[server,openai]==0.6.7" --with sentence-transformers \
|
|
117
|
+
ontocast --env-file oc.env process --input-path ./docs --output-dir ./out
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
`oc.env`: `LLM_PROVIDER=openai`, `LLM_BASE_URL=https://openrouter.ai/api/v1`, `LLM_API_KEY`,
|
|
121
|
+
`LLM_MODEL_NAME=qwen/qwen3.8-27b`, `LLM_TEMPERATURE=0`, `CURRENT_DOMAIN`, `ONTOCAST_CACHE_DIR`,
|
|
122
|
+
`RENDER_MODE=ontology`, `ONTOLOGY_CRITIC_PASSES=1`, `FACTS_CRITIC_PASSES=0`, `MAX_VISITS_PER_NODE=1`,
|
|
123
|
+
`PARALLEL_WORKERS=8`, `LLM_MAX_INFLIGHT=8`, one shared local embedding model for chunking and aggregation. Induce
|
|
124
|
+
from scratch with `--ontology-dir ''`; enrich with `--ontology-dir ./seed`, `ONTOLOGY_CONTEXT_MODE=fixed_single_ontology`
|
|
125
|
+
and `ONTOLOGY_CONTEXT_FIXED_ONTOLOGY_ID=<pack IRI>`. Outputs: `<stem>.ontology.ttl`, `<stem>.run.json` (calls,
|
|
126
|
+
budget, metrics); the in-memory store is lost on exit, so the last document's ontology dump is the cumulative result.
|
|
127
|
+
|
|
128
|
+
**Estimated cost** at OpenRouter's 2026-10-08 Qwen3.8-27B price ($0.425 / M input, $2.55 / M output): E1a + E1b about
|
|
129
|
+
240 calls, about $3; E2 about 120 calls with large prompts (the seed is context), about $3; E3 about 40 calls, about
|
|
130
|
+
$1. About $7 in total, $20 worst case (every call retried 3 times). Over the paid-call threshold, so it needs a
|
|
131
|
+
pre-flight and approval when it runs. The cache makes re-scoring free.
|
|
132
|
+
|
|
133
|
+
## 6. Effort (estimate)
|
|
134
|
+
|
|
135
|
+
In the one-task-at-a-time loop: MVP (stages 1 to 4, emit, eval harness, contracts rediscovery test) about 2 weeks;
|
|
136
|
+
enrichment mode and the critic loop about 1 week; the confidence model and the review export/import APIs about 1 week.
|
|
137
|
+
The plumbing is predictable; induced-ontology quality (parent selection, class / property / value typing, naming) is
|
|
138
|
+
the uncertain part, so the MVP's eval results are a go/no-go gate before the rest.
|
|
139
|
+
|
|
140
|
+
## 7. Open questions
|
|
141
|
+
|
|
142
|
+
- Does Qwen (via OpenRouter) produce clean proposals at scale, and what is OntoCast's real fragmentation and quality
|
|
143
|
+
on it (the baseline answers both)?
|
|
144
|
+
- The confidence model: how to weigh Jev score, support, grounding and critic agreement; calibrated against review
|
|
145
|
+
decisions.
|
|
146
|
+
- IRI minting and stability across runs and across enrichment rounds.
|
|
147
|
+
- Which second domain to use, and how to build a small gold set for it.
|
|
148
|
+
- The review loop's product UX (which product hosts it first).
|
|
149
|
+
|
|
150
|
+
## 8. When resumed
|
|
151
|
+
|
|
152
|
+
1. Run the OntoCast baseline (E1b + E2 first, about $4) after a pre-flight and approval.
|
|
153
|
+
2. Write the workstream spec + ADR (`docs/specs/ontology-induction/`): stages, the confidence model, the review loop,
|
|
154
|
+
the eval gate, the task breakdown; review before any build.
|
|
@@ -4,6 +4,9 @@ ING-8 de-legalizes the engine. There are **no transition defaults and no dual re
|
|
|
4
4
|
when it lands, and a product built on the engine (RuleWright) migrates afterwards, from this record. Each entry
|
|
5
5
|
says what changed, who is affected, and the exact change a consumer makes.
|
|
6
6
|
|
|
7
|
+
**RuleWright:** `rulewright-migration-0.2.0.md` (beside this file) applies this record to RuleWright's code as it is
|
|
8
|
+
(scanned import by import), as a step-by-step migration to rag-wright 0.2.0.
|
|
9
|
+
|
|
7
10
|
## ING-8a: the default schema is neutral
|
|
8
11
|
|
|
9
12
|
**What changed.**
|