$quality
evaluation you run interactively can run as a Codex scheduled task, with the
evaluation artifacts persisted in your project. This guide shows the
agent-first setup in Codex. For the model behind the cadence, see
Engineering loops.
How evaluation runs inside Codex
When Codex runs the quality skill’s evaluate workflow, the skill selects the built-inharness evaluator by default (unless you or the workspace config
choose another evaluator). The deterministic qualitymd runner owns the work
graph and every artifact; the Codex session itself inspects requirement-specific
workspace context and supplies judgment plus evidence locators through
checkpoints. That means:
- No provider API key is needed. Evaluation judgment uses the same authenticated agent that is already running the skill.
- No nested agent process. The runner never launches a second Codex or Claude session; it exchanges typed JSON requests and results with the current one.
- Interrupted runs resume. Every checkpoint is persisted in the run’s
evaluation.json, so a stopped task picks up the pending work request withqualitymd evaluation run --resume <run> --json.
Set up a recurring evaluation task
- Create the scheduled task from ChatGPT on the web or the Codex desktop app, per the Codex scheduled-task documentation, and select the local project or worktree the QUALITY.md model lives in.
-
Make the CLI available. Install a compatible
qualitymdon the machine or in the task environment — see Quickstart — so the skill can drive the runner. -
Invoke the skill explicitly in the task prompt. Repeatable workflows
name the skill rather than describing it:
-
Keep workspace write access. The run writes the numbered evaluation
run folder under the resolved evaluation directory (default
.quality/evaluations/) plus the workflow feedback log under.quality/logs/, so the task needs workspace-write access to persist its artifacts. Local tasks run against your checkout and require the machine and app to remain available; cloud environments distinguish task-wide environment variables from setup-only secrets, per the Codex cloud environment reference.
Unattended behavior
The evaluate workflow adds no interactive gates when run unattended: the run advances checkpoint by checkpoint, finishes with a report, or stops with the runner’s classified failure and remedy. Anawaiting_evaluator receipt is
normal progress — a later task or session resumes the run and recovers the
same pending work request. qualitymd status --json and
qualitymd evaluation list --json identify awaiting runs and their
continuation command.
Agent-runtime authentication
Harness-backed evaluation needs no credential beyond the task’s own agent. If you explicitly select thecodex or claude evaluator, authentication belongs
to that coding-agent runtime and may use its documented login, subscription, or
headless credential mechanism. qualitymd does not define API-key evaluator
methods or store provider tokens in .quality/config.yaml.
Supply any runtime credential through the environment’s secret facility and
avoid exposing task-wide credentials to repository-controlled code.