Capability Spec
apiVersion: naftiko.dev/v1alpha1
kind: CapabilityWorkflow
metadata:
name: research-discovery
description: |
Compose arXiv's query and OAI-PMH capabilities into a research-discovery
workflow: keyword search, paginate results, hydrate metadata, and
optionally backfill a topic via incremental OAI-PMH harvest.
labels:
provider: arxiv
workflow: research-discovery
spec:
capabilities:
- ref: arxiv-query
- ref: arxiv-oaipmh
steps:
- id: search
capability: arxiv-query
operation: queryArticles
input:
search_query: "{{ topic.queryExpression }}"
sortBy: submittedDate
sortOrder: descending
max_results: 50
- id: paginate
capability: arxiv-query
operation: queryArticles
loopUntil: totalResults
input:
start: "{{ previous.startIndex + previous.itemsPerPage }}"
max_results: 50
- id: backfill
optional: true
capability: arxiv-oaipmh
operation: oaiVerb
input:
verb: ListRecords
metadataPrefix: arXiv
set: "{{ topic.setSpec }}"
from: "{{ topic.lastHarvest }}"
policy:
pacing:
minIntervalSeconds: 3
reason: Comply with arXiv's documented one-request-per-three-seconds limit.
attribution:
required: true
text: "Thank you to arXiv for use of its open access interoperability."