Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

harborrag-app

Owns operator-facing API and CLI boundaries.

Ingestion CLI

The CLI drives ingestion through AppService; it does not construct connectors or repositories. run executes inline through the SDK's direct executor and follows the control-plane task store for progress; the other commands drive the Temporal workflow:

harborrag ingest run workspace --limit 3
harborrag ingest start --tenant tenant-1 --connector-id harborrag-workspace
harborrag ingest start --tenant tenant-1 --connector-id jira-main --limit 3 --wait
harborrag ingest start --tenant tenant-1 --connector-id harborrag-workspace --wait
harborrag ingest status RUN_ID --json
harborrag ingest watch RUN_ID
harborrag ingest wait RUN_ID
harborrag ingest pause RUN_ID
harborrag ingest resume RUN_ID
harborrag ingest cancel RUN_ID

Starting a run resolves the named connector into the source-ingestion contract, persists a PENDING task in Postgres, and submits harborrag.source_ingestion. Re-running the same source under a new run ID replays from the earliest reusable immutable artifact.

Scheduled ingestion

Schedules are managed through Temporal, with config and API-owned modes. See the Scheduled Ingestion runbook for configuration, API operations, incident pause/resume, backfill, and monitoring.

Every one-shot command accepts --json after its action and returns {"ok":...,"data":...,"error":...}. A failed operation exits with status 1. Typer supplies grouped Rich help and shell completion. Rich renders one-shot progress summaries, status colors, artifact lists, and the ingestion stage sequence; concurrent artifact stages are shown as in flight.

harborrag ingest watch RUN_ID and ingest start --wait follow a run with an inline Rich progress block (stage strip, document bar, counters, failed artifacts); --events streams NDJSON. Use harborrag --no-color ... or the standard NO_COLOR environment variable when one-shot terminal colors are undesirable; --json never emits Rich formatting or spinner output.

Retrieval CLI

The retrieval command embeds a tenant-scoped query, searches active Qdrant vectors, expands matching chunk context through FalkorDB, and applies reciprocal-rank fusion:

harborrag retrieve "deployment requirements" --tenant tenant-1 --top-k 5
harborrag retrieve "deployment requirements" --tenant tenant-1 --top-k 5 --json
harborrag retrieve "deployment requirements" --tenant tenant-1 --lane sparse --no-graph
harborrag retrieve "deployment requirements" --tenant tenant-1 --filters-json '{"category":"runbook"}'

Retrieved text is omitted by default so shell logs and automation artifacts do not collect source content. Pass --include-content only when the caller is authorized to receive document text. Unexpected provider exception messages are also suppressed at the application boundary; the public envelope retains only the stable exception type.

Retrieval API

The authenticated API exposes the same runtime retrieval facade at POST /v1/retrieval/vector:

{
  "query": "deployment requirements",
  "top_k": 5,
  "lane": "hybrid",
  "filters": {"category": "runbook"},
  "observe_graph": true,
  "score_threshold": 0.25,
  "include_content": true,
  "include_metadata": true
}

The caller must have at least the reader role. Tenant scope is explicit and cannot be overridden by a request filter. The response contains a request ID, selected lane, ranked results, and retrieval diagnostics.

Graph retrieval uses separate typed POST operations:

  • /v1/retrieval/graph/triplets
  • /v1/retrieval/graph/paths
  • /v1/retrieval/graph/subgraphs

Search is not duplicated as GET because query text and nested filters should remain in the request body rather than URLs, access logs, and intermediary caches. The former /v1/retrieval/search route has been removed.

Package tests

Tests for this package live in:

packages/harborrag-app/tests/

Run from the repository root:

pytest packages/harborrag-app/tests

Keep new tests in this folder when adding or changing behavior owned by this package.

Metadata

Release files for harborrag-app 2.0.0a2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for harborrag-app 2.0.0a2
File Size Uploaded Provenance Actions
harborrag_app-2.0.0a2.tar.gz 397.5 kB With provenance Details for harborrag_app-2.0.0a2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for harborrag-app 2.0.0a2
File Interpreter ABI Platform Actions
harborrag_app-2.0.0a2-py3-none-any.whl Python 3 none any Details for harborrag_app-2.0.0a2-py3-none-any.whl

Total release size: 717.9 kB

Release files / harborrag_app-2.0.0a2.tar.gz

Download URL harborrag_app-2.0.0a2.tar.gz
Size 397.5 kB
Tags Source
SHA-256 checksum
How to use checksums
99a99a4aef97814263ae7a2589732a7fd10b663cacd639b0fb2d62710579c170
BLAKE2b-256 checksum
How to use checksums
f8faa76820df92f26553b79c02f137ce537c72af13ba268d46c14e6a88c4395e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 27, 2026.

Transparency log

Release files / harborrag_app-2.0.0a2-py3-none-any.whl

Download URL harborrag_app-2.0.0a2-py3-none-any.whl
Size 320.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c885cc8cdb4ac32fdda00b8cd207f7ecf0683e60d3e97838c7cfde629c77ccc7
BLAKE2b-256 checksum
How to use checksums
14e60f16ed2ffe02c86ce0527b4660b34b736cbc8b289ba03e5b1878cf5cba2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 27, 2026.

Transparency log

Security for harborrag-app 2.0.0a2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for harborrag_app-2.0.0a2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 27, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page