{"record":{"id":"7ce80fa3ff407088","repo":"coleam00/Archon","slug":"warning","errorCode":null,"errorMessage":"  - ${warning}","messagePattern":"  - \\$\\{warning\\}","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"packages/cli/src/commands/workflow.ts","lineNumber":1062,"sourceCode":"    );\n  }\n}\n\n/**\n * Print a workflow's parse warnings (keys the engine silently drops) to stderr.\n *\n * stderr rather than stdout so `--json` callers keep a parseable payload while\n * still being told; `console.warn` rather than the logger because `--json` sets\n * the log level to silent, which is exactly the case this has to survive.\n */\nexport function emitParseWarnings(\n  parseWarnings: readonly string[] | undefined,\n  workflowName: string\n): void {\n  if (!parseWarnings || parseWarnings.length === 0) return;\n  console.warn(`Warning: '${workflowName}' declares keys the engine ignores:`);\n  for (const warning of parseWarnings) {\n    console.warn(`  - ${warning}`);\n  }\n}\n\n/**\n * Print a deprecated workflow's removal notice (#2781) to stderr.\n *\n * Same channel as emitParseWarnings: stderr keeps `--json` stdout parseable,\n * and `console.warn` survives `--json`'s log silencing. Not gated on --quiet —\n * a user driving runs programmatically still has to learn the default they\n * picked is scheduled for removal.\n */\nexport function emitDeprecationNotice(workflow: WorkflowDefinition): void {\n  const notice = formatDeprecationNotice(workflow);\n  if (notice) console.warn(notice);\n}\n\nfunction countWorkflowSources(\n  workflows: readonly WorkflowWithSource[]","sourceCodeStart":1044,"sourceCodeEnd":1080,"githubUrl":"https://github.com/coleam00/Archon/blob/0773b9745896ef0612e709c80845a0f7db315b19/packages/cli/src/commands/workflow.ts#L1044-L1080","documentation":"The per-item line of the same `emitParseWarnings` output (packages/cli/src/commands/workflow.ts:1062): each ignored key found in the workflow definition is printed as `  - <warning>`. It exists to enumerate exactly which keys the engine is dropping so the author can fix the YAML.","triggerScenarios":"Always emitted together with the header (error 583) when `parseWarnings` is non-empty for the workflow being run; one line per unrecognized key.","commonSituations":"Same as error 583: typo'd or obsolete keys in a workflow YAML file under `.archon/workflows/` or `~/.archon/workflows/`, or a stale bundled definition.","solutions":["Fix each listed key in the workflow YAML (rename to the supported field or delete it).","Re-run the workflow command and confirm no warning lines appear.","If a key seems like it should be supported, check the workflow schema for the current field name."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"// Same pre-run schema validation; assert zero parse warnings before launch\nconst { warnings } = parseWorkflowDefinition(yamlText);\nif (warnings.length > 0) process.exitCode = 1;","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Fix every listed ignored key; do not ship workflows that emit these lines.","Re-run after edits and confirm the warning list is empty."],"tags":["cli","workflow-yaml","schema","unknown-keys"],"backgroundTag":"unknown-config-key","analyzedSha":"0773b9745896ef0612e709c80845a0f7db315b19","analyzedAt":"2026-09-01T02:28:07.064Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T05:18:18.240Z"}