paper-trail-acquire
Troisième passe du pipeline cible refondu. Lance la cascade PDF (10 sources : Crossref OA + arXiv + OpenAlex + Unpaywall + HAL + CORE + éditeur par DOI +…
Injecte une URL OA connue (HAL, dépôt uni, NIME, page perso) pour une ref dont la cascade automatique a échoué, puis relance l'acquisition + validation page 1.
$ npx -y skills add roomi-fields/paper-trail --agent claude-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
/paper-trail-inject-urlContext preview
What this command does when you run it.
Injecte une URL OA connue (HAL, dépôt uni, NIME, page perso) pour une ref dont la cascade automatique a échoué, puis relance l'acquisition + validation page 1.
description: Injecte une URL OA connue (HAL, dépôt uni, NIME, page perso) pour une ref dont la cascade automatique a échoué, puis relance l'acquisition + validation page 1.
Quand la cascade automatique épuise toutes ses sources mais que vous savez où le PDF est disponible (page d'auteur, dépôt universitaire, HAL, NIME, eScholarship…), cette commande injecte l'URL dans le frontmatter de la ref puis relance la cascade. Aucun bricolage manuel.
Le résolveur landing→PDF du pipeline suit automatiquement la balise `<meta name="citation_pdf_url">` (norme Highwire Press), donc une URL de **page de dépôt** fonctionne — pas besoin du PDF direct.
/paper-trail:inject-url <slug> <url>
Exemple :
/paper-trail:inject-url murgul_2024_polyrhythm \
https://publikationen.bibliothek.kit.edu/10001837821. **Vérifie la ref** : la ref `<slug>` doit exister dans le registre et être en état `uid_resolved`, `needs_reacquisition`, ou `blocked_human:cascade_exhausted_needs_manual`. Sinon refuse en expliquant.
2. **Écrit `oa_url:` dans le frontmatter** :
python3 -c "
import sys; sys.path.insert(0, 'pipeline')
from pipeline.registry import load_ref, save_ref
r = load_ref('<slug>')
r.frontmatter['oa_url'] = '<url>'
save_ref(r)
"3. **Si la ref était bloquée**, débloque-la pour que la cascade puisse la reprendre :
python3 -m pipeline arbitrate <slug> --decision unblock \
--reason "manual oa_url provided"4. **Relance la cascade ciblée** :
python3 -m pipeline run --ref <slug>
La nouvelle source `manual_oa_url` est en tête de cascade donc essayée en premier.
5. **Récap** : si succès, affiche le chemin PDF + sha256 ; sinon liste ce qui a échoué (HTTP 404, page sans `citation_pdf_url`, validation page 1 KO, etc.) et propose les pistes du fichier `_hints/<slug>.md` généré automatiquement.
vous connaissez une URL OA fiable.
`pdf_path` manuellement.
Si vous avez déjà le PDF sur disque (download terminé, archive perso), préférez :
# Dans le frontmatter de la ref : pdf_path: 11_Biblio_MIR/Sources/Author_Year_Title.pdf
Puis `python3 -m pipeline run --ref <slug>`. La validation page 1 sera appliquée comme pour tout PDF acquis.
reporter ce qui a échoué dans la conversation, proposer le dépôt local en alternative.
Anti-hallucination plugin for academic research in Claude Code. Create literature reviews and papers guaranteed without fabricated citations.
Troisième passe du pipeline cible refondu. Lance la cascade PDF (10 sources : Crossref OA + arXiv + OpenAlex + Unpaywall + HAL + CORE + éditeur par DOI +…
Batch audit of every SOTA in the vault. For each SOTA, identifies refs that are page1_validated (technical OK) but not yet sota_cited_confirmed (content…
Per-citation audit of an academic article (LaTeX or Markdown). Produces RECEIPTS.md classifying each citation as VALID/ADJUST/INVALID/UNVERIFIABLE. Optional…
Audit a SOTA's bibliography. Classify each cited ref by validation state. Optional --purge removes citations to retracted refs from the SOTA (with .bak backup).
Acquire PDFs via the 8-source cascade (11 with opt-in extended sources) for a single ref by slug, or a batch filtered by state. Validates page 1 anti-homonymy…
Inspect a single reference in detail (identity, PDF status, acquisition history with verdicts, citation context in vault, state transitions) and decide its…