{"record":{"id":"fd9a21fd2cc6341d","repo":"santifer/career-ops","slug":"msg","errorCode":null,"errorMessage":"⚠️  ${msg}","messagePattern":"⚠️  \\$\\{msg\\}","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"verify-pipeline.mjs","lineNumber":78,"sourceCode":"];\n\nconst ALIASES = {\n  'evaluada': 'evaluated', 'condicional': 'evaluated', 'hold': 'evaluated', 'evaluar': 'evaluated', 'verificar': 'evaluated',\n  'aplicado': 'applied', 'enviada': 'applied', 'aplicada': 'applied', 'applied': 'applied', 'sent': 'applied',\n  'respondido': 'responded',\n  'entrevista': 'interview',\n  'oferta': 'offer',\n  'rechazado': 'rejected', 'rechazada': 'rejected',\n  'descartado': 'discarded', 'descartada': 'discarded', 'cerrada': 'discarded', 'cancelada': 'discarded',\n  'no aplicar': 'skip', 'no_aplicar': 'skip', 'monitor': 'skip', 'geo blocker': 'skip',\n  'contratado': 'hired', 'contratada': 'hired', 'hired': 'hired', 'accepted': 'hired', 'accept': 'hired',\n};\n\nlet errors = 0;\nlet warnings = 0;\n\nfunction error(msg) { console.log(`❌ ${msg}`); errors++; }\nfunction warn(msg) { console.log(`⚠️  ${msg}`); warnings++; }\nfunction ok(msg) { console.log(`✅ ${msg}`); }\n\n// --- Read applications.md ---\nif (!existsSync(APPS_FILE)) {\n  console.log('\\n📊 No applications.md found. This is normal for a fresh setup.');\n  console.log('   The file will be created when you evaluate your first offer.\\n');\n  process.exit(0);\n}\nconst content = readFileSync(APPS_FILE, 'utf-8');\nconst lines = content.split('\\n');\n\n// Map columns by header name so the checks work whether the tracker uses the\n// original 9-column layout or a customized one with an extra column (e.g. a\n// Location column after Role). Fixed-position indexing would otherwise read\n// Location where Score is expected and flag false errors. Falls back to the\n// legacy fixed layout when no recognizable header row is found.\n//\n// Sourced from tracker-parse.mjs rather than re-declared here: this file used","sourceCodeStart":60,"sourceCodeEnd":96,"githubUrl":"https://github.com/santifer/career-ops/blob/e7abd431fce9348a95261acac9e0c14779c35df8/verify-pipeline.mjs#L60-L96","documentation":"verify-pipeline.mjs prints this as a warning via the warn() helper (which prefixes '⚠️  ' and increments a warnings counter). It is not a thrown exception — it is a diagnostic line emitted during a health-check when one of the pipeline checks degrades but does not fail.","triggerScenarios":"Any check in verify-pipeline.mjs calls warn(msg) with a message string; the prefixed output '⚠️  <msg>' appears whenever a check finds a non-blocking problem (e.g. soft-stale data, skippable config issue) rather than a hard failure counted by error().","commonSituations":"Running `node verify-pipeline.mjs` during routine pipeline hygiene checks; a sub-check reports a soft condition the author classified as advisory. Exit code and severity depend on whether errors>0, not warnings.","solutions":["Read the message text after the '⚠️  ' prefix — it names the specific check and condition","Fix the underlying condition the message describes (e.g. regenerate stale data, correct config)","Re-run node verify-pipeline.mjs to confirm the warning is gone","If the warning is expected for a fresh setup, ignore it — warnings do not fail the check"],"exampleFix":"// before: pipeline has a soft issue\n⚠️  <check-specific message>\n// after: fix the condition and re-run\n✅ <check passed>","handlingStrategy":"validation","validationCode":"const res = { errors: 0, warnings: 0 }; // parse verify-pipeline output lines: '⚠️  ' => warnings++, '❌' => errors++\nconst out = execSync('node verify-pipeline.mjs').toString();\nconst hasWarnings = /⚠️/.test(out);","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Run verify-pipeline.mjs regularly so warnings surface before they compound","Treat every ⚠️ line as actionable — the tool only emits warnings for non-blocking but real conditions","Distinguish warnings (advisory) from ❌ errors (blocking) when triaging output"],"tags":["health-check","diagnostics","pipeline"],"backgroundTag":"missing-config-value","analyzedSha":"e7abd431fce9348a95261acac9e0c14779c35df8","analyzedAt":"2026-09-16T06:35:29.214Z","contentChangedAt":"2026-09-16T06:35:29.214Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}