# Verdicts and codes

Source: https://replume.dev/docs/verdicts-and-codes/

[View as human](https://replume.dev/docs/verdicts-and-codes/)

Read the verdict, then use the code to find the next check.

## Verdicts

- **PASS** — the required checks passed under the recorded conditions.
- **FAIL** — a required check or policy failed.
- **INCOMPLETE** — Replume could not establish a pass.
- **NO CHANGES** — the session ended without a change to verify.

Run `replume status` for the latest session. Use `replume report --session` to find its saved evidence. The commands below are for 0.2.6. Replace placeholders in angle brackets. `npm test` is an example for Node projects. Use the full command printed by Replume for your repo. Before `replume verify`, commit the intended changes so that verification includes them.

## Code reference

| Code | Cause | What to do and run |
| --- | --- | --- |
| `RUNNER_NOT_FOUND` | The named test runner did not start or exited as command-not-found. | Install the runner in the project, then run the test command again. `replume init --check` |
| `IGNORED_FILE_NEEDED` | The tests need a git-ignored file the agent wrote, and the commit does not hold it. | Make the fix in a tracked file; for build output, run the project's build. `replume verify` |
| `SPEC_TEST_CONFLICT` | The agent's final message says a test or the named document is wrong, that the task and a test disagree, or that someone must decide which is right. | Decide whether the test or the task is right. If the test is wrong, correct it, confirm the exact file, commit the intended changes and run verification again. `replume confirm-config <test-file>` |
| `DEPS_MISSING` | Project dependencies needed by the check are absent. | Run the project's documented dependency install (`npm ci` for a locked Node project), then retry. `replume init --check` |
| `TEST_FAILED` | A required test command returned a failing result. | Fix the code and rerun that command. `npm test` |
| `ZERO_TESTS` | The command ran but collected zero tests. | Correct the test command or test selection so at least one test runs. `npm test` |
| `TEST_UNCONFIRMED` | Exit 0 has no recognizable evidence that a test ran. | Use a test runner that prints test counts/results, then rerun. `npm test` |
| `TEST_TIMEOUT` | A test command exceeded its time limit. | Fix the hanging test or raise the configured limit and rerun. `replume init --check` |
| `TEST_NOT_RUN` | The contract has no test command, or the command could not be executed. | Add a runnable test command to the confirmed contract. Check setup, then run verification again. `replume init --check` |
| `SCENARIO_FAILED` | An optional or required scenario ran and failed its expectation. | Fix the behavior or the scenario with a justified policy change. `replume verify` |
| `SCENARIO_NOT_RUN` | No scenario was run or a required scenario is missing. | Add/run the required scenario; optional scenarios may remain absent if another check supplies evidence. `replume verify` |
| `SCENARIO_PRE_EXISTING` | A scenario failed the same way at task start and is unrelated to this change. | Fix it in a separate task if needed; this result does not fail the current task. `replume verify` |
| `RUNTIME_FAILED` | The opted-in runtime probe failed. | Inspect its command, output and artifacts; fix and rerun. `replume verify --runtime` |
| `RUNTIME_NOT_CHECKED` | The runtime probe could not run or was not supplied. | Provide the required image/dependencies or opt in and rerun when runtime evidence is needed. `replume verify --runtime` |
| `SANDBOX_LIMIT` | An isolation limit stopped the check without a test verdict. | Inspect the reported limit and rerun with suitable resources. `replume init --check` |
| `EMPTY_DIFF` | Base and target contain no compared change. | Choose the correct base/commit or make the intended change. `git status --short` |
| `CONTRACT_DRAFT` | The task contract remains a draft; its policy was not applied. | Review and confirm the contract. `replume confirm` |
| `CONTRACT_MISSING` | No usable task contract was found. | In Approve mode, draft the task, review it and run `replume confirm`. In Auto, start a fresh agent session with your task. `replume draft --task "Describe your task"` |
| `SCOPE_UNSET` | No allow paths were provided, so scope could not be checked. | Add the intended paths to the contract. `replume confirm` |
| `SCOPE_EXTRA` | A changed file or new dependency lies beyond the agreed task. | Restore it or get the contract updated by the task owner. `git diff HEAD` |
| `CHANGE_NOT_OBSERVED` | Hooks did not record a successful write of this changed file. | Make the change through a supported agent tool or review it manually; rerun verify. `git diff HEAD` |
| `NO_AGENT_SESSION` | No agent session for this task was recorded. | Check hook installation and run the task through the agent. `replume status` |
| `CHANGE_NOT_CHECKED` | The available checks did not establish this changed file's behavior. | Add a relevant check or review the change and rerun. `replume verify` |
| `BASELINE_UNAVAILABLE` | Task-start test or snapshot evidence could not be read. | Run `replume init --check`, restore the task-start snapshot, or start a fresh task. `replume init --check` |
| `NO_COMMIT` | The repository has no commit to compare. | Stage the files for your initial commit first. `git commit -m "Initial commit"` |
| `STALE_REPORT` | The working tree differs from the saved report's tree. | Run `replume verify` again on the current tree. `replume verify` |
| `TASK_TEST_RED` | A test named by the task remains failing from the task start. | Fix that test's underlying code; do not treat it as unrelated baseline failure. `npm test` |
| `SUITE_SHRANK` | The selected test suite became smaller or was deselected. | Restore removed/deselected tests and rerun. `git diff HEAD` |
| `REQUIRED_CHECK_MISSING` | A required contract check has no passing run. | Run or repair that named check. `replume verify` |
| `JIRA_NOT_DONE` | A Jira acceptance item has contrary executed evidence. | Complete the item and rerun its matching check. `replume verify` |
| `JIRA_NOT_CHECKED` | A Jira acceptance item lacks a matching executed check. | Add and run a check that proves the item. `replume verify` |
| `POLICY_CHANGED` | Protected policy or its trusted-base version changed. | Restore the base policy or make a reviewed policy change outside this PR/task. `replume verify` |
| `PROTECTED_TEST_EDIT` | An existing protected test or snapshot was changed. | Restore it and fix production code; an authorized exact-content confirmation can permit a justified edit. `git diff HEAD` |
| `PROTECTED_CONFIG_EDIT` | Protected test runner/config or another protected path was changed. | Restore the file, or use the confirmation command the agent relays for a supported config change. `replume confirm-config <path> --sha <hash-from-message>` |
| `TEST_BENT` | A failing test's expectation was bent to match the bug while reached source stayed unchanged. | Restore the assertion and fix the source behavior. `git diff HEAD` |
| `TEST_WEAKENED` | Assertions, test selection or mocks were changed to make a test easier to pass. | Restore the test's strength and fix the code it checks. `git diff HEAD` |
| `TEST_BYPASS` | Production code special-cases the test or runner. | Remove the special case and implement the behavior. `git diff HEAD` |
| `TEST_SCRIPT_CHANGED` | The test command or runner selection was altered. | Restore it or obtain exact-content confirmation for a necessary change. `git diff HEAD` |
| `COMMIT_BEFORE_GREEN` | The agent tried to commit/publish before required tests were green. | Run the required tests, fix failures, then commit. `npm test` |
| `DESTRUCTIVE_COMMAND` | A proposed command may delete work or rewrite history. | Use a non-destructive alternative. `git status --short` |
| `SECRET_FILE_ACCESS` | A step tried to read/write a credential or secret file. | Leave secret files alone; use the project's documented configuration. `git status --short` |
| `OUT_OF_SCOPE_EDIT` | The proposed edit lies outside the task's allowed paths. | Keep changes inside scope or update the task contract. `git diff HEAD` |
| `REPLUME_STATE_WRITE` | An agent step tried to write `.replume/` state. | Let Replume own that state. `git status --short` |
| `LOOP_DETECTED` | The same action repeated without progress. | Change approach. `replume status` |
| `STOP_CHECK_UNMET` | A contract `done` condition was unmet at Stop. | Run the missing check and fix its result. `replume verify` |
| `STOP_RETRIES_EXHAUSTED` | Stop retries ended while checks still failed. | Continue the task and rerun verification. `replume status` |
| `CLAIM_UNSUPPORTED` | The agent claimed a result the ledger does not support. | Run a supporting check or correct the claim. `replume report --session` |
| `UNATTRIBUTED_CHANGE` | A file changed through a step the hooks could not attribute. | Restore or inspect the change and rerun through observed tools. `git diff HEAD` |
| `MODEL_REVIEW_FINDING` | Optional second-agent review raised a finding. | Inspect the cited evidence; fix or explain the finding. Model opinion cannot override the ledger. `replume report --session` |
| `MODEL_JUDGE_FINDING` | Optional model judge flagged a step. | Compare the cited diff with the task; fix or explain. `replume report --session` |
| `TASK_NAMES_PROTECTED` | The task names an existing protected test. | Add a new test or ask for exact-content confirmation. `replume verify` |
| `INTERVENTION_OTHER` | An older or unrecognized intervention rule was recorded. | Read the original rule/message and update this catalog if still used. `replume report --session` |
| `CHECK_FAILED` | A failed check lacks a more specific classification. | Read its check output and rerun after fixing it. `replume verify` |
| `CHECK_NOT_RUN` | A check lacks an executed result and no specific cause was classified. | Read its detail, make the check runnable and rerun. `replume verify` |
