Pre-release Harn is pre-1.0 — the language, standard library, and CLI may change between releases. See the release notes

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.

NameRepoDefaultReadersHeadless reachability and evidenceVerdictReason / expiry
CompletionGateOptions.classify_writeharnabsent; use the supplied write facts without a custom classifiercrates/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-expiryRetain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13
CompletionGateOptions.escalation_targetharnabsent; no explicit escalation destinationcrates/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-expiryRetain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13
CompletionGateOptions.escalation_thresholdharndynamic: observed local fallback 3; normalization may overridecrates/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-expiryRetain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13
CompletionGateOptions.factsharnabsent; no host fact provider; absent facts and verify_command produce facts_unavailablecrates/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-expiryRetain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13
CompletionGateOptions.feedback_decoratorharnabsent; retain gate feedbackcrates/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-expiryRetain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13
CompletionGateOptions.feedback_templatesharnabsent; built-in feedback templatescrates/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-expiryRetain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13
CompletionGateOptions.judgeharnabsent; no additional model judgecrates/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-expiryRetain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13
CompletionGateOptions.judge_seamharndynamic: observed local fallback "verify_completion_judge"; normalization may overridecrates/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-expiryRetain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13
CompletionGateOptions.max_vetoesharndynamic: observed local fallback 3; normalization may overridecrates/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-expiryRetain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13
CompletionGateOptions.require_source_writeharndynamic: observed local fallback true; normalization may overridecrates/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-expiryRetain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13
CompletionGateOptions.requires_writeharnfacts.requires_write, then require_source_write, then truecrates/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-expiryRetain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13
CompletionGateOptions.verify_commandharnabsent; use raw.verify when supplied by facts, otherwise no verifier observationcrates/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-expiryRetain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13
CompletionGateOptions.veto_combineharnall verifier results must be ok; empty input is unmeasuredcrates/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-expiryRetain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13
JudgeConfig.cadenceharnempty object; evaluate every turn when a turn-end condition existscrates/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-expiryRetain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13
JudgeConfig.deadline_reserve_msharn5000 for completion checkpoints; absent for other checkpointscrates/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-expiryRetain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13
JudgeConfig.cadence.everyharnabsent; evaluate every turncrates/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-expiryRetain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13
JudgeConfig.feedback_fallbackharndynamic: observed local fallback ""; normalization may overridecrates/harn-stdlib/src/stdlib/agent/judge.harn:590 (__judge_invoke_structured)unknown: Static declaration/read only; downstream headless binding not observed.KEEP-with-expiryRetain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13
JudgeConfig.max_invocationsharncompletion judge: catalog completion_review.max_judge_calls, then 5; turn-end judge: absent (unbounded); nonpositive disables the capcrates/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-expiryRetain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13
JudgeConfig.cadence.min_iterations_before_firstharnabsent; no warmup delaycrates/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-expiryRetain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13
JudgeConfig.modelharnprovider catalog judge role; refuse if neither explicit nor catalog model resolvescrates/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-expiryRetain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13
JudgeConfig.operation_timeout_msharn60000 for completion checkpoints; absent for other checkpointscrates/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-expiryRetain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13
JudgeConfig.providerharnrunner provider, then provider inferred from the actor model; otherwise absentcrates/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-expiryRetain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13
JudgeConfig.requirement_contractharnabsent; no requirement-specific contractcrates/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-expiryRetain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13
JudgeConfig.rubricharninherit the agent rubric, otherwise emptycrates/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-expiryRetain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13
JudgeConfig.systemharndynamic: observed local fallback ""; normalization may overridecrates/harn-stdlib/src/stdlib/agent/judge.harn:415 (__judge_invoke_structured)unknown: Static declaration/read only; downstream headless binding not observed.KEEP-with-expiryRetain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13
JudgeConfig.timeout_msharninherit runner LLM timeout; completion checkpoints fall back to and cap at the operation budgetcrates/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-expiryRetain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13
JudgeConfig.cadence.max_invocationsharnabsent; no cadence invocation capcrates/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-expiryRetain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13
JudgeConfig.cadence.whenharnalwayscrates/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-expiryExplicit configuration consumed by the owning module; retain until the typed runner/stop/stall migration settles this seam. / 2026-09-13
agent_done_contract.done_sentinelharnthe configured done sentinelcrates/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.DELETEReplace the prose sentinel completion contract with a typed actor completion packet. / none
StepJudgeOptions.max_attemptsharn3crates/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-expiryA caller-selected bound on model review attempts. / 2026-09-13
StepJudgeOptions.skip_when_iterations_remainingharn1crates/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-expiryMust be reconciled with the single stop-decision budget during cutover. / 2026-09-13
StepJudgeOptions.skip_when_emptyharntruecrates/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-DEFAULTEmpty-response recovery belongs to the runner; remove the duplicate model-review branch. / none
StepJudgeOptions.skip_when_stalledharntruecrates/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-DEFAULTThe stall handler owns recovery from a detected stall; remove competing review control. / none
StepJudgeOptions.rubricharndefaultcrates/harn-stdlib/src/stdlib/agent/step_judge.harn:78 (__invoke)unknown: __invoke supplies rubric content to the review prompt.KEEP-with-expiryRubric content is caller policy, distinct from the review mechanism. / 2026-09-13
StepJudgeOptions.fail_open_on_errorharntruecrates/harn-stdlib/src/stdlib/agent/step_judge.harn:96 (__invoke)unknown: __invoke distinguishes an unavailable reviewer from a passing review.KEEP-with-expiryReplace the boolean with the typed stop-decision policy after failure-path evidence. / 2026-09-13
StepJudgeOptions.feedback_fallbackharnThe 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-expiryCaller-owned feedback wording is policy content. / 2026-09-13
StepJudgeOptions.on_vetoharnreplacecrates/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-expiryReconcile veto handling with the single typed stop decision during cutover. / 2026-09-13
JudgeConfig.temperatureharnabsent; inherit llm_options.temperature, then provider defaultcrates/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-expiryPer-judge model request policy belongs in the typed stop-decision configuration. / 2026-09-13
JudgeConfig.max_tokensharnabsent; inherit llm_options.max_tokens, then provider defaultcrates/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-expiryPer-judge resource limits belong in the typed stop-decision configuration. / 2026-09-13
JudgeConfig.top_pharnabsent; inherit llm_options.top_p, then provider defaultcrates/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-expiryPer-judge model request policy belongs in the typed stop-decision configuration. / 2026-09-13
JudgeConfig.tool_formatharnabsent; inherit llm_options.tool_format, then normal model request resolutioncrates/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-expiryPreserve model format selection until the typed stop-decision request subsumes this override map. / 2026-09-13
JudgeConfig.effortharnabsent; inherit llm_options.effort, then model catalog resolutioncrates/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-expiryPer-judge model request policy belongs in the typed stop-decision configuration. / 2026-09-13