stop decision configuration
Generated from the typed agent gate registry. Edit the registry, then regenerate.
Reachability records its evidence; source wiring does not prove runtime efficacy.
| Name | Repo | Default | Readers | Headless reachability and evidence | Verdict | Reason / expiry |
|---|---|---|---|---|---|---|
| CompletionGateOptions.classify_write | harn | absent; use the supplied write facts without a custom classifier | crates/harn-stdlib/src/stdlib/agent/completion_gate.harn:299 (__completion_gate_evaluate); crates/harn-stdlib/src/stdlib/agent/completion_gate.harn:170 (__completion_gate_validate_options) | unknown: completion_gate.__completion_gate_evaluate passes the optional classifier to the write-count reducer. Source review establishes the fallback; canonical host reachability is not inferred. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| CompletionGateOptions.escalation_target | harn | absent; no explicit escalation destination | crates/harn-stdlib/src/stdlib/agent/completion_gate.harn:180 (__completion_gate_validate_options); crates/harn-stdlib/src/stdlib/agent/completion_gate.harn:364 (__completion_gate_evaluate); crates/harn-stdlib/src/stdlib/agent/completion_gate.harn:185 (__completion_gate_validate_options); crates/harn-stdlib/src/stdlib/agent/completion_gate.harn:181 (__completion_gate_validate_options); crates/harn-stdlib/src/stdlib/agent/completion_gate.harn:182 (__completion_gate_validate_options) | unknown: completion_gate.__completion_gate_evaluate forwards the optional destination to the gate ladder. Source review establishes the fallback; canonical host reachability is not inferred. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| CompletionGateOptions.escalation_threshold | harn | dynamic: observed local fallback 3; normalization may override | crates/harn-stdlib/src/stdlib/agent/completion_gate.harn:173 (__completion_gate_validate_options); crates/harn-stdlib/src/stdlib/agent/completion_gate.harn:363 (__completion_gate_evaluate); crates/harn-stdlib/src/stdlib/agent/completion_gate.harn:178 (__completion_gate_validate_options); crates/harn-stdlib/src/stdlib/agent/completion_gate.harn:174 (__completion_gate_validate_options); crates/harn-stdlib/src/stdlib/agent/completion_gate.harn:175 (__completion_gate_validate_options) | unknown: Static declaration/read only; downstream headless binding not observed. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| CompletionGateOptions.facts | harn | absent; no host fact provider; absent facts and verify_command produce facts_unavailable | crates/harn-stdlib/src/stdlib/agent/completion_gate.harn:301 (__completion_gate_evaluate); crates/harn-stdlib/src/stdlib/agent/completion_gate.harn:170 (__completion_gate_validate_options); crates/harn-stdlib/src/stdlib/agent/completion_gate.harn:424 (agent_completion_gate) | unknown: completion_gate.agent_completion_gate determines facts availability from these two inputs and does not claim a measured pass when both are absent. Source review establishes the fallback; canonical host reachability is not inferred. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| CompletionGateOptions.feedback_decorator | harn | absent; retain gate feedback | crates/harn-stdlib/src/stdlib/agent/completion_gate.harn:392 (__completion_gate_evaluate) | unknown: completion_gate.__completion_gate_decorate_feedback returns the original verdict when no decorator is supplied. Source review establishes the fallback; canonical host reachability is not inferred. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| CompletionGateOptions.feedback_templates | harn | absent; built-in feedback templates | crates/harn-stdlib/src/stdlib/agent/completion_gate.harn:193 (__completion_gate_validate_options); crates/harn-stdlib/src/stdlib/agent/completion_gate.harn:381 (__completion_gate_evaluate) | unknown: completion_gate.__completion_gate_evaluate supplies the optional templates to the gate ladder. Source review establishes the fallback; canonical host reachability is not inferred. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| CompletionGateOptions.judge | harn | absent; no additional model judge | crates/harn-stdlib/src/stdlib/agent/completion_gate.harn:435 (agent_completion_gate) | unknown: completion_gate.agent_completion_gate installs a judge only when configured and truthy. Source review establishes the fallback; canonical host reachability is not inferred. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| CompletionGateOptions.judge_seam | harn | dynamic: observed local fallback "verify_completion_judge"; normalization may override | crates/harn-stdlib/src/stdlib/agent/completion_gate.harn:187 (__completion_gate_validate_options); crates/harn-stdlib/src/stdlib/agent/completion_gate.harn:189 (__completion_gate_validate_options); crates/harn-stdlib/src/stdlib/agent/completion_gate.harn:442 (agent_completion_gate); crates/harn-stdlib/src/stdlib/agent/completion_gate.harn:188 (__completion_gate_validate_options); crates/harn-stdlib/src/stdlib/agent/completion_gate.harn:191 (__completion_gate_validate_options) | unknown: Static declaration/read only; downstream headless binding not observed. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| CompletionGateOptions.max_vetoes | harn | dynamic: observed local fallback 3; normalization may override | crates/harn-stdlib/src/stdlib/agent/completion_gate.harn:302 (__completion_gate_evaluate); crates/harn-stdlib/src/stdlib/agent/completion_gate.harn:431 (agent_completion_gate) | unknown: Static declaration/read only; downstream headless binding not observed. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| CompletionGateOptions.require_source_write | harn | dynamic: observed local fallback true; normalization may override | crates/harn-stdlib/src/stdlib/agent/completion_gate.harn:352 (__completion_gate_evaluate); crates/harn-stdlib/src/stdlib/agent/completion_gate.harn:432 (agent_completion_gate) | unknown: Static declaration/read only; downstream headless binding not observed. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| CompletionGateOptions.requires_write | harn | facts.requires_write, then require_source_write, then true | crates/harn-stdlib/src/stdlib/agent/completion_gate.harn:347 (__completion_gate_evaluate); crates/harn-stdlib/src/stdlib/agent/completion_gate.harn:348 (__completion_gate_evaluate) | unknown: completion_gate.__completion_gate_evaluate resolves the explicit setting before the fact and legacy setting. Source review establishes the fallback; canonical host reachability is not inferred. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| CompletionGateOptions.verify_command | harn | absent; use raw.verify when supplied by facts, otherwise no verifier observation | crates/harn-stdlib/src/stdlib/agent/completion_gate.harn:300 (__completion_gate_evaluate); crates/harn-stdlib/src/stdlib/agent/completion_gate.harn:424 (agent_completion_gate) | unknown: completion_gate.__completion_gate_evaluate prioritizes fact-provided verification before the optional verifier callback. Source review establishes the fallback; canonical host reachability is not inferred. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| CompletionGateOptions.veto_combine | harn | all verifier results must be ok; empty input is unmeasured | crates/harn-stdlib/src/stdlib/agent/completion_gate.harn:346 (__completion_gate_evaluate) | unknown: judge_internals.__completion_gate_combine_verify reduces every verdict and returns nil for absent or empty input. Source review establishes the fallback; canonical host reachability is not inferred. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| JudgeConfig.cadence | harn | empty object; evaluate every turn when a turn-end condition exists | crates/harn-stdlib/src/stdlib/agent/turn_end.harn:188 (__agent_turn_end_judge_stall_cadence) | unknown: turn_end.__turn_end_judge_cadence normalizes an absent cadence to an empty dictionary. Source review establishes the fallback; canonical host reachability is not inferred. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| JudgeConfig.deadline_reserve_ms | harn | 5000 for completion checkpoints; absent for other checkpoints | crates/harn-stdlib/src/stdlib/agent/judge_internals.harn:404 (__judge_run_checkpoint); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:627 (__validate_agent_loop_completion_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:653 (__validate_agent_loop_completion_options) | unknown: judge_internals.__judge_run_checkpoint clamps the completion deadline reserve to at least zero. Source review establishes the fallback; canonical host reachability is not inferred. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| JudgeConfig.cadence.every | harn | absent; evaluate every turn | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:187 (__validate_judge_cadence); crates/harn-stdlib/src/stdlib/agent/turn_end.harn:97 (__turn_end_judge_every_due); crates/harn-stdlib/src/stdlib/agent/turn_end.harn:216 (agent_stall_turn_end_judge_due) | unknown: turn_end.__turn_end_judge_every_due returns true when every is absent. Source review establishes the fallback; canonical host reachability is not inferred. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| JudgeConfig.feedback_fallback | harn | dynamic: observed local fallback ""; normalization may override | crates/harn-stdlib/src/stdlib/agent/judge.harn:590 (__judge_invoke_structured) | unknown: Static declaration/read only; downstream headless binding not observed. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| JudgeConfig.max_invocations | harn | completion judge: catalog completion_review.max_judge_calls, then 5; turn-end judge: absent (unbounded); nonpositive disables the cap | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:612 (__validate_agent_loop_completion_options); crates/harn-stdlib/src/stdlib/agent/turn_end.harn:165 (agent_turn_end_judge_cap) | unknown: completion_review.__verify_completion_judge_cap and turn_end.agent_turn_end_judge_cap own the two caller defaults. Source review establishes the fallback; canonical host reachability is not inferred. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| JudgeConfig.cadence.min_iterations_before_first | harn | absent; no warmup delay | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:192 (__validate_judge_cadence); crates/harn-stdlib/src/stdlib/agent/turn_end.harn:105 (__turn_end_judge_past_warmup); crates/harn-stdlib/src/stdlib/agent/turn_end.harn:212 (agent_stall_turn_end_judge_due) | unknown: turn_end.__turn_end_judge_past_warmup returns true when the minimum is absent. Source review establishes the fallback; canonical host reachability is not inferred. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| JudgeConfig.model | harn | provider catalog judge role; refuse if neither explicit nor catalog model resolves | crates/harn-stdlib/src/stdlib/agent/judge_internals.harn:194 (judge-model-key-domain) | unknown: judge_internals.__judge_resolve_model returns no model when both sources are absent. Source review establishes the fallback; canonical host reachability is not inferred. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| JudgeConfig.operation_timeout_ms | harn | 60000 for completion checkpoints; absent for other checkpoints | crates/harn-stdlib/src/stdlib/agent/judge_internals.harn:389 (__judge_run_checkpoint); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:622 (__validate_agent_loop_completion_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:648 (__validate_agent_loop_completion_options) | unknown: judge_internals.__judge_run_checkpoint clamps the completion operation budget to at least 1 ms. Source review establishes the fallback; canonical host reachability is not inferred. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| JudgeConfig.provider | harn | runner provider, then provider inferred from the actor model; otherwise absent | crates/harn-stdlib/src/stdlib/agent/judge_internals.harn:221 (__judge_provider_family); crates/harn-stdlib/src/stdlib/agent/judge_internals.harn:468 (__judge_run_checkpoint) | unknown: judge_internals.__judge_provider_family resolves the provider family. Source review establishes the fallback; canonical host reachability is not inferred. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| JudgeConfig.requirement_contract | harn | absent; no requirement-specific contract | crates/harn-stdlib/src/stdlib/agent/completion_claim.harn:188 (__completion_claim_requirement_ids); crates/harn-stdlib/src/stdlib/agent/completion_claim.harn:195 (__completion_claim_requirement_ids); crates/harn-stdlib/src/stdlib/agent/completion_claim.harn:189 (__completion_claim_requirement_ids); crates/harn-stdlib/src/stdlib/agent/completion_claim.harn:196 (__completion_claim_requirement_ids); crates/harn-stdlib/src/stdlib/agent/judge.harn:995 (__completion_boundary_ledger); crates/harn-stdlib/src/stdlib/agent/judge.harn:1001 (__completion_boundary_ledger); crates/harn-stdlib/src/stdlib/agent/judge.harn:416 (__judge_invoke_structured); crates/harn-stdlib/src/stdlib/agent/judge.harn:331 (__judge_stable_prefix); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:607 (__validate_agent_loop_completion_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:638 (__validate_agent_loop_completion_options) | unknown: completion_requirements.__completion_requirement_contract_checked returns nil for absent input or an empty requirements list. Source review establishes the fallback; canonical host reachability is not inferred. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| JudgeConfig.rubric | harn | inherit the agent rubric, otherwise empty | crates/harn-stdlib/src/stdlib/agent/judge.harn:324 (__judge_stable_prefix) | unknown: judge.__judge_stable_prefix resolves judge_cfg.rubric then opts.rubric then an empty string. Source review establishes the fallback; canonical host reachability is not inferred. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| JudgeConfig.system | harn | dynamic: observed local fallback ""; normalization may override | crates/harn-stdlib/src/stdlib/agent/judge.harn:415 (__judge_invoke_structured) | unknown: Static declaration/read only; downstream headless binding not observed. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| JudgeConfig.timeout_ms | harn | inherit runner LLM timeout; completion checkpoints fall back to and cap at the operation budget | crates/harn-stdlib/src/stdlib/agent/judge_internals.harn:399 (__judge_run_checkpoint); crates/harn-stdlib/src/stdlib/agent/judge_internals.harn:396 (__judge_run_checkpoint); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:617 (__validate_agent_loop_completion_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:643 (__validate_agent_loop_completion_options) | unknown: judge_internals.__judge_run_checkpoint resolves provider timeout separately from the operation deadline. Source review establishes the fallback; canonical host reachability is not inferred. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| JudgeConfig.cadence.max_invocations | harn | absent; no cadence invocation cap | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:188 (__validate_judge_cadence); crates/harn-stdlib/src/stdlib/agent/turn_end.harn:113 (__turn_end_judge_under_cap); crates/harn-stdlib/src/stdlib/agent/turn_end.harn:208 (agent_stall_turn_end_judge_due) | unknown: turn_end.__turn_end_judge_under_cap returns true when the cap is absent. Source review establishes the fallback; canonical host reachability is not inferred. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| JudgeConfig.cadence.when | harn | always | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:194 (__validate_judge_cadence); crates/harn-stdlib/src/stdlib/agent/turn_end.harn:81 (__turn_end_judge_when_due); crates/harn-stdlib/src/stdlib/agent/turn_end.harn:189 (__agent_turn_end_judge_stall_cadence) | unknown: turn_end.__turn_end_judge_when_due supplies always when the condition is absent. Source review establishes the fallback; canonical host reachability is not inferred. | KEEP-with-expiry | Explicit configuration consumed by the owning module; retain until the typed runner/stop/stall migration settles this seam. / 2026-09-13 |
| agent_done_contract.done_sentinel | harn | the configured done sentinel | crates/harn-stdlib/src/stdlib/agent/judge.harn:681 (__done_contract_primary_prompt) | unknown: Read by __done_contract_primary_prompt when constructing the actor completion instructions. | DELETE | Replace the prose sentinel completion contract with a typed actor completion packet. / none |
| StepJudgeOptions.max_attempts | harn | 3 | crates/harn-stdlib/src/stdlib/agent/step_judge.harn:56 (__should_skip) | unknown: __should_skip bounds configured per-turn critique attempts; no canonical headless activation trace collected. | KEEP-with-expiry | A caller-selected bound on model review attempts. / 2026-09-13 |
| StepJudgeOptions.skip_when_iterations_remaining | harn | 1 | crates/harn-stdlib/src/stdlib/agent/step_judge.harn:60 (__should_skip) | unknown: __should_skip reserves the remaining runner iterations; no canonical headless activation trace collected. | KEEP-with-expiry | Must be reconciled with the single stop-decision budget during cutover. / 2026-09-13 |
| StepJudgeOptions.skip_when_empty | harn | true | crates/harn-stdlib/src/stdlib/agent/step_judge.harn:64 (__should_skip) | unknown: __should_skip bypasses critique when neither text nor tools were returned. | PROMOTE-TO-DEFAULT | Empty-response recovery belongs to the runner; remove the duplicate model-review branch. / none |
| StepJudgeOptions.skip_when_stalled | harn | true | crates/harn-stdlib/src/stdlib/agent/step_judge.harn:70 (__should_skip) | unknown: __should_skip bypasses critique when a stall warning is already present. | PROMOTE-TO-DEFAULT | The stall handler owns recovery from a detected stall; remove competing review control. / none |
| StepJudgeOptions.rubric | harn | default | crates/harn-stdlib/src/stdlib/agent/step_judge.harn:78 (__invoke) | unknown: __invoke supplies rubric content to the review prompt. | KEEP-with-expiry | Rubric content is caller policy, distinct from the review mechanism. / 2026-09-13 |
| StepJudgeOptions.fail_open_on_error | harn | true | crates/harn-stdlib/src/stdlib/agent/step_judge.harn:96 (__invoke) | unknown: __invoke distinguishes an unavailable reviewer from a passing review. | KEEP-with-expiry | Replace the boolean with the typed stop-decision policy after failure-path evidence. / 2026-09-13 |
| StepJudgeOptions.feedback_fallback | harn | The previous response should be revised. | crates/harn-stdlib/src/stdlib/agent/step_judge.harn:131 (__invoke) | unknown: __invoke uses this feedback when the reviewer supplies no critique. | KEEP-with-expiry | Caller-owned feedback wording is policy content. / 2026-09-13 |
| StepJudgeOptions.on_veto | harn | replace | crates/harn-stdlib/src/stdlib/agent/step_judge.harn:242 (agent_step_judge) | unknown: agent_step_judge selects the response to a negative review. | KEEP-with-expiry | Reconcile veto handling with the single typed stop decision during cutover. / 2026-09-13 |
| JudgeConfig.temperature | harn | absent; inherit llm_options.temperature, then provider default | crates/harn-stdlib/src/stdlib/agent/judge_internals.harn:16 (judge-override-key-domain) | unknown: __judge_apply_llm_overrides copies this non-null key from the independently scanned override domain onto the checkpoint request. | KEEP-with-expiry | Per-judge model request policy belongs in the typed stop-decision configuration. / 2026-09-13 |
| JudgeConfig.max_tokens | harn | absent; inherit llm_options.max_tokens, then provider default | crates/harn-stdlib/src/stdlib/agent/judge_internals.harn:16 (judge-override-key-domain) | unknown: __judge_apply_llm_overrides copies this non-null key from the independently scanned override domain onto the checkpoint request. | KEEP-with-expiry | Per-judge resource limits belong in the typed stop-decision configuration. / 2026-09-13 |
| JudgeConfig.top_p | harn | absent; inherit llm_options.top_p, then provider default | crates/harn-stdlib/src/stdlib/agent/judge_internals.harn:16 (judge-override-key-domain) | unknown: __judge_apply_llm_overrides copies this non-null key from the independently scanned override domain onto the checkpoint request. | KEEP-with-expiry | Per-judge model request policy belongs in the typed stop-decision configuration. / 2026-09-13 |
| JudgeConfig.tool_format | harn | absent; inherit llm_options.tool_format, then normal model request resolution | crates/harn-stdlib/src/stdlib/agent/judge_internals.harn:16 (judge-override-key-domain) | unknown: __judge_apply_llm_overrides copies this non-null key from the independently scanned override domain onto the checkpoint request. | KEEP-with-expiry | Preserve model format selection until the typed stop-decision request subsumes this override map. / 2026-09-13 |
| JudgeConfig.effort | harn | absent; inherit llm_options.effort, then model catalog resolution | crates/harn-stdlib/src/stdlib/agent/judge_internals.harn:16 (judge-override-key-domain) | unknown: __judge_apply_llm_overrides copies this non-null key from the independently scanned override domain onto the checkpoint request. | KEEP-with-expiry | Per-judge model request policy belongs in the typed stop-decision configuration. / 2026-09-13 |