career-ops

pipeline

Lit les URL en file d'attente dans data/pipeline.md et exécute l'auto-pipeline complet sur chacune d'elles. Utilisez-le lorsque vous avez collecté dix ou vingt annonces au cours de la journée et que vous voulez les traiter en une seule session.

Ce qu'il fait

Le mode pipeline parcourt les URL de data/pipeline.md (une par ligne) et invoque auto-pipeline sur chacune. Des rapports, des PDF et des entrées de tracker sont écrits pour chaque annonce qui produit une évaluation valide. Les scrapes en échec sont journalisés puis ignorés.

Quand l'utiliser

Utilisez pipeline lorsque vous avez un arriéré d'URL à traiter. Déposez-les dans data/pipeline.md, invoquez /career-ops pipeline, puis laissez tourner.

À quoi ressemble une exécution

Vous déposez des URL dans data/pipeline.md et le mode traite toute la boîte de réception en une seule passe. Il exécute d'abord un balayage de liveness à zéro token pour écarter les annonces expirées, puis il évalue chaque URL survivante via l'auto-pipeline complet et termine par un tableau récapitulatif de ce qu'il a trouvé.

Pipeline run
$ /career-ops pipeline

Liveness sweep: 8 pending URLs
  6 live · 2 expired (moved to Processed, marked Discarded)

Processing 6 live URLs (one at a time)...

| # | Company | Role         | Score | PDF | Recommended action |
|---|---------|--------------|-------|-----|--------------------|
| 1 | Acme    | Staff AI Eng | 4.3/5 | done | apply             |
| 2 | Globex  | ML Platform  | 3.1/5 | skip | review            |
| 3 | Initech | AI PM        | 2.4/5 | skip | skip              |

Chaque URL traitée passe de la section ## Pending à la section ## Processed du fichier, de sorte que la boîte de réception reste un registre vivant de ce qu'il reste à faire.

Quand y recourir

Recourez à pipeline lorsque vous avez accumulé un arriéré d'annonces au cours de la journée et que vous voulez les traiter en une seule session. Comment il gère la file d'attente :

  • La section ## Pending accepte n'importe quel format — une URL collée telle quelle fonctionne, ou vous pouvez ajouter des colonnes company, role, location et comp, et le mode les lit toutes.
  • Le balayage de liveness s'exécute avant la boucle par URL, de sorte qu'une boîte de réception périmée de huit URL ne coûte pas huit évaluations gaspillées.
  • Les URL LinkedIn ne passent pas par le balayage de liveness : elles ont droit à la place à une seule tentative dans le navigateur, pendant la boucle par URL. Si la description reste indisponible après cette tentative, par exemple quand la page reste bloquée sur un squelette de chargement, l'entrée reste dans Pending avec la marque [!], et on vous demande de coller le texte de l'annonce ou de fournir un lien vers le même poste sur le site de l'employeur ou sur un ATS. Un chargement LinkedIn en échec n'est jamais considéré comme une annonce clôturée.
  • C'est l'outil d'extraction qui détermine la concurrence. Avec l'extracteur navigateur par défaut (Playwright MCP), il traite les URL une à une, car des workers qui partagent une même session de navigateur peuvent se mélanger et évaluer la mauvaise annonce. Ce n'est que lorsque chaque worker utilise l'extracteur CLI isolé (scan.extractor: cli) ou une solution de repli sans navigateur, chacun avec son propre processus et son propre état de session, que trois URL ou plus peuvent être traitées en parallèle, un worker par URL.
  • Les PDF ne sont générés que lorsqu'un score dépasse auto_pdf_score_threshold (3.0 par défaut) ; augmentez ce seuil pour éviter les PDF des postes marginaux et les générer plus tard à la demande avec /career-ops pdf.

Voir aussi

Sur cette page