coleam00/Archon · warning

- ${warning}

Error message

  - ${warning}

What it means

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.

Solutions

  1. Fix each listed key in the workflow YAML (rename to the supported field or delete it).
  2. Re-run the workflow command and confirm no warning lines appear.
  3. If a key seems like it should be supported, check the workflow schema for the current field name.
Defensive patterns

Strategy: validation

Validate before calling

// Same pre-run schema validation; assert zero parse warnings before launch
const { warnings } = parseWorkflowDefinition(yamlText);
if (warnings.length > 0) process.exitCode = 1;

Prevention

When it happens

Trigger: Always emitted together with the header (error 583) when `parseWarnings` is non-empty for the workflow being run; one line per unrecognized key.

Common situations: 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.

Related errors


AI-assisted analysis of coleam00/Archon@0773b97458 (2026-09-01). Data as JSON: /api/errors/7ce80fa3ff407088. Report an issue: GitHub.

Appendix: source

Thrown at packages/cli/src/commands/workflow.ts:1062

    );
  }
}

/**
 * Print a workflow's parse warnings (keys the engine silently drops) to stderr.
 *
 * stderr rather than stdout so `--json` callers keep a parseable payload while
 * still being told; `console.warn` rather than the logger because `--json` sets
 * the log level to silent, which is exactly the case this has to survive.
 */
export function emitParseWarnings(
  parseWarnings: readonly string[] | undefined,
  workflowName: string
): void {
  if (!parseWarnings || parseWarnings.length === 0) return;
  console.warn(`Warning: '${workflowName}' declares keys the engine ignores:`);
  for (const warning of parseWarnings) {
    console.warn(`  - ${warning}`);
  }
}

/**
 * Print a deprecated workflow's removal notice (#2781) to stderr.
 *
 * Same channel as emitParseWarnings: stderr keeps `--json` stdout parseable,
 * and `console.warn` survives `--json`'s log silencing. Not gated on --quiet —
 * a user driving runs programmatically still has to learn the default they
 * picked is scheduled for removal.
 */
export function emitDeprecationNotice(workflow: WorkflowDefinition): void {
  const notice = formatDeprecationNotice(workflow);
  if (notice) console.warn(notice);
}

function countWorkflowSources(
  workflows: readonly WorkflowWithSource[]

View on GitHub (pinned to 0773b97458)