Build-vs-borrow intelligence for agentic workflows - helps AI agents discover and evaluate open source packages
Project description
priorart is a deterministic tool for package discovery and evaluation. It retrieves candidates from a local, sigstore-verified semantic index across PyPI, npm, crates.io, pkg.go.dev, Maven Central, and NuGet — no language model at query time — scores them on signals from GitHub, deps.dev, and OpenSSF Scorecard, and returns a weighted health score with a build-or-adopt recommendation. priorart inspect <package> scores a single named package.
Research inspiration
Noise-floor thresholds for registry metrics follow Koch et al. (MADWeb 2024) on the weak correlation between GitHub stars and downstream adoption. Abandonment detection follows Coelho & Valente (ESEC/FSE 2017). Adoption-saturation curves reference Borges & Valente (JSS 2018) and Zerouali et al. (ICSR 2018). Dimension taxonomy is aligned with the CHAOSS Project metrics framework.
Key properties
- Deterministic end-to-end. Discovery is a local HNSW query (
fastembed+usearch, int8-quantized); scoring is a closed-form weighted composite. No language model at any stage — same inputs, same output. - Private by default. The semantic index is a sigstore-signed artifact pinned to a specific GitHub Actions signer identity. No hosted retrieval endpoint; after first-use download, queries never leave the host.
- Reproducible. The index is rebuilt monthly via a public GitHub Actions workflow and versioned by tag; pin a version to stabilize results across runs.
- Calibrated scoring. Dimension weights (0.30 / 0.20 / 0.20 / 0.15 / 0.15) follow the conventions of OpenSSF Scorecard, npms.io, and SourceRank. Not empirically validated across ecosystems; override in
config.yaml. - Supply-chain signals. Identity verification, copyleft detection, dependency-vulnerability flags, and OpenSSF Scorecard checks feed the composite score.
Pipeline
- Semantic retrieval. Task description is embedded with
BAAI/bge-small-en-v1.5and queried against a per-ecosystem HNSW index. Falls back to live registry search when top similarity < 0.5. - Signal collection. Registry metadata, GitHub repository metrics, deps.dev graphs, and OpenSSF Scorecard results; cached in SQLite with per-signal-group freshness windows.
- Scoring. Weighted composite across reliability, adoption, versioning, activity regularity, and dependency health, with an age-based confidence multiplier for packages under three years.
- Recommendation.
use_existing(≥ 75),evaluate(50–74), orbuild(< 50).
Install
pip install priorart-agent
Documentation
- SETUP.md — installation, environment, and MCP server setup.
- API.md — CLI, Python API, and MCP tool reference.
- ARCHITECTURE.md — scoring algorithm, data flow, and cache design.
- STYLE.md — coding standards.
- TESTING.md — test organization and coverage.
- AGENT_CONFIG.md — guidance for AI agents invoking the MCP tools.
License
See LICENSE for details.
Package metadata in the distributed semantic index is sourced from ecosyste.ms and licensed under CC BY-SA 4.0. Redistributing the index shard preserves that license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file priorart_agent-0.2.0.tar.gz.
File metadata
- Download URL: priorart_agent-0.2.0.tar.gz
- Upload date:
- Size: 95.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d4f6ea12e806e836dab2cb97236c737070624ebd18ec7ef10881fb19062cff0
|
|
| MD5 |
655e2e993ac0e0079e116020c8b256bf
|
|
| BLAKE2b-256 |
aad35e7e6c0a4ca3d8e17a61d13673e4513fcaa190317a786950ca0a906ef77f
|
Provenance
The following attestation bundles were made for priorart_agent-0.2.0.tar.gz:
Publisher:
publish.yml on akshatvasisht/prior-art
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
priorart_agent-0.2.0.tar.gz -
Subject digest:
8d4f6ea12e806e836dab2cb97236c737070624ebd18ec7ef10881fb19062cff0 - Sigstore transparency entry: 1417568419
- Sigstore integration time:
-
Permalink:
akshatvasisht/prior-art@5bae296a668f7a5a695f9cf16457981f9cb180c5 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/akshatvasisht
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5bae296a668f7a5a695f9cf16457981f9cb180c5 -
Trigger Event:
release
-
Statement type:
File details
Details for the file priorart_agent-0.2.0-py3-none-any.whl.
File metadata
- Download URL: priorart_agent-0.2.0-py3-none-any.whl
- Upload date:
- Size: 59.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f687fd443f3a71a450810ec39c5559698606f123703bf91b2058c89a06eb78f
|
|
| MD5 |
98e46490cc1b198b19a1602941b384a4
|
|
| BLAKE2b-256 |
b86fb5f122b96df703bd7746b6f8def12117b750a7df8bbe372f67e507917356
|
Provenance
The following attestation bundles were made for priorart_agent-0.2.0-py3-none-any.whl:
Publisher:
publish.yml on akshatvasisht/prior-art
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
priorart_agent-0.2.0-py3-none-any.whl -
Subject digest:
9f687fd443f3a71a450810ec39c5559698606f123703bf91b2058c89a06eb78f - Sigstore transparency entry: 1417568469
- Sigstore integration time:
-
Permalink:
akshatvasisht/prior-art@5bae296a668f7a5a695f9cf16457981f9cb180c5 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/akshatvasisht
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5bae296a668f7a5a695f9cf16457981f9cb180c5 -
Trigger Event:
release
-
Statement type: