Summary
Add a configurable Jina Reader enrichment source for AI research and assessment workflows, using the Jina Reader API documented at https://r.jina.ai/docs.
This should let PatchHound use Jina Reader as a controlled research capability for AI-driven assessments, while keeping external web research explicit, auditable, and limited to configured sources.
Problem
AI assessment workflows need a way to fetch and normalize external web content for research. Today the UX can expose an "allow external web research" option without guaranteeing that a usable, configured research backend exists.
PatchHound also needs a clearer model for enrichment sources:
- Some enrichment sources run independently on a schedule, like NVD enrichment.
- Some enrichment sources are callable tools used by other services, such as the AI assessment worker.
- AI profiles should only allow external web research when at least one AI-targeted research/enrichment source is available.
Proposed Capability
Create a Jina Reader enrichment source that can be configured and used by AI research and assessment workflows.
The source should support an optional Jina API key and expose the most useful Jina Reader options for security research. Sensible initial configuration options may include:
- Base endpoint, defaulting to
https://r.jina.ai
- Optional API key / bearer token
- Request timeout
- Max response size or content budget
- Cache / freshness behavior if supported by the integration layer
- Whether links/images are included or stripped, depending on what the AI assessment worker can safely consume
- Any useful reader-specific headers or flags from the Jina Reader docs that improve structured research output
Use the Jina docs as the source of truth before implementation: https://r.jina.ai/docs
Targeting / Usage Model
Enrichment sources should declare which processes can use them.
Examples:
Scheduled: standalone scheduled enrichment, like NVD.
AIResearch: callable by AI assessment worker and AI-related workflows.
Open design question: should this be modeled as "enrichment source targets" or as a more general "enrichment tool" / "research tool" capability? The important product requirement is that AI profiles only offer external web research when compatible configured sources exist.
AI Profile UX
When configuring an AI profile:
- If one or more enabled enrichment sources target AI research, show the external web research option.
- When enabling external web research, require the user to select from the available AI-compatible enrichment sources.
- If no compatible source exists, do not show a normal "allow external web research" toggle.
- Instead, display a message like: "No research tools available - configure one here."
- The message should link to the enrichment source configuration flow for adding a compatible source.
Acceptance Criteria
- Jina Reader can be added as a configurable enrichment source.
- API key is optional.
- The source can be marked as usable for AI research / assessment workflows.
- AI profile configuration lists only enabled enrichment sources compatible with AI research.
- External web research cannot be enabled without selecting at least one compatible configured source.
- When no compatible source exists, the profile UI shows a configuration prompt and link instead of a misleading toggle.
- The AI assessment worker or related service can call the selected Jina Reader source through the enrichment abstraction.
- Configuration and usage should be auditable enough to show which research source was used for an assessment.
- Tests cover source targeting, AI profile validation, and no-source UI behavior.
Notes / Questions
- Confirm whether the domain language should be "enrichment source", "enrichment tool", or "research tool".
- Decide whether a source can target multiple process categories.
- Decide whether AI profiles should select exactly one research source or allow multiple prioritized sources.
- Decide whether Jina Reader responses should be cached centrally to reduce repeat calls and improve assessment reproducibility.
Summary
Add a configurable Jina Reader enrichment source for AI research and assessment workflows, using the Jina Reader API documented at https://r.jina.ai/docs.
This should let PatchHound use Jina Reader as a controlled research capability for AI-driven assessments, while keeping external web research explicit, auditable, and limited to configured sources.
Problem
AI assessment workflows need a way to fetch and normalize external web content for research. Today the UX can expose an "allow external web research" option without guaranteeing that a usable, configured research backend exists.
PatchHound also needs a clearer model for enrichment sources:
Proposed Capability
Create a Jina Reader enrichment source that can be configured and used by AI research and assessment workflows.
The source should support an optional Jina API key and expose the most useful Jina Reader options for security research. Sensible initial configuration options may include:
https://r.jina.aiUse the Jina docs as the source of truth before implementation: https://r.jina.ai/docs
Targeting / Usage Model
Enrichment sources should declare which processes can use them.
Examples:
Scheduled: standalone scheduled enrichment, like NVD.AIResearch: callable by AI assessment worker and AI-related workflows.Open design question: should this be modeled as "enrichment source targets" or as a more general "enrichment tool" / "research tool" capability? The important product requirement is that AI profiles only offer external web research when compatible configured sources exist.
AI Profile UX
When configuring an AI profile:
Acceptance Criteria
Notes / Questions