prflow_implement.effort | low, medium, high, xhigh or max | Scaffold: low; absent runtime fallback: high | Local and cloud implementation. Higher values can increase cost and latency. | "effort": "low" |
prflow_implement.implement_pr_state | ready_for_review or draft | ready_for_review; invalid values also publish | Implementation. draft leaves the completed pull request for a human to publish. PRFlow never merges it. | "implement_pr_state": "draft" |
prflow_implement.update_branch_checkpoints | Boolean | true; only an explicit false disables | Implementation and pushed fix-loop checkpoints. Merges the configured base into the feature branch at defined boundaries. When false, the final workpad checkpoint row records that the branch was not reconciled with its base and repeats the freshness the branch setup measured, rather than calling the checkpoint clean. | "update_branch_checkpoints": true |
prflow_implement.ci_verification.enabled | Boolean | false; only an explicit JSON true enables | Cloud implementation. When true and the deployment check passes, a full-suite boundary dispatches ci.yml for the pushed commit instead of running the suite on the implementation host. ci-verification-request.py wait then polls that run. A failed wait prints failed-job: and recap: lines after FAILED (or recap-status: unestablished). Default off. A repository that does not ship the matching ci.yml inputs sees no effect. | "ci_verification": { "enabled": true } |
prflow.publish_model_effort | Boolean | true; only an explicit JSON false disables | Governs the provenance line for every command that emits one — the /prflow:implement draft pull request and the /prflow:spec issue alike: when false the line names the plugin version alone, suppressing the model and effort clause. The version is always published. Only the JSON boolean false disables it; the string "false" and the array [false] do not. Supersedes the former per-command key in the prflow_implement section, which is now read by nothing. | "publish_model_effort": true |
prflow_implement.stall_backstop.enabled | Boolean | true; unrecognized values enable | Cloud implementation. When false, an interim run can end without an automatic resume or loud failure. | "enabled": true |
prflow_implement.stall_backstop.max_resume_attempts | Integer zero or greater | 2; invalid values use 2 | Cloud implementation. 0 detects and fails without resuming. Each resume can incur another run. | "max_resume_attempts": 2 |
prflow_implement.stall_backstop.defer_to_runner_retry | Boolean | false; only the JSON boolean true enables | Cloud implementation on a runner that retries a failed job on its own (for example RunsOn retry=when-interrupted). Controls only an unclassifiable failed agent step (a reclaimed or dead job): when true it is left to the runner’s retry with one informational comment; when false the backstop resumes it, or marks the run 💥 Failed when the resume cannot proceed. A cancelled job is unaffected. Leave false on a runner without job-level retry. See Cloud Recovery. | "defer_to_runner_retry": false |
prflow_implement.spot_interruption_watcher.enabled | Boolean | false; only the JSON boolean true enables | Cloud implementation on a Linux EC2 Spot runner. Opt-in: a background watcher detects a Spot reclaim, records a durable marker, and a downstream recovery job resumes the run on the same bounded path a stall backstop uses. Only the JSON boolean true starts it; the string "true" does not. An explicit false is logged as disabled by config, not as a wrong type. Off (and safe) on any non-Linux or non-EC2 host. See Cloud Recovery. | "spot_interruption_watcher": { "enabled": true } |
prflow.attribute_commits_to_triggerer | Boolean | Runtime and scaffold: false | Cloud writer jobs. Applies only to verified human users and changes Git metadata, not the push credential. Trigger-time and post-merge-only. | "attribute_commits_to_triggerer": true |
verification_flight.enabled | Boolean | true | Local implementation and inline review-and-fix. Disabling reuse does not turn a missing or stale record into a pass. | "enabled": true |
status_labels.enabled | Boolean | true; only the JSON boolean false or the string "false" disables | Local and cloud implementation. Mirrors the run’s status onto one managed label — PRFlow:Implementing, PRFlow:Stuck or PRFlow:Complete — on the issue and its open pull request — the pull request carries its PRFlow:Implementing label from the moment the run links it, not only once a later status write finds it — so a running or stalled run is visible from the issue and pull-request lists. Each managed label gets a fixed brand color the first time PRFlow creates it (an already-existing label is never re-colored). Best-effort: label errors never change a run’s outcome, and unmanaged labels are left in place. | "status_labels": { "enabled": true } |