3.3 KiB
3.3 KiB
Mode : pipeline -- Inbox d'URLs (Second Brain)
Traite les URLs d'offres accumulees dans data/pipeline.md. Le candidat ajoute des URLs quand il veut et lance ensuite /career-ops pipeline pour toutes les traiter d'un coup.
Workflow
- Lire
data/pipeline.md-> trouver les items- [ ]dans la section "En attente" / "Pending" / "Pendientes" - Pour chaque URL en attente :
a. Reserver le prochain
REPORT_NUMsequentiel de maniere atomique en executantnode reserve-report-num.mjs(et liberer le sentinel en executantnode reserve-report-num.mjs --release <num>une fois le rapport ecrit) b. Extraire l'offre avec Playwright (browser_navigate+browser_snapshot) -> WebFetch -> WebSearch c. Si l'URL n'est pas accessible -> marquer comme- [!]avec une note et continuer d. Executer l'auto-pipeline complet : Evaluation A-F -> Report .md -> PDF (si score >= 3.0) -> Tracker e. Deplacer de "En attente" vers "Traitees" :- [x] #NNN | URL | Entreprise | Role | Score/5 | PDF oui/non - Si 3+ URLs en attente, lancer des agents en parallele (Agent tool avec
run_in_background) pour maximiser la vitesse. - A la fin, afficher un tableau recapitulatif :
| # | Entreprise | Role | Score | PDF | Action recommandee |
Format de pipeline.md
## En attente
- [ ] https://jobs.example.com/posting/123
- [ ] https://boards.greenhouse.io/company/jobs/456 | Company SAS | Senior PM
- [!] https://private.url/job -- Erreur : login requis
## Traitees
- [x] #143 | https://jobs.example.com/posting/789 | Acme SAS | AI PM | 4.2/5 | PDF oui
- [x] #144 | https://boards.greenhouse.io/xyz/jobs/012 | BigCo | SA | 2.1/5 | PDF non
Note : Les en-tetes de section peuvent etre en EN ("Pending"/"Processed"), ES ("Pendientes"/"Procesadas"), DE ("Offen"/"Verarbeitet") ou FR ("En attente"/"Traitees"). Etre flexible a la lecture, fidele au style existant a l'ecriture.
Detection intelligente de l'offre depuis l'URL
- Playwright (prefere) :
browser_navigate+browser_snapshot. Fonctionne avec toutes les SPAs. - WebFetch (fallback) : Pour les pages statiques ou quand Playwright n'est pas disponible.
- WebSearch (dernier recours) : Chercher sur des portails secondaires qui indexent l'offre.
Cas particuliers :
- LinkedIn : Peut necessiter un login -> marquer
[!]et demander au candidat de coller le texte - PDF : Si l'URL pointe vers un PDF, le lire directement avec le Read tool
- Prefixe
local:: Lire le fichier local. Exemple :local:jds/linkedin-pm-ai.md-> lirejds/linkedin-pm-ai.md - Welcome to the Jungle / Indeed FR / APEC : Portails francophones courants. Playwright gere bien les cookie banners
- France Travail (ex-Pole emploi) : Offres structurees, bien lisibles par machine. WebFetch suffit generalement
Numerotation automatique
- Executer
node reserve-report-num.mjspour reserver le prochain numero sequentiel de maniere atomique (stdout renvoie{###}). - Ecrire le rapport avec ce numero.
- Liberer le sentinel en executant
node reserve-report-num.mjs --release {###}une fois le rapport ecrit.
Synchronisation des sources
Avant de traiter une URL, verifier la sync :
node cv-sync-check.mjs
En cas de desynchronisation, alerter le candidat avant de continuer.