diff --git a/content/docs/index.es.mdx b/content/docs/index.es.mdx index 7df80ee..415aa11 100644 --- a/content/docs/index.es.mdx +++ b/content/docs/index.es.mdx @@ -3,7 +3,7 @@ title: Guía rápida description: "Empieza con career-ops en cinco minutos: instala el sistema open source de búsqueda de empleo con IA, abre tu CLI de IA y evalúa tu primera oferta. Sin necesidad de programar." seoTitle: "career-ops Guía rápida — instala y ejecuta tu primer análisis de ofertas con IA en minutos" icon: Rocket -translationHash: 38326ebbdfbb6602 +translationHash: c287fd083afe53b9 localized: true translatedFrom: /docs --- @@ -212,6 +212,7 @@ Abre el archivo de informe en `reports/`. El nombre sigue el patrón `{número}- - **Block E** — notas de personalización para tu candidatura. - **Block F** — preparación de entrevista con historias STAR adaptadas a esta oferta. - **Block G** — legitimidad del anuncio: comprueba que la oferta es real y no una estafa ni un puesto fantasma. +- **Block H** — borradores de respuesta para el formulario de candidatura, solo cuando la puntuación supera 4.5. Tu PDF de CV adaptado está en la carpeta `output/`. Revísalo antes de enviarlo a ningún sitio — career-ops nunca envía nada sin tu aprobación. diff --git a/content/docs/index.fr.mdx b/content/docs/index.fr.mdx index ed23759..96f2a31 100644 --- a/content/docs/index.fr.mdx +++ b/content/docs/index.fr.mdx @@ -3,7 +3,7 @@ title: Démarrage rapide description: "Démarrez avec career-ops en cinq minutes : installez le système open source de recherche d'emploi par IA, ouvrez votre CLI d'IA et évaluez votre première offre. Aucune connaissance en code requise." seoTitle: "career-ops Démarrage rapide — installez et lancez votre premier scan d'offres par IA en quelques minutes" icon: Rocket -translationHash: 38326ebbdfbb6602 +translationHash: c287fd083afe53b9 localized: true translatedFrom: /docs --- @@ -212,6 +212,7 @@ Ouvrez le fichier de rapport dans `reports/`. Le nom du fichier suit le motif `{ - **Bloc E** — des notes de personnalisation pour votre candidature. - **Bloc F** — une préparation à l'entretien avec des histoires STAR adaptées à cette offre. - **Bloc G** — légitimité de l'annonce : une vérification que l'offre est réelle et n'est ni une arnaque ni un « ghost job ». +- **Bloc H** — des brouillons de réponses pour le formulaire de candidature, rédigés uniquement lorsque le score dépasse 4.5. Votre CV PDF sur mesure se trouve dans le dossier `output/`. Relisez-le avant de l'envoyer où que ce soit — career-ops ne soumet jamais rien sans votre accord. diff --git a/content/docs/index.mdx b/content/docs/index.mdx index af36d6a..fd25c6e 100644 --- a/content/docs/index.mdx +++ b/content/docs/index.mdx @@ -209,6 +209,7 @@ Open the report file in `reports/`. The filename follows the pattern `{number}-{ - **Block E** — personalization notes for your application. - **Block F** — interview preparation with STAR stories tailored to this job. - **Block G** — posting legitimacy: a check that the listing is real and not a scam or ghost job. +- **Block H** — draft answers for the application form, written only when the score clears 4.5. Your tailored PDF resume is in the `output/` folder. Review it before sending it anywhere — career-ops never submits anything without your approval. diff --git a/content/docs/reference/modes/auto-pipeline.es.mdx b/content/docs/reference/modes/auto-pipeline.es.mdx index b8e131d..9e63064 100644 --- a/content/docs/reference/modes/auto-pipeline.es.mdx +++ b/content/docs/reference/modes/auto-pipeline.es.mdx @@ -1,6 +1,6 @@ --- title: auto-pipeline -description: "Flujo por defecto cuando pegas la URL de una descripción de puesto o su texto sin formato. Ejecuta la evaluación A–G, genera el informe, exporta un PDF adaptado y escribe una entrada en el tracker — sin intervención manual entre pasos." +description: "Flujo por defecto cuando pegas la URL de una descripción de puesto o su texto sin formato. Ejecuta la evaluación A–H, genera el informe, exporta un PDF adaptado y escribe una entrada en el tracker — sin intervención manual entre pasos." seoTitle: "auto-pipeline de career-ops — evalúa una oferta y construye CV + tracker desde una sola URL" icon: Zap date: "2026-05-18" diff --git a/content/docs/reference/modes/auto-pipeline.fr.mdx b/content/docs/reference/modes/auto-pipeline.fr.mdx index 4a02bd9..cae3eab 100644 --- a/content/docs/reference/modes/auto-pipeline.fr.mdx +++ b/content/docs/reference/modes/auto-pipeline.fr.mdx @@ -1,6 +1,6 @@ --- title: auto-pipeline -description: "Flux par défaut lorsque vous collez l'URL d'une description de poste ou son texte brut. Exécute l'évaluation A–G, génère le rapport, exporte un PDF personnalisé et écrit une entrée dans le tracker — sans intervention manuelle entre les étapes." +description: "Flux par défaut lorsque vous collez l'URL d'une description de poste ou son texte brut. Exécute l'évaluation A–H, génère le rapport, exporte un PDF personnalisé et écrit une entrée dans le tracker — sans intervention manuelle entre les étapes." seoTitle: "career-ops auto-pipeline — évaluer une offre et générer CV + tracker à partir d'une seule URL" icon: Zap date: "2026-05-18" diff --git a/content/docs/reference/modes/auto-pipeline.mdx b/content/docs/reference/modes/auto-pipeline.mdx index 3c706fd..14e054f 100644 --- a/content/docs/reference/modes/auto-pipeline.mdx +++ b/content/docs/reference/modes/auto-pipeline.mdx @@ -1,6 +1,6 @@ --- title: auto-pipeline -description: "Default flow when you paste a job description URL or raw text. Runs the A–G evaluation, generates the report, exports a tailored PDF, and writes a tracker entry — without manual intervention between steps." +description: "Default flow when you paste a job description URL or raw text. Runs the A–H evaluation, generates the report, exports a tailored PDF, and writes a tracker entry — without manual intervention between steps." seoTitle: "career-ops auto-pipeline — evaluate a job and build CV + tracker from one URL" icon: Zap date: "2026-05-18" diff --git a/content/docs/reference/modes/index.es.mdx b/content/docs/reference/modes/index.es.mdx index 0b6980c..4a7b33e 100644 --- a/content/docs/reference/modes/index.es.mdx +++ b/content/docs/reference/modes/index.es.mdx @@ -3,7 +3,7 @@ title: Modos description: "Los 14 modos de career-ops invocables por el usuario — evaluar, adaptar, aplicar, hacer seguimiento y preparar entrevistas — cada uno una skill en markdown que corre en cualquier CLI de IA compatible." seoTitle: "Modos de career-ops — los 14 comandos de búsqueda de empleo (evaluar, adaptar, aplicar, seguir, preparar)" icon: Layers -translationHash: 4d490714e084c6f4 +translationHash: 5db0b30e11036ec0 localized: true translatedFrom: /docs/reference/modes --- @@ -16,9 +16,9 @@ career-ops incluye **14 modos invocables por el usuario**. Cada uno es una skill El bucle central de puntuación — leer una oferta de empleo y puntuarla contra las cinco dimensiones más una puntuación global holística antes de invertir esfuerzo en ella. -- **[auto-pipeline](/es/docs/reference/modes/auto-pipeline)** — el flujo por defecto. Pega la URL o el texto de una JD; ejecuta la evaluación A–F, escribe el informe, exporta un PDF adaptado y registra una entrada en el tracker sin pasos manuales de por medio. +- **[auto-pipeline](/es/docs/reference/modes/auto-pipeline)** — el flujo por defecto. Pega la URL o el texto de una JD; ejecuta la evaluación completa A–H, escribe el informe, exporta un PDF adaptado y registra una entrada en el tracker sin pasos manuales de por medio. - **[pipeline](/es/docs/reference/modes/pipeline)** — ejecuta auto-pipeline contra cada URL encolada en `data/pipeline.md`, de modo que las ofertas de todo un día se procesan en una sola sesión. -- **[oferta](/es/docs/reference/modes/oferta)** — la evaluación A–F contra una única oferta cuando solo necesitas la decisión de puntuación, no el pipeline completo. +- **[oferta](/es/docs/reference/modes/oferta)** — la evaluación A–H de una única oferta cuando solo necesitas la decisión de puntuación, no el pipeline completo. - **[ofertas](/es/docs/reference/modes/ofertas)** — clasifica dos o más ofertas en competencia según compensación, encaje, crecimiento y red flags en una única matriz de decisión. - **[deep](/es/docs/reference/modes/deep)** — un documento de investigación en profundidad sobre la empresa (financiación, equipo directivo, prensa, señales de compensación, red flags) antes de aplicar a una empresa que no conoces bien. diff --git a/content/docs/reference/modes/index.fr.mdx b/content/docs/reference/modes/index.fr.mdx index 68873d6..a7051fc 100644 --- a/content/docs/reference/modes/index.fr.mdx +++ b/content/docs/reference/modes/index.fr.mdx @@ -3,7 +3,7 @@ title: Modes description: "Les 14 modes career-ops invocables par l'utilisateur — évaluer, adapter, postuler, suivre et préparer — chacun un skill en markdown qui s'exécute dans n'importe quel CLI de codage IA pris en charge." seoTitle: "Modes career-ops — les 14 commandes de recherche d'emploi (évaluer, adapter, postuler, suivre, préparer)" icon: Layers -translationHash: 4d490714e084c6f4 +translationHash: 5db0b30e11036ec0 localized: true translatedFrom: /docs/reference/modes --- @@ -16,9 +16,9 @@ career-ops embarque **14 modes invocables par l'utilisateur**. Chacun est un ski La boucle de scoring centrale — lire une offre d'emploi et la noter sur les cinq dimensions plus un score global holistique, avant d'y investir le moindre effort. -- **[auto-pipeline](/docs/reference/modes/auto-pipeline)** — le flux par défaut. Collez l'URL ou le texte d'une offre ; il exécute l'évaluation A–F, rédige le rapport, exporte un PDF adapté et consigne une entrée dans le tracker, sans aucune étape manuelle entre les deux. +- **[auto-pipeline](/docs/reference/modes/auto-pipeline)** — le flux par défaut. Collez l'URL ou le texte d'une offre ; il exécute l'évaluation complète A–H, rédige le rapport, exporte un PDF adapté et consigne une entrée dans le tracker, sans aucune étape manuelle entre les deux. - **[pipeline](/docs/reference/modes/pipeline)** — exécute auto-pipeline sur chaque URL en file d'attente dans `data/pipeline.md`, de quoi traiter une journée entière d'offres en une seule session. -- **[oferta](/docs/reference/modes/oferta)** — l'évaluation A–F d'une offre unique, quand vous n'avez besoin que de la décision de scoring, pas du pipeline complet. +- **[oferta](/docs/reference/modes/oferta)** — l'évaluation A–H d'une offre unique, quand vous n'avez besoin que de la décision de scoring, pas du pipeline complet. - **[ofertas](/docs/reference/modes/ofertas)** — classe deux offres concurrentes ou plus — rémunération, adéquation, potentiel de progression et red flags — dans une matrice de décision unique. - **[deep](/docs/reference/modes/deep)** — un document de recherche approfondie sur l'entreprise (levées de fonds, équipe dirigeante, presse, signaux de rémunération, red flags) avant de postuler auprès d'une entreprise que vous connaissez mal. diff --git a/content/docs/reference/modes/index.mdx b/content/docs/reference/modes/index.mdx index f581962..f392db1 100644 --- a/content/docs/reference/modes/index.mdx +++ b/content/docs/reference/modes/index.mdx @@ -13,9 +13,9 @@ career-ops ships **14 user-invocable modes**. Each one is a plain-markdown skill The core scoring loop — read a job listing and score it against the five dimensions plus a holistic global score before you spend any effort on it. -- **[auto-pipeline](/docs/reference/modes/auto-pipeline)** — the default flow. Paste a JD URL or text; it runs the A–F evaluation, writes the report, exports a tailored PDF, and logs a tracker entry with no manual steps in between. +- **[auto-pipeline](/docs/reference/modes/auto-pipeline)** — the default flow. Paste a JD URL or text; it runs the full A–H evaluation, writes the report, exports a tailored PDF, and logs a tracker entry with no manual steps in between. - **[pipeline](/docs/reference/modes/pipeline)** — runs auto-pipeline against every URL queued in `data/pipeline.md`, so a day's worth of listings crunch in one session. -- **[oferta](/docs/reference/modes/oferta)** — the A–F evaluation against a single listing when you only need the scoring decision, not the full pipeline. +- **[oferta](/docs/reference/modes/oferta)** — the A–H evaluation of a single listing when you only need the scoring decision, not the full pipeline. - **[ofertas](/docs/reference/modes/ofertas)** — ranks two or more competing offers across comp, fit, growth, and red flags into one decision matrix. - **[deep](/docs/reference/modes/deep)** — a deep company-research document (funding, leadership, press, comp signals, red flags) before you apply to a company you don't know well. diff --git a/content/docs/reference/modes/oferta.es.mdx b/content/docs/reference/modes/oferta.es.mdx index 6619b94..73dd7f1 100644 --- a/content/docs/reference/modes/oferta.es.mdx +++ b/content/docs/reference/modes/oferta.es.mdx @@ -1,11 +1,11 @@ --- title: oferta -description: "Ejecuta la evaluación A–G sobre un único anuncio. Omite la generación de PDF y la escritura en el tracker. Úsalo cuando solo necesitas la decisión de puntuación y no el pipeline completo." +description: "Ejecuta la evaluación A–H sobre un único anuncio. Omite la generación de PDF y la escritura en el tracker. Úsalo cuando solo necesitas la decisión de puntuación y no el pipeline completo." seoTitle: "Modo oferta de career-ops — puntúa una oferta de empleo antes de aplicar" icon: Target date: "2026-05-18" lastModified: "2026-05-18" -translationHash: 1d733a23b8c520f8 +translationHash: d08b59a5b205a387 localized: true translatedFrom: /docs/reference/modes/oferta --- diff --git a/content/docs/reference/modes/oferta.fr.mdx b/content/docs/reference/modes/oferta.fr.mdx index fb94e07..7639dca 100644 --- a/content/docs/reference/modes/oferta.fr.mdx +++ b/content/docs/reference/modes/oferta.fr.mdx @@ -1,11 +1,11 @@ --- title: oferta -description: "Exécute l'évaluation A–G sur une seule annonce. Saute la génération du PDF et l'écriture dans le tracker. À utiliser quand vous n'avez besoin que de la décision de scoring, et pas du pipeline complet." +description: "Exécute l'évaluation A–H sur une seule annonce. Saute la génération du PDF et l'écriture dans le tracker. À utiliser quand vous n'avez besoin que de la décision de scoring, et pas du pipeline complet." seoTitle: "Mode oferta de career-ops — noter une offre d'emploi avant de postuler" icon: Target date: "2026-05-18" lastModified: "2026-05-18" -translationHash: 1d733a23b8c520f8 +translationHash: d08b59a5b205a387 localized: true translatedFrom: /docs/reference/modes/oferta --- diff --git a/content/docs/reference/modes/oferta.mdx b/content/docs/reference/modes/oferta.mdx index 57afe50..ebf02a2 100644 --- a/content/docs/reference/modes/oferta.mdx +++ b/content/docs/reference/modes/oferta.mdx @@ -1,6 +1,6 @@ --- title: oferta -description: "Runs the A–G evaluation against one listing. Skips PDF generation and tracker write-back. Use it when you only need the scoring decision and not the full pipeline." +description: "Runs the A–H evaluation against one listing. Skips PDF generation and tracker write-back. Use it when you only need the scoring decision and not the full pipeline." seoTitle: "career-ops oferta mode — score a single job listing before you apply" icon: Target date: "2026-05-18" @@ -17,7 +17,7 @@ Use oferta to triage a borderline listing quickly. If the score clears 4.0 and y ## What a run looks like -You hand the mode one listing and it returns the seven-block evaluation — Blocks A through F plus a Block G legitimacy read — with a score and cited reasoning. Paste JD text directly, or pass a URL and the mode first confirms the posting is still live so a dead link never burns a full evaluation. +You hand the mode one listing and it returns the eight-block evaluation — Blocks A through F, a Block G legitimacy read, and Block H draft answers when the score clears 4.5 — with a score and cited reasoning. Paste JD text directly, or pass a URL and the mode first confirms the posting is still live so a dead link never burns a full evaluation. ```bash title="Terminal" /career-ops oferta https://boards.greenhouse.io/acme/jobs/4021 diff --git a/src/app/llms-full.txt/route.ts b/src/app/llms-full.txt/route.ts index 270ac2a..70aa4b4 100644 --- a/src/app/llms-full.txt/route.ts +++ b/src/app/llms-full.txt/route.ts @@ -65,7 +65,7 @@ Santiago Fernández de Valderrama Aparicio (Wikidata Q138710224) is an Applied A career-ops uses a rubric-guided LLM evaluation across five dimensions — match, north-star alignment, comp, cultural signals, red flags — producing a holistic global score from 1.0 to 5.0. There is no weighted-average formula; the global score is the model's holistic judgement over the five dimensions. The 4.0 threshold is the apply / don't-apply line: below 4.0 the agent recommends against applying. The default is deliberately high because the goal is fewer, better applications. -The full evaluation runs as Block A through G: A (role summary), B (CV match), C (level strategy), D (compensation and demand research), E (personalization notes), F (interview preparation with STAR stories), G (posting legitimacy — scam and ghost-job check). When compensation data is missing, Block D says so explicitly instead of inventing numbers. The canonical rubric lives in the open-source repo at https://github.com/career-ops-hq/career-ops/blob/main/modes/_shared.md and the evaluation prompt at modes/oferta.md. Full transparency write-up: ${SITE}/methodology. +The full evaluation runs as Block A through H: A (role summary), B (CV match), C (level strategy), D (compensation and demand research), E (personalization notes), F (interview preparation with STAR stories), G (posting legitimacy — scam and ghost-job check), H (draft application answers, only when the score clears 4.5). Two scoring systems exist and are often conflated: the "oferta" mode evaluates a SINGLE listing on a five-dimension holistic rubric with no arithmetic formula, while the "ofertas" mode compares MULTIPLE offers on a ten-dimension weighted matrix with published percentages. When compensation data is missing, Block D says so explicitly instead of inventing numbers. The canonical rubric lives in the open-source repo at https://github.com/career-ops-hq/career-ops/blob/main/modes/_shared.md and the evaluation prompt at modes/oferta.md. Full transparency write-up: ${SITE}/methodology. # Sustainability model (${SITE}/sustain) diff --git a/src/app/methodology/page.tsx b/src/app/methodology/page.tsx index 64818f3..d829c56 100644 --- a/src/app/methodology/page.tsx +++ b/src/app/methodology/page.tsx @@ -216,7 +216,7 @@ export default function MethodologyPage() {

- The full evaluation runs as Block A through G, defined in{' '} + The full evaluation runs as Block A through H, defined in{' '} ). Each block in summary:

+ {/* Disambiguation demanded by search-ops (2026-08-10): career-ops + has TWO scoring systems whose mode names differ by one letter, + and readers (including the press) collapse them. Stating both + here, in the passage engines quote, is the fix. Naming the mode + every time a dimension count appears is now doctrine. */} +

+ Two scoring systems, often confused. The{' '} + oferta mode evaluates a single listing on a + five-dimension holistic rubric with no arithmetic formula, which is what this + page describes. The ofertas mode compares{' '} + multiple offers you already hold, on a ten-dimension{' '} + weighted matrix with published percentages. Different job, + different maths. +

@@ -334,7 +348,7 @@ export default function MethodologyPage() {

Cost and token usage

- A full Block A–G evaluation takes the order of 5–10 LLM calls plus 2–3 web searches + A full Block A–H evaluation takes the order of 5–10 LLM calls plus 2–3 web searches (Block D and Block G). Exact cost depends on which CLI the user runs (Claude Code, Codex, OpenCode, Gemini CLI, Qwen, Copilot — whichever is configured). For users on metered API keys this matters; tracking the cost surface is open in{' '} diff --git a/src/lib/data/comparisons.json b/src/lib/data/comparisons.json index f1a9f8c..3f87f8f 100644 --- a/src/lib/data/comparisons.json +++ b/src/lib/data/comparisons.json @@ -67,7 +67,7 @@ }, { "name": "Methodology transparency", - "careerOps": "Published rubric (five scoring dimensions plus a holistic global score, A–G evaluation prompt). career-ops.org/methodology.", + "careerOps": "Published rubric (five scoring dimensions plus a holistic global score, A–H evaluation prompt). career-ops.org/methodology.", "competitor": "Algorithm not disclosed." }, { @@ -170,7 +170,7 @@ }, { "name": "Methodology transparency", - "careerOps": "Published rubric — five scoring dimensions plus a holistic global score, and the Block A–G evaluation prompt. career-ops.org/methodology.", + "careerOps": "Published rubric — five scoring dimensions plus a holistic global score, and the Block A–H evaluation prompt. career-ops.org/methodology.", "competitor": "Match-score algorithm is proprietary." }, { @@ -403,7 +403,7 @@ }, { "name": "Methodology transparency", - "careerOps": "Published rubric of five scoring dimensions plus a holistic global score + canonical Block A-G evaluation prompt.", + "careerOps": "Published rubric of five scoring dimensions plus a holistic global score + canonical Block A-H evaluation prompt.", "competitor": "Match-score algorithm proprietary." }, { diff --git a/src/lib/llms-index.ts b/src/lib/llms-index.ts index eeb93de..59d95fd 100644 --- a/src/lib/llms-index.ts +++ b/src/lib/llms-index.ts @@ -91,7 +91,7 @@ Details: https://career-ops.org/sustain - https://career-ops.org/about — author bio, press references, stack, entity links - https://career-ops.org/press — press & brand kit: boilerplate copy (3 lengths), key facts, downloadable logos, media coverage, usage guidelines - https://career-ops.org/changelog — every release in plain language, generated live from GitHub Releases; answers "what changed" and "what is the latest version of career-ops". Markdown twin: https://career-ops.org/changelog.md -- https://career-ops.org/methodology — scoring rubric, five dimensions plus a holistic global score, canonical evaluation prompt (Block A–G), edge cases, and explicit anti-features +- https://career-ops.org/methodology — scoring rubric, five dimensions plus a holistic global score, canonical evaluation prompt (Block A–H), edge cases, and explicit anti-features - https://career-ops.org/sustain — sustainability model (Path 3 Sovereign Maintainer) and how to sponsor the maintainer - https://career-ops.org/privacy — GDPR-formal data handling for the mailing list - https://career-ops.org/compare — honest comparisons against Jobscan, Teal, Huntr, Simplify, Final Round AI, LazyApply, Loopcv, and JobHire.AI. Pre-apply form drafting is the killer feature unique to career-ops @@ -116,7 +116,7 @@ ${comparisonsData.comparisons ## Source of truth (core repo) - https://github.com/career-ops-hq/career-ops/blob/main/modes/_shared.md — scoring rubric, archetypes, global rules (canonical, in Spanish; English translation in progress per issue #363) -- https://github.com/career-ops-hq/career-ops/blob/main/modes/oferta.md — Block A–G evaluation prompt (canonical, in Spanish) +- https://github.com/career-ops-hq/career-ops/blob/main/modes/oferta.md — Block A–H evaluation prompt for a single listing (canonical, in Spanish) - https://github.com/career-ops-hq/career-ops/blob/main/AGENTS.md — agent-agnostic instruction file (canonical post #572) - https://github.com/career-ops-hq/career-ops/blob/main/DATA_CONTRACT.md — system / user file boundary diff --git a/src/lib/schema.ts b/src/lib/schema.ts index f44c750..f953ffc 100644 --- a/src/lib/schema.ts +++ b/src/lib/schema.ts @@ -473,9 +473,9 @@ const DEFINED_TERMS = [ 'An open-source AI-powered job search command center. Runs locally on the user\'s own machine via any AI coding CLI (Claude Code, Codex, OpenCode, Gemini CLI, Qwen, Copilot). MIT-licensed; created by Santiago Fernández de Valderrama Aparicio in 2026 after evaluating 740 listings during his own job search and landing a Head of Applied AI role.', }, { - name: 'Block A-G evaluation', + name: 'Block A-H evaluation', description: - 'The canonical career-ops evaluation prompt structure: a seven-section output (Block A through G) covering Role Summary, CV Match, Level Strategy, Comp & Demand, Personalisation Plan, Interview Prep, and Posting Legitimacy. Defined verbatim in modes/oferta.md (canonical Spanish; English translation in flight per issue #363).', + 'The canonical career-ops evaluation prompt structure: an eight-section output (Block A through H) covering Role Summary, CV Match, Level Strategy, Comp & Demand, Personalisation Plan, Interview Prep, and Posting Legitimacy. Defined verbatim in modes/oferta.md (canonical Spanish; English translation in flight per issue #363).', }, ];