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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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 logRelease 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 logSecurity 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.
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 logA 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.