runner 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 |
|---|---|---|---|---|---|---|
| AgentBudget.max_cost_usd | harn | absent; no per-call cost ceiling | crates/harn-vm/src/llm/cost.rs:316 (get) | unknown: cost.parse_budget_fields sets this optional ceiling only when the nested field is present. | KEEP-with-expiry | Preserve the nested contract at the owning budget, routing or prompt assembler. / 2026-09-13 |
| AgentBudget.max_input_tokens | harn | absent; no input-token ceiling | crates/harn-vm/src/llm/cost.rs:322 (get) | unknown: cost.parse_budget_fields sets this optional ceiling only when the nested field is present. | KEEP-with-expiry | Preserve the nested contract at the owning budget, routing or prompt assembler. / 2026-09-13 |
| AgentBudget.max_output_tokens | harn | absent; no output-token ceiling | crates/harn-vm/src/llm/cost.rs:325 (get) | unknown: cost.parse_budget_fields sets this optional ceiling only when the nested field is present. | KEEP-with-expiry | Preserve the nested contract at the owning budget, routing or prompt assembler. / 2026-09-13 |
| AgentSpec.equivalent_failover.max_routes | harn | 3 | crates/harn-vm/src/llm/helpers/options/routing.rs:234 (get) | unknown: helpers/options/routing.parse_equivalent_failover_option starts with DEFAULT_EQUIVALENT_FAILOVER_MAX_ROUTES. | KEEP-with-expiry | Preserve the nested contract at the owning budget, routing or prompt assembler. / 2026-09-13 |
| AgentSpec.equivalent_failover.on_no_dispatch | harn | false in the native parser; true in the agent default failover object | crates/harn-vm/src/llm/helpers/options/routing.rs:220 (get) | unknown: The native parser defaults false; llm/options.llm_enable_equivalent_failover explicitly injects true for the agent default. | KEEP-with-expiry | Preserve the nested contract at the owning budget, routing or prompt assembler. / 2026-09-13 |
| AgentSpec.models[].model | harn | required nonempty string in each object step | crates/harn-vm/src/llm/routing.rs:832 (native-model-step-identity) | unknown: routing.parse_ladder_step_value rejects an object without a nonempty model. | KEEP-with-expiry | Preserve the nested contract at the owning budget, routing or prompt assembler. / 2026-09-13 |
| AgentSpec.models[].provider | harn | absent; inherited routing resolution | crates/harn-vm/src/llm/routing.rs:838 (native-model-step-identity) | unknown: routing.parse_ladder_step_value returns None when provider is missing, nil or blank. | KEEP-with-expiry | Preserve the nested contract at the owning budget, routing or prompt assembler. / 2026-09-13 |
| AgentSpec.models[].label | harn | absent; no step label | crates/harn-vm/src/llm/routing.rs:839 (native-model-step-identity) | unknown: routing.parse_ladder_step_value returns None when label is missing, nil or blank. | KEEP-with-expiry | Preserve the nested contract at the owning budget, routing or prompt assembler. / 2026-09-13 |
| AgentSpec.models[].options | harn | absent; no step overrides | crates/harn-vm/src/llm/routing.rs:840 (get) | unknown: routing.parse_ladder_step_overrides returns None for missing or nil options and validates present keys against LADDER_STEP_OVERRIDE_KEYS. | KEEP-with-expiry | Preserve the nested contract at the owning budget, routing or prompt assembler. / 2026-09-13 |
| AgentSpec.models[].family | harn | absent; ignored by the native inline ladder parser | unknown: Declared inside AgentModelSpec.models; routing.parse_ladder_step_value consumes only model, provider, label and options. | DELETE | Remove a declared inline-ladder field that the native parser ignores. / none | |
| AgentSpec.models[].capabilities | harn | absent; ignored by the native inline ladder parser | unknown: Declared inside AgentModelSpec.models; routing.parse_ladder_step_value consumes only model, provider, label and options. | DELETE | Remove a declared inline-ladder field that the native parser ignores. / none | |
| AgentSpec.system.mode | harn | required literal replace in the object form | crates/harn-vm/src/llm/helpers/options/system_prompt.rs:109 (get) | unknown: helpers/options/system_prompt rejects an exclusive replacement object without mode equal to replace. | KEEP-with-expiry | Preserve the nested contract at the owning budget, routing or prompt assembler. / 2026-09-13 |
| AgentSpec.system.content | harn | required string in the object form | crates/harn-vm/src/llm/helpers/options/system_prompt.rs:128 (get) | unknown: helpers/options/system_prompt rejects an exclusive replacement object without string content. | KEEP-with-expiry | Preserve the nested contract at the owning budget, routing or prompt assembler. / 2026-09-13 |
| AgentSpec.resume_event_topic | harn | daemon_event_topic, then absent | crates/harn-stdlib/src/stdlib/agent/daemon.harn:69 (__agent_daemon_raw_resume_conditions) | unknown: daemon.__agent_daemon_raw_resume_conditions adds on_event only when the resolved topic is non-nil. | KEEP-with-expiry | Preserve one event subscription input at the resumption owner. / 2026-09-13 |
| AgentSpec.daemon_event_topic | harn | absent; fallback after resume_event_topic | crates/harn-stdlib/src/stdlib/agent/daemon.harn:69 (__agent_daemon_raw_resume_conditions) | unknown: daemon.__agent_daemon_raw_resume_conditions reads this spelling only after resume_event_topic. | DELETE | Use resume_event_topic as the single event subscription input. / none |
| AgentSpec.equivalent_failover.enabled | harn | true within an explicit equivalent_failover object | crates/harn-vm/src/llm/helpers/options/routing.rs:206 (get); crates/harn-stdlib/src/stdlib/llm/options.harn:275 (llm_equivalent_failover_enabled) | unknown: llm/options.llm_equivalent_failover_enabled returns true for an object with no enabled member; absent equivalent_failover returns false. | KEEP-with-expiry | Retain the routing owner's explicit failover policy pending its public contract review. / 2026-09-13 |
| AgentSpec.skill_registry | harn | absent; when present it takes precedence over skills | crates/harn-stdlib/src/stdlib/agent/skills.harn:9 (__skills_registry) | unknown: skills.__skills_registry reads skill_registry before the declared AgentContextSpec.skills input. | DELETE | Use the declared skills field as the single registry input. / none |
| AgentSpec.skill_match.strategy | harn | catalog | crates/harn-vm/src/llm/skill_score.rs:61 (get); crates/harn-stdlib/src/stdlib/agent/skills.harn:298 (__match_strategy) | unknown: skills.__match_strategy supplies catalog when the normalized skill_match object omits strategy. | KEEP-with-expiry | Retain the selection strategy at its owning skill matcher. / 2026-09-13 |
| AgentSpec.skill_match.top_n | harn | 1 | crates/harn-stdlib/src/stdlib/agent/skills.harn:307 (__match_top_n) | unknown: skills.__match_top_n accepts a positive integer and otherwise uses one. | KEEP-with-expiry | Bound automatic skill selection in its owning matcher. / 2026-09-13 |
| AgentSpec.skill_match.sticky | harn | true | crates/harn-stdlib/src/stdlib/agent/skills.harn:315 (__match_sticky) | unknown: skills.__match_sticky defaults to preserving the previous active skill selection. | KEEP-with-expiry | Review selection lifetime with the skill matcher rather than adding a runner switch. / 2026-09-13 |
| AgentSpec.skill_match.catalog_limit | harn | skill_catalog_limit, then 12 | crates/harn-stdlib/src/stdlib/agent/skills.harn:323 (__skill_catalog_limit) | unknown: skills.__skill_catalog_limit accepts a positive nested or flat override and otherwise uses twelve entries. | KEEP-with-expiry | Keep the nested skill catalog bound while removing its duplicate spelling. / 2026-09-13 |
| AgentSpec.skill_match.catalog_budget | harn | skill_catalog_budget, then 2000 | crates/harn-stdlib/src/stdlib/agent/skills.harn:331 (__skill_catalog_budget) | unknown: skills.__skill_catalog_budget accepts a positive nested or flat override and otherwise uses two thousand. | KEEP-with-expiry | Keep the nested skill catalog budget while removing its duplicate spelling. / 2026-09-13 |
| AgentSpec.skill_match.catalog_always | harn | skill_catalog_always, then false | crates/harn-stdlib/src/stdlib/agent/skills.harn:339 (__skill_catalog_always) | unknown: skills.__skill_catalog_always supplies false when neither nested nor flat configuration supplies a boolean. | KEEP-with-expiry | Review repeated catalog presentation with the skill matcher. / 2026-09-13 |
| AgentSpec.skill_catalog_limit | harn | absent; fallback after skill_match.catalog_limit | crates/harn-stdlib/src/stdlib/agent/skills.harn:323 (__skill_catalog_limit) | unknown: skills.__skill_catalog_limit reads this flat spelling only after the nested catalog limit. | DELETE | Use skill_match.catalog_limit as the single selection bound. / none |
| AgentSpec.skill_catalog_budget | harn | absent; fallback after skill_match.catalog_budget | crates/harn-stdlib/src/stdlib/agent/skills.harn:331 (__skill_catalog_budget) | unknown: skills.__skill_catalog_budget reads this flat spelling only after the nested catalog budget. | DELETE | Use skill_match.catalog_budget as the single catalog budget. / none |
| AgentSpec.skill_catalog_always | harn | absent; fallback after skill_match.catalog_always | crates/harn-stdlib/src/stdlib/agent/skills.harn:339 (__skill_catalog_always) | unknown: skills.__skill_catalog_always reads this flat spelling only after the nested setting. | DELETE | Use skill_match.catalog_always as the single catalog presentation setting. / none |
| AgentSpec.auto_compact.enabled | harn | true within an explicitly supplied auto_compact object | crates/harn-stdlib/src/stdlib/agent/autocompact.harn:287 (__compaction_enabled) | unknown: autocompact.__compaction_enabled disables an object configuration only for explicit enabled=false; absent compaction configuration does not enable compaction. | KEEP-with-expiry | Retain the compaction activation contract until the caller and native compaction policy are consolidated. / 2026-09-13 |
| AgentSpec.compaction.strategy | harn | kind, then type, then hybrid for an object | crates/harn-stdlib/src/stdlib/agent/autocompact.harn:8 (__compaction_strategy_label); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:297 (__compaction_enabled) | unknown: autocompact.__compaction_strategy_label resolves object strategy aliases in this order; a string configuration is already the strategy label. | KEEP-with-expiry | Keep one canonical strategy field while retiring duplicate spellings. / 2026-09-13 |
| AgentSpec.compaction.kind | harn | absent; consulted after strategy | crates/harn-stdlib/src/stdlib/agent/autocompact.harn:8 (__compaction_strategy_label); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:297 (__compaction_enabled) | unknown: autocompact.__compaction_strategy_label and __compaction_enabled read this spelling as a strategy alias. | DELETE | Use strategy as the single compaction strategy field. / none |
| AgentSpec.compaction.type | harn | absent; consulted after strategy and kind | crates/harn-stdlib/src/stdlib/agent/autocompact.harn:8 (__compaction_strategy_label); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:297 (__compaction_enabled) | unknown: autocompact.__compaction_strategy_label and __compaction_enabled read this spelling as a strategy alias. | DELETE | Use strategy as the single compaction strategy field. / none |
| AgentSpec.compaction.keep_last_n | harn | keep_last, then compact_keep_last, then engine default | crates/harn-stdlib/src/stdlib/agent/autocompact.harn:153 (__compaction_keep_last) | unknown: autocompact.__compaction_keep_last accepts an integer under keep_last_n before checking the other spellings. | KEEP-with-expiry | Retain the primary field until compaction request normalization has one owner. / 2026-09-13 |
| AgentSpec.compaction.keep_last | harn | absent; consulted after keep_last_n | crates/harn-stdlib/src/stdlib/agent/autocompact.harn:153 (__compaction_keep_last) | unknown: autocompact.__compaction_keep_last reads keep_last as a fallback spelling within the compaction object. | DELETE | Use keep_last_n for the public compaction object's retention request. / none |
| AgentSpec.compaction.policy | harn | absent; fallback after auto_compact policy and compaction_policy | crates/harn-stdlib/src/stdlib/agent/autocompact.harn:195 (__compact_options) | unknown: autocompact.__compact_options resolves this policy only after the earlier compaction policy projections. | DELETE | Use auto_compact.policy as the single compaction policy location. / none |
| AgentSpec.compaction_policy | harn | absent; fallback after auto_compact policy | crates/harn-stdlib/src/stdlib/agent/autocompact.harn:194 (__compact_options) | unknown: autocompact.__compact_options supplies this value to the compaction policy normalizer only when auto_compact did not provide policy. | DELETE | Use auto_compact.policy as the single compaction policy location. / none |
| AgentSpec.llm_caller_transport.forwards_assistant_prefill | harn | false | crates/harn-stdlib/src/stdlib/agent/caller_transport.harn:28 (__normalize_llm_caller_transport); crates/harn-stdlib/src/stdlib/agent/prefill.harn:89 (agent_prefill_eligibility) | unknown: caller_transport.__normalize_llm_caller_transport defaults the capability to false; prefill.agent_prefill_eligibility requires it for an external LLM caller. Canonical runtime reachability remains unmeasured. | KEEP-with-expiry | A caller must declare whether its transport preserves assistant prefill before the runner relies on that capability. / 2026-09-13 |
| AgentSpec.approval_policy | harn | absent; inherit the current approval policy | crates/harn-stdlib/src/stdlib/agent/loop_resource_dispatch.harn:1262 (__dispatch_tool_calls) | unknown: agent_session_host.session_policies installs an approval-policy override only when parse_approval_policy returns one. 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 |
| AgentSpec.approval_reviewer | harn | absent; inherit the current reviewer | crates/harn-stdlib/src/stdlib/agent/loop_resource_dispatch.harn:1268 (__dispatch_tool_calls) | unknown: agent_session_host.session_policies pushes an approval reviewer only when an explicit value parses. 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 |
| AgentSpec.autonomy_budget | harn | absent; no additional autonomy budget | unknown: llm.autonomy_budget.parse_autonomy_budget returns None for absent or nil autonomy_budget. 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 | |
| AgentSpec.mcp_servers | harn | absent; no MCP bootstrap | crates/harn-stdlib/src/stdlib/agent/mcp.harn:9 (agent_mcp_bootstrap_if_needed) | unknown: mcp.agent_mcp_bootstrap_if_needed returns options unchanged when no server specs exist. 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 |
| AgentSpec.missing_tool_call_recovery | harn | enabled with inherited runner model/provider and classifier defaults | crates/harn-stdlib/src/stdlib/agent/loop_support.harn:192 (__agent_loop_next_tool_output_contract); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:749 (__validate_agent_loop_callback_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:750 (__validate_agent_loop_callback_options); crates/harn-stdlib/src/stdlib/agent/postturn.harn:410 (__missing_tool_call_recovery_config) | unknown: postturn.__missing_tool_call_recovery_config enables absent configuration and resolves classifier route inheritance. 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 |
| AgentSpec.permissions | harn | absent; inherit the current permissions | crates/harn-stdlib/src/stdlib/agent/loop_resource_dispatch.harn:1270 (__dispatch_tool_calls) | unknown: agent_session_host.session_policies installs dynamic permissions only when an explicit permission value parses. 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 |
| AgentSpec.policy | harn | absent; inherit the current capability policy | crates/harn-stdlib/src/stdlib/agent/judge_evidence.harn:99 (__judge_tool_descriptor); crates/harn-stdlib/src/stdlib/agent/judge_evidence.harn:100 (__judge_tool_descriptor); crates/harn-stdlib/src/stdlib/agent/loop_resource_dispatch.harn:100 (__tool_batch_call_classification); crates/harn-stdlib/src/stdlib/agent/loop_resource_dispatch.harn:918 (__intra_turn_resource_keys); crates/harn-stdlib/src/stdlib/agent/loop_resource_dispatch.harn:939 (__intra_turn_resource_guard); crates/harn-stdlib/src/stdlib/agent/loop_resource_dispatch.harn:1261 (__dispatch_tool_calls); crates/harn-stdlib/src/stdlib/agent/loop_support.harn:201 (__agent_loop_next_tool_output_contract); crates/harn-stdlib/src/stdlib/agent/loop_tool_calls.harn:212 (__tool_envelope); crates/harn-stdlib/src/stdlib/agent/loop_tool_calls.harn:353 (__run_structural_validator); crates/harn-stdlib/src/stdlib/agent/mcp.harn:168 (__with_mcp_tool_ceiling); crates/harn-stdlib/src/stdlib/agent/monologue_actuation.harn:356 (agent_monologue_actuation_take_for_turn); crates/harn-stdlib/src/stdlib/agent/stance.harn:75 (__stance_policy_patch); crates/harn-stdlib/src/stdlib/agent/stance.harn:284 (agent_stance_prepare); crates/harn-stdlib/src/stdlib/agent/stance.harn:316 (agent_stance_apply); crates/harn-stdlib/src/stdlib/agent/stance.harn:320 (agent_stance_apply); crates/harn-stdlib/src/stdlib/agent/tool_annotations.harn:209 (agent_collapse_duplicate_read_calls); crates/harn-stdlib/src/stdlib/agent/tool_surface.harn:92 (__tool_surface_claim_authority); crates/harn-stdlib/src/stdlib/agent/tool_surface.harn:504 (agent_apply_tool_surface_narrowing); crates/harn-stdlib/src/stdlib/agent/tool_surface.harn:518 (agent_apply_tool_surface_narrowing) | unknown: agent_session_host.session_policies installs a capability policy only when supplied, intersecting it with any outer policy. 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 |
| AgentSpec.progress_tool | harn | absent; no injected progress tool | crates/harn-stdlib/src/stdlib/agent/progress.harn:401 (agent_progress_apply_options) | unknown: progress.__agent_progress_tool_config returns nil for absent input; agent_progress_apply_options then returns the original options. 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 |
| AgentSpec.read_only_stance | harn | dynamic: observed local fallback {}; normalization may override | crates/harn-stdlib/src/stdlib/agent/stance.harn:32 (__stance_config) | 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 |
| AgentSpec.subagent_tools | harn | false; existing worker tool entries can independently establish capability | crates/harn-stdlib/src/stdlib/agent/workers.harn:254 (__agent_lifecycle_has_subagent_capability) | unknown: workers.__agent_lifecycle_has_subagent_capability inspects both settings and tool entries. 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 |
| AgentSpec.subagents | harn | false; existing worker tool entries can independently establish capability | crates/harn-stdlib/src/stdlib/agent/workers.harn:251 (__agent_lifecycle_has_subagent_capability) | unknown: workers.__agent_lifecycle_has_subagent_capability inspects both settings and tool entries. 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 |
| AgentSpec.auto_context_profile | harn | enabled unless explicitly false | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:77 (__context_profile_disabled) | unknown: options_validation.__context_profile_disabled disables only a false boolean. 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 |
| AgentSpec.context_profile_options | harn | dynamic: observed local fallback {}; normalization may override | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:66 (__context_profile_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 |
| AgentSpec.context_profile_root | harn | project_root, then root, then cwd, then current directory | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:62 (__context_profile_root) | unknown: options_validation.__context_profile_root resolves the context-root precedence. 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 |
| AgentSpec.deliverables | harn | empty list | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:33 (__task_ledger_from_shorthand) | unknown: options_validation.__task_ledger_from_shorthand filters nonempty deliverable text from the supplied 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 |
| AgentSpec.prompt_overrides | harn | absent; built-in prompt catalog; prompts takes precedence | crates/harn-stdlib/src/stdlib/agent/prompts.harn:185 (__agent_prompt_overrides); crates/harn-stdlib/src/stdlib/agent/prompts.harn:186 (__agent_prompt_overrides) | unknown: prompts.__agent_prompt_overrides checks prompts before this compatibility 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 |
| AgentSpec.prompts | harn | absent; built-in prompt catalog | crates/harn-stdlib/src/stdlib/agent/prompts.harn:182 (__agent_prompt_overrides); crates/harn-stdlib/src/stdlib/agent/prompts.harn:183 (__agent_prompt_overrides) | unknown: prompts.__agent_prompt_overrides checks prompts, then prompt_overrides, then a direct prompt catalog, otherwise an empty override map. 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 |
| AgentSpec.reminders | harn | empty policy object; native default reminder providers apply | crates/harn-builtin-meta/src/llm_options.rs:176 (model-registry-key-domain); crates/harn-vm/src/llm/reminder_providers.rs:1455 (get); crates/harn-stdlib/src/stdlib/agent/loop_resource_dispatch.harn:1271 (__dispatch_tool_calls); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:770 (__normalize_reminder_provider_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:773 (__normalize_reminder_provider_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:774 (__normalize_reminder_provider_options) | unknown: options_validation.__normalize_reminder_provider_options inserts an empty dictionary when omitted. 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 |
| AgentSpec.root | harn | absent; session-store environment root, otherwise runtime state root | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:62 (__context_profile_root) | unknown: stdlib.session_store.canonical_store_state_dir resolves explicit root, HARN_SESSION_STORE_ROOT, then runtime_paths.state_root(runtime_root_base()). 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 |
| AgentSpec.root_task | harn | dynamic: observed local fallback ""; normalization may override | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:31 (__task_ledger_from_shorthand) | 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 |
| AgentSpec.scratchpad | harn | disabled | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:764 (__validate_agent_loop_callback_options); crates/harn-stdlib/src/stdlib/agent/scratchpad.harn:65 (agent_scratchpad_options) | unknown: scratchpad.agent_scratchpad_options returns disabled default options when scratchpad 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 |
| AgentSpec.skill_match | harn | empty configuration: catalog strategy, top_n 1, sticky true | crates/harn-stdlib/src/stdlib/agent/skills.harn:294 (__match_config) | unknown: skills.__match_config defaults to an empty object; the strategy/top_n/sticky consumers supply these fallbacks. 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 |
| AgentSpec.skills | harn | absent; no fallback skill registry | crates/harn-stdlib/src/stdlib/agent/skills.harn:9 (__skills_registry) | unknown: skills.__skills_registry reads skill_registry before skills; __skills_entries returns an empty list for absent registry. 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 |
| AgentSpec.task_ledger | harn | derived from root_task and deliverables when present; otherwise absent | crates/harn-stdlib/src/stdlib/agent/preflight.harn:414 (__agent_text_tool_contract_prompt) | unknown: options_validation.__with_task_ledger_shorthand retains explicit task_ledger and constructs only a nonempty shorthand ledger. 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 |
| AgentSpec.timestamp_messages | harn | false; legacy message_timestamps is consulted when absent | crates/harn-stdlib/src/stdlib/agent/preflight.harn:571 (__agent_decorate_turn_message); crates/harn-stdlib/src/stdlib/agent/preflight.harn:887 (agent_build_turn_messages) | unknown: preflight.__agent_decorate_turn_message resolves the timestamp switches before applying the decorator. 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 |
| AgentSpec.transcript_projection | harn | absent; no explicit projection override | crates/harn-stdlib/src/stdlib/agent/loop_turn_scope.harn:872 (__agent_loop_final_wrapup); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:761 (__validate_agent_loop_callback_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:762 (__validate_agent_loop_callback_options); crates/harn-stdlib/src/stdlib/agent/preflight.harn:803 (__agent_projection_options) | unknown: preflight.__agent_projection_options returns nil when omitted. 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 |
| AgentSpec.working_files | harn | empty list | crates/harn-stdlib/src/stdlib/agent/skills.harn:576 (__score_candidates); crates/harn-stdlib/src/stdlib/agent/skills.harn:618 (__record_matched) | unknown: skills skill-scoring input construction defaults working_files to an empty 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 |
| AgentSpec.active_skills | harn | empty list; no active-skill prompt fragment | crates/harn-stdlib/src/stdlib/agent/loop_turn_setup.harn:150 (__agent_loop_turn_setup); crates/harn-stdlib/src/stdlib/agent/preflight.harn:745 (agent_build_turn_system_fragments) | unknown: preflight.__agent_active_skill_prompt returns empty text for an absent or empty active 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 |
| AgentSpec.call_budget_reserve_signal | harn | false; owner loop_run/loop_finalize/loop_resource_dispatch/loop_call_budget/loop_turn_scope | crates/harn-stdlib/src/stdlib/agent/loop_call_budget.harn:57 (__agent_loop_call_budget_new) | 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 |
| AgentSpec.code_librarian_signals | harn | absent; context_profile_options signals remain unchanged | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:70 (__context_profile_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:71 (__context_profile_options) | unknown: options_validation.__context_profile_options overlays context_signals and then code_librarian_signals only when 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 |
| AgentSpec.command_policy | harn | absent; inherit the current command policy | crates/harn-stdlib/src/stdlib/agent/loop_resource_dispatch.harn:1269 (__dispatch_tool_calls) | unknown: agent_session_host.session_policies pushes a command-policy override only when an explicit value parses. 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 |
| AgentSpec.command_wait | harn | command_wait_normalize defaults; automatic resolution kills a held command | crates/harn-stdlib/src/stdlib/agent/loop_lifecycle.harn:65 (agent_loop_run_settings); crates/harn-stdlib/src/stdlib/agent/loop_run.harn:107 (__agent_loop_run) | unknown: loop_lifecycle passes the optional record to command_wait_normalize, which owns all timing, reentry and wording 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 |
| AgentSpec.context_callback | harn | absent at the public input boundary | unknown: options_types.AgentExecutionSpec declares an optional callback; workers forwards only explicitly supplied context callbacks. 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 | |
| AgentSpec.context_filter | harn | absent at the public input boundary | unknown: options_types.AgentExecutionSpec declares an optional callback; workers forwards only explicitly supplied context filters. 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 | |
| AgentSpec.context_signals | harn | absent; context_profile_options signals remain unchanged | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:67 (__context_profile_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:68 (__context_profile_options) | unknown: options_validation.__context_profile_options overlays context_signals and then code_librarian_signals only when 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 |
| AgentSpec.cwd | harn | dynamic: observed local fallback "."; normalization may override | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:62 (__context_profile_root) | 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 |
| AgentSpec.deadline_ms | harn | absent; no independent deadline, though iteration_budget.wall_clock_ms can impose one | crates/harn-stdlib/src/stdlib/agent/loop_foundation.harn:57 (__agent_loop_apply_deadline) | unknown: loop_foundation.__agent_loop_deadline_contract selects the earliest positive configured duration. 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 |
| AgentSpec.decorate_message | harn | absent; no decorator; message_decorator takes precedence | crates/harn-stdlib/src/stdlib/agent/preflight.harn:574 (__agent_decorate_turn_message); crates/harn-stdlib/src/stdlib/agent/preflight.harn:886 (agent_build_turn_messages) | unknown: preflight.__agent_decorate_turn_message returns the message when both callback spellings 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 |
| AgentSpec.input_guardrail | harn | absent; no custom input guardrail | crates/harn-stdlib/src/stdlib/agent/loop_turn_setup.harn:173 (__agent_loop_turn_setup); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:743 (__validate_agent_loop_callback_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:744 (__validate_agent_loop_callback_options) | unknown: options_public.agent_options reads the optional input_guardrail and projects it to internal runner options. 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 |
| AgentSpec.intra_turn_failure_fanout_cap | harn | 0, disabled; owner loop_run/loop_finalize/loop_resource_dispatch/loop_call_budget/loop_turn_scope | crates/harn-stdlib/src/stdlib/agent/loop_resource_dispatch.harn:36 (__resolve_intra_turn_failure_fanout_cap); crates/harn-stdlib/src/stdlib/agent/loop_resource_dispatch.harn:1354 (__dispatch_tool_calls_with_middleware) | 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 |
| AgentSpec.intra_turn_resource_fail_fast | harn | true; owner loop_run/loop_finalize/loop_resource_dispatch/loop_call_budget/loop_turn_scope | crates/harn-stdlib/src/stdlib/agent/loop_resource_dispatch.harn:44 (__resolve_intra_turn_resource_fail_fast); crates/harn-stdlib/src/stdlib/agent/loop_resource_dispatch.harn:1340 (__dispatch_tool_calls_with_middleware) | 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 |
| AgentSpec.iteration | harn | dynamic: observed local fallback 0; normalization may override | 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 | |
| AgentSpec.iteration_budget | harn | fixed at the selected profile max_iterations (50 for default tool_using) | crates/harn-stdlib/src/stdlib/workflow/options.harn:344 (workflow-loop-key-domain); crates/harn-stdlib/src/stdlib/agent/loop_lifecycle.harn:36 (agent_loop_run_settings); crates/harn-stdlib/src/stdlib/agent/loop_run.harn:89 (__agent_loop_run); crates/harn-stdlib/src/stdlib/agent/options_public.harn:48 (__normalize_iteration_budget) | unknown: options_public.__normalize_iteration_budget uses the profile max_iterations inserted by agent_loop_options and disables budget extension. 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 |
| AgentSpec.llm_caller | harn | absent; use the runtime provider caller | crates/harn-stdlib/src/stdlib/agent/llm_dispatch.harn:236 (__dispatch_invoke_once); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:731 (__validate_agent_loop_callback_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:732 (__validate_agent_loop_callback_options); crates/harn-stdlib/src/stdlib/agent/postturn.harn:441 (__missing_tool_call_recovery_classifier); crates/harn-stdlib/src/stdlib/agent/prefill.harn:88 (agent_prefill_eligibility); crates/harn-stdlib/src/stdlib/agent/retry.harn:214 (agent_apply_default_retry) | unknown: options_public.agent_options reads the optional llm_caller and projects it to internal runner options. 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 |
| AgentSpec.llm_caller_transport | harn | forwards_assistant_prefill false | crates/harn-stdlib/src/stdlib/agent/prefill.harn:89 (agent_prefill_eligibility) | unknown: caller_transport.__normalize_llm_caller_transport resolves an omitted transport declaration to this capability. 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 |
| AgentSpec.llm_options | harn | dynamic: observed local fallback {}; normalization may override | crates/harn-stdlib/src/stdlib/agent/judge_internals.harn:349 (__judge_run_checkpoint); crates/harn-stdlib/src/stdlib/agent/loop_support.harn:148 (__agent_loop_llm_overrides); crates/harn-stdlib/src/stdlib/agent/prefill.harn:39 (agent_take_one_shot_prefill); crates/harn-stdlib/src/stdlib/agent/prefill.harn:49 (agent_take_one_shot_prefill); crates/harn-stdlib/src/stdlib/agent/prefill.harn:38 (agent_take_one_shot_prefill) | 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 |
| AgentSpec.llm_retry | harn | three attempts unless retry overrides it; explicit nil disables retries | crates/harn-stdlib/src/stdlib/agent/llm_dispatch.harn:238 (__dispatch_invoke_once); crates/harn-stdlib/src/stdlib/agent/retry.harn:125 (__agent_loop_retry_config); crates/harn-stdlib/src/stdlib/agent/retry.harn:107 (__validate_agent_loop_retry); crates/harn-stdlib/src/stdlib/agent/retry.harn:108 (__validate_agent_loop_retry); crates/harn-stdlib/src/stdlib/agent/retry.harn:110 (__validate_agent_loop_retry) | unknown: retry.__agent_loop_retry_config resolves retry, then llm_retry, then max_attempts 3. 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 |
| AgentSpec.loop_control | harn | absent; adaptive budget uses the default controller, fixed budget takes no extension action | crates/harn-stdlib/src/stdlib/agent/control.harn:354 (agent_loop_control_invoke); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:725 (__validate_agent_loop_callback_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:726 (__validate_agent_loop_callback_options) | unknown: control.agent_loop_control_invoke calls the supplied closure only when present and otherwise selects by budget.mode. 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 |
| AgentSpec.max_concurrent_tools | harn | dynamic: observed local fallback 1; normalization may override | crates/harn-vm/src/llm/agent_host_primitives.rs:472 (agent_primitive_option_int); crates/harn-vm/src/llm/agent_host_primitives.rs:473 (agent_primitive_option_int); crates/harn-stdlib/src/stdlib/agent/loop_resource_dispatch.harn:7 (__resolve_max_concurrent_tools); crates/harn-stdlib/src/stdlib/agent/loop_tool_calls.harn:243 (__tool_envelope); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:752 (__validate_agent_loop_callback_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:753 (__validate_agent_loop_callback_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 |
| AgentSpec.max_iterations | harn | 50 for tool_using profile; options_formats.harn:15 owns other profiles | crates/harn-vm/src/llm/agent_session_host/lifecycle.rs:136 (opt_int); crates/harn-stdlib/src/stdlib/agent/loop_lifecycle.harn:39 (agent_loop_run_settings); crates/harn-stdlib/src/stdlib/agent/loop_lifecycle.harn:40 (agent_loop_run_settings); crates/harn-stdlib/src/stdlib/agent/options_public.harn:49 (__normalize_iteration_budget) | 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 |
| AgentSpec.mcp_context | harn | absent; no initialize-advisory context | crates/harn-stdlib/src/stdlib/agent/preflight.harn:505 (__agent_mcp_initialize_advisory_prompt) | unknown: preflight.__agent_mcp_initialize_advisory_prompt requires explicit mcp_context.initialize_advisory before rendering. 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 |
| AgentSpec.mcp_initialize_advisory | harn | absent; advisory disabled | crates/harn-stdlib/src/stdlib/agent/preflight.harn:505 (__agent_mcp_initialize_advisory_prompt) | unknown: preflight.__agent_mcp_initialize_advisory_prompt requires both this value and mcp_context.initialize_advisory. 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 |
| AgentSpec.message_decorator | harn | absent; legacy decorate_message fallback, otherwise no decorator | crates/harn-stdlib/src/stdlib/agent/preflight.harn:574 (__agent_decorate_turn_message); crates/harn-stdlib/src/stdlib/agent/preflight.harn:886 (agent_build_turn_messages) | unknown: preflight.__agent_decorate_turn_message resolves the canonical callback before the compatibility 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 |
| AgentSpec.message_timestamps | harn | dynamic: observed local fallback false; normalization may override | crates/harn-stdlib/src/stdlib/agent/preflight.harn:571 (__agent_decorate_turn_message); crates/harn-stdlib/src/stdlib/agent/preflight.harn:887 (agent_build_turn_messages) | 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 |
| AgentSpec.mid_conversation_mcp_mount | harn | dynamic: observed local fallback false; normalization may override | crates/harn-stdlib/src/stdlib/agent/loop_turn_setup.harn:149 (__agent_loop_turn_setup) | 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 |
| AgentSpec.mock_queue | harn | absent; no diagnostic queue snapshot | unknown: loop_turn_options.agent_stage only emits the diagnostic mock queue when an iteration_end payload explicitly supplies it; this is not a public AgentSpec declaration. 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 | |
| AgentSpec.native_tool_fallback | harn | dynamic: observed local fallback "reject"; normalization may override | crates/harn-stdlib/src/stdlib/agent/loop_tool_calls.harn:1349 (__detect_native_fallback) | 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 |
| AgentSpec.nudge | harn | absent at the public input boundary; no concrete consumer resolved | crates/harn-stdlib/src/stdlib/workflow/options.harn:339 (workflow-loop-key-domain) | unknown: options_types.AgentExecutionSpec declares an optional string. The inspected postturn recovery uses its owned feedback rather than reading this field. 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 |
| AgentSpec.post_turn_callback | harn | absent; no callback verdict | crates/harn-stdlib/src/stdlib/agent/postturn.harn:53 (__post_turn_callback_verdict) | unknown: postturn.__post_turn_callback_verdict returns kind none when the callback 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 |
| AgentSpec.pre_turn_scope_classifier | harn | absent; no custom pre-turn classifier | crates/harn-stdlib/src/stdlib/agent/loop_turn_setup.harn:201 (__agent_loop_turn_setup); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:746 (__validate_agent_loop_callback_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:747 (__validate_agent_loop_callback_options) | unknown: options_public.agent_options reads the optional pre_turn_scope_classifier and projects it to internal runner options. 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 |
| AgentSpec.prefetch_next_turn | harn | false; owner loop_run/loop_finalize/loop_resource_dispatch/loop_call_budget/loop_turn_scope | crates/harn-stdlib/src/stdlib/agent/loop_resource_dispatch.harn:1275 (__dispatch_tool_calls); crates/harn-stdlib/src/stdlib/agent/loop_tool_calls.harn:244 (__tool_envelope); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:755 (__validate_agent_loop_callback_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:756 (__validate_agent_loop_callback_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 |
| AgentSpec.profile | harn | tool_using for tool_using profile; options_formats.harn:15 owns other profiles | crates/harn-stdlib/src/stdlib/agent/options_public.harn:237 (agent_loop_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 |
| AgentSpec.project_context_profile | harn | dynamic: observed local fallback {}; normalization may override | crates/harn-stdlib/src/stdlib/agent/preflight.harn:657 (__agent_context_profile_fragments); crates/harn-stdlib/src/stdlib/agent/skills.harn:221 (__context_profile) | 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 |
| AgentSpec.project_root | harn | absent; context-profile root falls through to root, cwd, then current directory | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:62 (__context_profile_root) | unknown: options_validation.__context_profile_root resolves context_profile_root, project_root, root, cwd, then dot. 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 |
| AgentSpec.retry | harn | enabled with three attempts | crates/harn-stdlib/src/stdlib/agent/retry.harn:98 (__validate_agent_loop_retry); crates/harn-stdlib/src/stdlib/agent/retry.harn:116 (__agent_loop_retry_config) | unknown: retry.__agent_loop_retry_config disables retries only for false or an explicit nil llm_retry fallback. 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 |
| AgentSpec.run_id | harn | internal _run_id fallback; otherwise absent | crates/harn-stdlib/src/stdlib/agent/loop_tool_calls.harn:239 (__tool_envelope); crates/harn-stdlib/src/stdlib/agent/loop_tool_calls.harn:375 (__run_structural_validator) | unknown: loop_tool_calls.__tool_envelope and __run_structural_validator project this precedence. 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 |
| AgentSpec.shared_types | harn | dynamic: observed local fallback ""; normalization may override | crates/harn-stdlib/src/stdlib/agent/preflight.harn:416 (__agent_text_tool_contract_prompt) | 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 |
| AgentSpec.skill_catalog_prompt | harn | dynamic: observed local fallback ""; normalization may override | crates/harn-stdlib/src/stdlib/agent/preflight.harn:750 (agent_build_turn_system_fragments) | 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 |
| AgentSpec.structural_validator | harn | absent; no custom structural validator | crates/harn-stdlib/src/stdlib/agent/loop_run.harn:350 (__agent_loop_run); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:740 (__validate_agent_loop_callback_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:741 (__validate_agent_loop_callback_options) | unknown: options_public.agent_options reads the optional structural_validator and projects it to internal runner options. 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 |
| AgentSpec.tool_backoff_ms | harn | 1000; clamp to at least 1 | crates/harn-vm/src/llm/agent_host_primitives.rs:813 (agent_primitive_option_int) | unknown: agent_host_primitives uses the integer option or 1000 before clamping the tool retry delay. 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 |
| AgentSpec.tool_caller | harn | absent; use ordinary tool dispatch | crates/harn-stdlib/src/stdlib/agent/loop_resource_dispatch.harn:1273 (__dispatch_tool_calls); crates/harn-stdlib/src/stdlib/agent/loop_run.harn:883 (__agent_loop_run); crates/harn-stdlib/src/stdlib/agent/loop_tool_calls.harn:535 (__invoke_tool); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:737 (__validate_agent_loop_callback_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:738 (__validate_agent_loop_callback_options) | unknown: options_public.agent_options reads the optional tool_caller and projects it to internal runner options. 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 |
| AgentSpec.tool_examples | harn | dynamic: observed local fallback ""; normalization may override | crates/harn-stdlib/src/stdlib/workflow/options.harn:340 (workflow-loop-key-domain); crates/harn-stdlib/src/stdlib/agent/preflight.harn:415 (__agent_text_tool_contract_prompt) | 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 |
| AgentSpec.tool_format_override_reason | harn | absent; no explicit format override authority | crates/harn-builtin-meta/src/llm_options.rs:153 (model-registry-key-domain); crates/harn-vm/src/llm/helpers/options/extract.rs:496 (opt_str); crates/harn-stdlib/src/stdlib/agent/options_formats.harn:530 (agent_tool_format_resolution) | unknown: options_formats.agent_tool_format_resolution and native extract require a nonempty reason to authorize the override. 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 |
| AgentSpec.tool_retries | harn | 0 for tool_using profile; options_formats.harn:15 owns other profiles | crates/harn-vm/src/llm/agent_host_primitives.rs:810 (agent_primitive_option_int) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| AgentSpec.tool_surface_narrowing | harn | dynamic: observed local fallback {}; normalization may override | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:758 (__validate_agent_loop_callback_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:759 (__validate_agent_loop_callback_options); crates/harn-stdlib/src/stdlib/agent/tool_surface.harn:359 (__tool_surface_narrowing_post_turn) | 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 |
| AgentSpec.turn_policy | harn | dynamic: observed local fallback {}; normalization may override | crates/harn-stdlib/src/stdlib/workflow/options.harn:341 (workflow-loop-key-domain); crates/harn-stdlib/src/stdlib/agent/preflight.harn:402 (__agent_text_tool_contract_prompt) | 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 |
| AgentSpec.auto_compact | harn | false for idle daemon compaction | crates/harn-stdlib/src/stdlib/agent/autocompact.harn:165 (__compact_options); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:279 (__compaction_enabled); crates/harn-stdlib/src/stdlib/agent/daemon.harn:14 (__daemon_compaction_summary) | unknown: daemon.__daemon_compaction_summary requires both consolidate_on_idle and auto_compact before invoking the 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 |
| AgentSpec.compact_callback | harn | absent; no idle compaction summary | crates/harn-stdlib/src/stdlib/agent/autocompact.harn:184 (__compact_options); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:185 (__compact_options); crates/harn-stdlib/src/stdlib/agent/daemon.harn:17 (__daemon_compaction_summary) | unknown: daemon.__daemon_compaction_summary returns nil when the callback 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 |
| AgentSpec.compact_keep_first | harn | absent at the public input boundary; no concrete reader resolved | unknown: options_types.AgentLifecycleSpec declares the optional integer; the inspected compaction projection does not consume this spelling. 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 | |
| AgentSpec.compact_keep_last | harn | absent; defer tail retention to the compaction engine | crates/harn-stdlib/src/stdlib/agent/autocompact.harn:159 (__compaction_keep_last); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:158 (__compaction_keep_last) | unknown: autocompact.__compaction_keep_last first reads compaction.keep_last_n or keep_last, then compact_keep_last, and otherwise returns nil. 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 |
| AgentSpec.compact_strategy | harn | observation_mask when compaction is enabled without a policy strategy | crates/harn-stdlib/src/stdlib/agent/autocompact.harn:178 (__compact_options); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:459 (agent_autocompact_if_needed); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:458 (agent_autocompact_if_needed); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:179 (__compact_options) | unknown: autocompact.agent_autocompact_if_needed selects compaction policy strategy, compact_strategy, then observation_mask. 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 |
| AgentSpec.compact_threshold | harn | absent; no standalone threshold override | crates/harn-stdlib/src/stdlib/agent/autocompact.harn:171 (__compact_options); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:281 (__compaction_enabled); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:172 (__compact_options) | unknown: autocompact.__compact_options copies compact_threshold only when explicitly supplied and not already set by auto_compact. 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 |
| AgentSpec.compaction | harn | absent; does not enable compaction by itself | crates/harn-stdlib/src/stdlib/agent/autocompact.harn:151 (__compaction_keep_last); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:280 (__compaction_enabled); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:451 (agent_autocompact_if_needed); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:452 (agent_autocompact_if_needed); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:195 (__compact_options) | unknown: autocompact.__compaction_enabled returns false when auto_compact, compaction and compact_threshold are all 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 |
| AgentSpec.consolidate_on_idle | harn | false | crates/harn-vm/src/llm/daemon.rs:129 (get); crates/harn-stdlib/src/stdlib/agent/daemon.harn:11 (__daemon_compaction_summary); crates/harn-stdlib/src/stdlib/agent/daemon.harn:153 (agent_daemon_step) | unknown: daemon.__daemon_compaction_summary and native daemon configuration enable only a true boolean. 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 |
| AgentSpec.daemon | harn | false | crates/harn-stdlib/src/stdlib/agent/loop_finalize.harn:116 (__agent_loop_finalize); crates/harn-stdlib/src/stdlib/agent/postturn.harn:323 (__text_family_toolless_turn); crates/harn-stdlib/src/stdlib/agent/postturn.harn:199 (__native_completion_context) | unknown: loop_finalize.__agent_loop_finalize snapshots only an enabled daemon; postturn uses absent as false. 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 |
| AgentSpec.idle_watchdog_attempts | harn | absent at native decoding | crates/harn-vm/src/llm/daemon.rs:132 (get) | unknown: llm.daemon parses an optional nonnegative integer without supplying an attempt limit. 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 |
| AgentSpec.persist_path | harn | absent; effective persistence path falls back to resume_path | crates/harn-vm/src/llm/daemon.rs:115 (get) | unknown: native daemon.parse_daemon_loop_config omits empty paths and DaemonLoopConfig.effective_persist_path supplies the resume fallback. 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 |
| AgentSpec.resume_path | harn | absent; no explicit resume path | crates/harn-vm/src/llm/daemon.rs:119 (get) | unknown: native daemon.parse_daemon_loop_config keeps only a nonempty supplied path. 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 |
| AgentSpec.stall_checkpoint | harn | fresh checkpoint for the current session | crates/harn-stdlib/src/stdlib/agent/loop_run.harn:75 (__agent_loop_run) | unknown: loop_run.__agent_loop_run calls agent_stall_initial_checkpoint when no checkpoint is supplied and rejects another session identity. 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 |
| AgentSpec.stall_diagnostics | harn | disabled; enabling an object inherits AgentStallConfig defaults | crates/harn-stdlib/src/stdlib/agent/loop_lifecycle.harn:48 (agent_loop_run_settings); crates/harn-stdlib/src/stdlib/agent/loop_run.harn:98 (__agent_loop_run); crates/harn-stdlib/src/stdlib/agent/loop_run.harn:324 (__agent_loop_run); crates/harn-stdlib/src/stdlib/agent/loop_run.harn:345 (__agent_loop_run); crates/harn-stdlib/src/stdlib/agent/monologue_actuation.harn:341 (agent_monologue_actuation_take_for_turn) | unknown: stall_config.__agent_stall_config returns __agent_stall_default_config for nil, whose enabled field is false. 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 |
| AgentSpec.wake_interval_ms | harn | 0; timer wake disabled | crates/harn-vm/src/llm/daemon.rs:123 (get); crates/harn-stdlib/src/stdlib/agent/daemon.harn:147 (agent_daemon_step) | unknown: daemon.agent_daemon_step supplies zero; the native daemon parser accepts only positive wake intervals. 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 |
| AgentSpec.watch_paths | harn | empty list | crates/harn-vm/src/llm/daemon.rs:96 (get) | unknown: native daemon.parse_daemon_loop_config normalizes an absent path input to an empty vector. 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 |
| AgentLifecycleToolsOptions.agent_await_resumption_enabled | harn | true | crates/harn-stdlib/src/stdlib/agent/workers.harn:262 (__agent_lifecycle_await_enabled) | unknown: workers.__agent_lifecycle_await_enabled enables the structural await control when the setting 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 |
| AgentLifecycleToolsOptions.subagent_tools | harn | false; existing sub_agent_run or spawn_agent tool entries also establish capability | crates/harn-stdlib/src/stdlib/agent/workers.harn:254 (__agent_lifecycle_has_subagent_capability) | unknown: workers.__agent_lifecycle_has_subagent_capability checks both explicit settings and the tool registry. 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 |
| AgentLifecycleToolsOptions.subagents | harn | false; existing sub_agent_run or spawn_agent tool entries also establish capability | crates/harn-stdlib/src/stdlib/agent/workers.harn:251 (__agent_lifecycle_has_subagent_capability) | unknown: workers.__agent_lifecycle_has_subagent_capability checks both explicit settings and the tool registry. 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 |
| AgentLoopRetryOptions.backoff | harn | exponential | crates/harn-stdlib/src/stdlib/llm/resilience.harn:199 (with_retry) | unknown: llm.resilience.with_retry destructures its retry configuration with this fallback. 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 |
| AgentLoopRetryOptions.base_ms | harn | 250 | crates/harn-stdlib/src/stdlib/llm/resilience.harn:199 (with_retry) | unknown: llm.resilience.with_retry destructures its retry configuration with this fallback. 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 |
| AgentLoopRetryOptions.honor_retry_after | harn | true | crates/harn-stdlib/src/stdlib/llm/resilience.harn:199 (with_retry) | unknown: llm.resilience.with_retry destructures its retry configuration with this fallback. 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 |
| AgentLoopRetryOptions.jitter | harn | full | crates/harn-stdlib/src/stdlib/llm/resilience.harn:199 (with_retry) | unknown: llm.resilience.with_retry destructures its retry configuration with this fallback. 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 |
| AgentLoopRetryOptions.max_attempts | harn | 3 | crates/harn-stdlib/src/stdlib/llm/resilience.harn:199 (with_retry) | unknown: agent.retry supplies three attempts and llm.resilience.with_retry uses the same fallback. 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 |
| AgentLoopRetryOptions.max_ms | harn | 8000 | crates/harn-stdlib/src/stdlib/llm/resilience.harn:199 (with_retry) | unknown: llm.resilience.with_retry destructures its retry configuration with this fallback. 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 |
| AgentLoopRetryOptions.predicate | harn | agent_loop_default_retry_predicate | crates/harn-stdlib/src/stdlib/agent/llm_dispatch.harn:243 (__dispatch_invoke_once); crates/harn-stdlib/src/stdlib/agent/retry.harn:182 (__agent_loop_retry_with_default_predicate); crates/harn-stdlib/src/stdlib/llm/resilience.harn:202 (with_retry) | unknown: agent.retry.__agent_loop_retry_with_default_predicate fills only an absent predicate. 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 |
| AgentSpec.anthropic_beta_features | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:142 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.api_mode | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:92 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.audio | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:144 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.background | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:165 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.budget | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:157 (model-registry-key-domain); crates/harn-stdlib/src/stdlib/agent/budget.harn:2 (__budget_envelope) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.cache | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:155 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.call_role | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:103 (model-registry-key-domain); crates/harn-vm/src/llm/helpers/options/extract.rs:181 (opt_str); crates/harn-stdlib/src/stdlib/agent/loop_support.harn:272 (__agent_loop_effective_llm_options) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.capabilities | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:107 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.compact | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:167 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.context_profile | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:106 (model-registry-key-domain); crates/harn-stdlib/src/stdlib/agent/preflight.harn:657 (__agent_context_profile_fragments); crates/harn-stdlib/src/stdlib/agent/preflight.harn:643 (__with_prompt_fragment); crates/harn-stdlib/src/stdlib/agent/preflight.harn:642 (__with_prompt_fragment); crates/harn-stdlib/src/stdlib/agent/skills.harn:221 (__context_profile) | unknown: Static declaration/read only; downstream headless binding not observed. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.data_controls | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:171 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.effort | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:137 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.frequency_penalty | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:125 (model-registry-key-domain); crates/harn-vm/src/llm/cache.rs:269 (super::helpers::opt_float); crates/harn-vm/src/llm/helpers/options/extract.rs:243 (opt_float) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.history | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 | |
| AgentSpec.idle_timeout_ms | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:160 (model-registry-key-domain); crates/harn-vm/src/llm/helpers/options/extract.rs:308 (opt_int) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.include | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:168 (model-registry-key-domain); crates/harn-vm/src/llm/helpers/options/extract.rs:807 (opt_str_list) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.interleaved_thinking | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:141 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.logit_bias | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:116 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.logprobs | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:115 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.max_tokens | harn | dynamic: observed local fallback 0; normalization may override | crates/harn-builtin-meta/src/llm_options.rs:111 (model-registry-key-domain); crates/harn-vm/src/llm/cache.rs:262 (super::helpers::opt_int); crates/harn-vm/src/llm/helpers/options/extract.rs:227 (opt_int); crates/harn-stdlib/src/stdlib/agent/loop_foundation.harn:225 (__invoke_llm_with_autocontinue); crates/harn-stdlib/src/stdlib/agent/loop_tool_calls.harn:361 (__run_structural_validator) | 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 |
| AgentSpec.max_tool_calls | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:169 (model-registry-key-domain); crates/harn-vm/src/llm/helpers/options/extract.rs:808 (opt_int) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.messages | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:101 (model-registry-key-domain); crates/harn-stdlib/src/stdlib/agent/llm_dispatch.harn:61 (__dispatch_request_has_payload) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.metadata | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:175 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.min_p | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:117 (model-registry-key-domain); crates/harn-vm/src/llm/helpers/options/extract.rs:235 (opt_float) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.mirostat | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:121 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.mock_scope | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:105 (model-registry-key-domain); crates/harn-vm/src/llm/helpers/options/extract.rs:182 (opt_str); crates/harn-stdlib/src/stdlib/agent/loop_support.harn:272 (__agent_loop_effective_llm_options) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.operation_timeout_ms | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:159 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.output | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:129 (model-registry-key-domain); crates/harn-stdlib/src/stdlib/agent/llm_dispatch.harn:138 (__dispatch_structured_output_schema); crates/harn-stdlib/src/stdlib/agent/loop_support.harn:158 (__agent_loop_output_contract) | unknown: Static declaration/read only; downstream headless binding not observed. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.parallel_tool_calls | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:127 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.pdf | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:145 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.prediction | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:119 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.prefill | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:108 (model-registry-key-domain); crates/harn-stdlib/src/stdlib/agent/prefill.harn:44 (agent_take_one_shot_prefill) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.presence_penalty | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:126 (model-registry-key-domain); crates/harn-vm/src/llm/cache.rs:271 (super::helpers::opt_float); crates/harn-vm/src/llm/helpers/options/extract.rs:245 (opt_float) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.previous_response_id | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:109 (model-registry-key-domain); crates/harn-vm/src/llm/helpers/options/extract.rs:801 (opt_str) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.prompt_cache_ttl | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:156 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.provider_options | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:173 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.provider_tools | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:149 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.reasoning_policy | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-stdlib/src/stdlib/workflow/options.harn:345 (workflow-loop-key-domain); crates/harn-builtin-meta/src/llm_options.rs:138 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.reasoning_scale | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-stdlib/src/stdlib/workflow/options.harn:346 (workflow-loop-key-domain); crates/harn-builtin-meta/src/llm_options.rs:139 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.reasoning_task | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-stdlib/src/stdlib/workflow/options.harn:347 (workflow-loop-key-domain); crates/harn-builtin-meta/src/llm_options.rs:140 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.repair | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:134 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.repetition_penalty | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:118 (model-registry-key-domain); crates/harn-vm/src/llm/helpers/options/extract.rs:236 (opt_float) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.retries | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:132 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.schema_recover | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:133 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.schema_retries | harn | 0 for tool_using profile; options_formats.harn:15 owns other profiles | crates/harn-builtin-meta/src/llm_options.rs:130 (model-registry-key-domain); crates/harn-vm/src/llm/call.rs:579 (helpers::opt_int); crates/harn-vm/src/llm/call.rs:749 (helpers::opt_int) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| AgentSpec.schema_retry_nudge | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:131 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.seed | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:124 (model-registry-key-domain); crates/harn-vm/src/llm/helpers/options/extract.rs:241 (opt_int) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.session_id | harn | dynamic: observed local fallback ""; normalization may override | crates/harn-builtin-meta/src/llm_options.rs:102 (model-registry-key-domain); crates/harn-vm/src/llm/agent_host_primitives.rs:807 (agent_primitive_option_str); crates/harn-vm/src/llm/agent_session_host/lifecycle.rs:52 (opt_str); crates/harn-vm/src/llm/helpers/options/extract.rs:171 (opt_str); crates/harn-stdlib/src/stdlib/agent/llm_dispatch.harn:117 (__dispatch_emit_call_start); crates/harn-stdlib/src/stdlib/agent/llm_dispatch.harn:266 (__dispatch_invoke_once); crates/harn-stdlib/src/stdlib/agent/llm_dispatch.harn:252 (__dispatch_invoke_once); crates/harn-stdlib/src/stdlib/agent/loop_resource_dispatch.harn:280 (__tool_batch_emit_receipt); crates/harn-stdlib/src/stdlib/agent/loop_resource_dispatch.harn:218 (__tool_batch_plan); crates/harn-stdlib/src/stdlib/agent/loop_tool_calls.harn:238 (__tool_envelope) | 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 |
| AgentSpec.speed | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:162 (model-registry-key-domain); crates/harn-vm/src/llm/helpers/options/extract.rs:867 (opt_str) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.stop | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:122 (model-registry-key-domain); crates/harn-vm/src/llm/helpers/options/extract.rs:240 (opt_str_list) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.stop_at_tool_call | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:123 (model-registry-key-domain); crates/harn-vm/src/llm/helpers/options/extract.rs:1098 (opt_bool) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.store | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:164 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.stream | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:161 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.structural_experiment | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:177 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.system | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:100 (model-registry-key-domain); crates/harn-stdlib/src/stdlib/agent/preflight.harn:680 (__agent_primary_system_text); crates/harn-stdlib/src/stdlib/agent/preflight.harn:681 (__agent_primary_system_text); crates/harn-stdlib/src/stdlib/agent/preflight.harn:609 (__agent_has_system_prompt_options) | unknown: Static declaration/read only; downstream headless binding not observed. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.temperature | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:112 (model-registry-key-domain); crates/harn-vm/src/llm/cache.rs:266 (super::helpers::opt_float); crates/harn-vm/src/llm/helpers/options/extract.rs:230 (opt_float) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.thinking | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:136 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.timeout_ms | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:158 (model-registry-key-domain); crates/harn-vm/src/llm/helpers/options/extract.rs:307 (opt_int) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.tool_choice | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:150 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.tool_format | harn | dynamic: observed local fallback ""; normalization may override | crates/harn-builtin-meta/src/llm_options.rs:152 (model-registry-key-domain); crates/harn-vm/src/llm/agent_config.rs:510 (opt_str); crates/harn-vm/src/llm/agent_session_host/lifecycle.rs:151 (opt_str); crates/harn-vm/src/llm/call.rs:754 (helpers::opt_str); crates/harn-vm/src/llm/helpers/options/extract.rs:488 (opt_str); crates/harn-stdlib/src/stdlib/agent/llm_dispatch.harn:129 (__dispatch_emit_call_start); crates/harn-stdlib/src/stdlib/agent/loop_foundation.harn:183 (__autocontinue_should_continue); crates/harn-stdlib/src/stdlib/agent/loop_lifecycle.harn:58 (agent_loop_run_settings); crates/harn-stdlib/src/stdlib/agent/loop_resource_dispatch.harn:1260 (__dispatch_tool_calls); crates/harn-stdlib/src/stdlib/agent/loop_run.harn:46 (__agent_loop_run); crates/harn-stdlib/src/stdlib/agent/loop_tool_calls.harn:1344 (__detect_native_fallback); crates/harn-stdlib/src/stdlib/agent/loop_tool_calls.harn:359 (__run_structural_validator); crates/harn-stdlib/src/stdlib/agent/loop_turn_options.harn:1209 (agent_direct_llm_options); crates/harn-stdlib/src/stdlib/agent/loop_turn_scope.harn:931 (__agent_loop_final_wrapup); crates/harn-stdlib/src/stdlib/agent/loop_turn_scope.harn:913 (__agent_loop_final_wrapup); crates/harn-stdlib/src/stdlib/agent/loop_turn_scope.harn:1130 (__agent_loop_prepare_output_contract); crates/harn-stdlib/src/stdlib/agent/options_formats.harn:107 (__explicit_tool_format); crates/harn-stdlib/src/stdlib/agent/options_formats.harn:497 (__capability_gap_event); crates/harn-stdlib/src/stdlib/agent/options_formats.harn:110 (__explicit_tool_format); crates/harn-stdlib/src/stdlib/agent/options_public.harn:37 (agent_refresh_tool_format_for_route); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:18 (__native_tools_complete_naturally); crates/harn-stdlib/src/stdlib/agent/postturn.harn:202 (__native_completion_context); crates/harn-stdlib/src/stdlib/agent/postturn.harn:918 (agent_extract_tool_calls); crates/harn-stdlib/src/stdlib/agent/postturn.harn:1065 (agent_compute_post_turn); crates/harn-stdlib/src/stdlib/agent/postturn.harn:326 (__text_family_toolless_turn); crates/harn-stdlib/src/stdlib/agent/postturn.harn:491 (__classify_missing_tool_call); crates/harn-stdlib/src/stdlib/agent/tool_annotations.harn:197 (agent_collapse_duplicate_read_calls) | 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 |
| AgentSpec.tool_search | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:151 (model-registry-key-domain); crates/harn-stdlib/src/stdlib/agent/tool_search.harn:91 (__tool_search_client_requested); crates/harn-stdlib/src/stdlib/agent/tool_search.harn:269 (__tool_search_initial_state) | unknown: Static declaration/read only; downstream headless binding not observed. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.tools | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:148 (model-registry-key-domain); crates/harn-stdlib/src/stdlib/agent/completion_claim.harn:149 (agent_completion_claim_apply_options); crates/harn-stdlib/src/stdlib/agent/judge_evidence.harn:48 (__judge_tool_entries); crates/harn-stdlib/src/stdlib/agent/loop.harn:54 (agent_loop); crates/harn-stdlib/src/stdlib/agent/loop_foundation.harn:183 (__autocontinue_should_continue); crates/harn-stdlib/src/stdlib/agent/loop_resource_dispatch.harn:1251 (__dispatch_tool_calls); crates/harn-stdlib/src/stdlib/agent/loop_run.harn:259 (__agent_loop_run); crates/harn-stdlib/src/stdlib/agent/loop_run.harn:913 (__agent_loop_run); crates/harn-stdlib/src/stdlib/agent/loop_support.harn:206 (__agent_loop_next_tool_output_contract); crates/harn-stdlib/src/stdlib/agent/loop_support.harn:201 (__agent_loop_next_tool_output_contract); crates/harn-stdlib/src/stdlib/agent/loop_tool_calls.harn:929 (__parse_feedback_has_non_structural_tools); crates/harn-stdlib/src/stdlib/agent/loop_tool_calls.harn:352 (__run_structural_validator); crates/harn-stdlib/src/stdlib/agent/loop_turn_projection.harn:62 (agent_loop_turn_projection); crates/harn-stdlib/src/stdlib/agent/loop_turn_scope.harn:930 (__agent_loop_final_wrapup); crates/harn-stdlib/src/stdlib/agent/mcp.harn:89 (__mcp_admit_tools); crates/harn-stdlib/src/stdlib/agent/monologue_actuation.harn:355 (agent_monologue_actuation_take_for_turn); crates/harn-stdlib/src/stdlib/agent/options_public.harn:37 (agent_refresh_tool_format_for_route); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:18 (__native_tools_complete_naturally); crates/harn-stdlib/src/stdlib/agent/postturn.harn:474 (__classify_missing_tool_call); crates/harn-stdlib/src/stdlib/agent/postturn.harn:911 (agent_extract_tool_calls); crates/harn-stdlib/src/stdlib/agent/postturn.harn:202 (__native_completion_context); crates/harn-stdlib/src/stdlib/agent/postturn.harn:917 (agent_extract_tool_calls); crates/harn-stdlib/src/stdlib/agent/postturn.harn:1060 (agent_compute_post_turn); crates/harn-stdlib/src/stdlib/agent/postturn.harn:722 (__maybe_inject_action_nudge); crates/harn-stdlib/src/stdlib/agent/preflight.harn:236 (agent_has_tools); crates/harn-stdlib/src/stdlib/agent/preflight.harn:399 (__agent_text_tool_contract_prompt); crates/harn-stdlib/src/stdlib/agent/preflight.harn:404 (__agent_text_tool_contract_prompt); crates/harn-stdlib/src/stdlib/agent/preflight.harn:767 (agent_build_turn_system_fragments); crates/harn-stdlib/src/stdlib/agent/preflight.harn:773 (agent_build_turn_system_fragments); crates/harn-stdlib/src/stdlib/agent/preflight.harn:300 (__agent_json_tool_contract_prompt); crates/harn-stdlib/src/stdlib/agent/progress.harn:405 (agent_progress_apply_options); crates/harn-stdlib/src/stdlib/agent/skills.harn:164 (__with_load_skill_tool); crates/harn-stdlib/src/stdlib/agent/skills.harn:732 (__skill_scoped_tools); crates/harn-stdlib/src/stdlib/agent/skills.harn:226 (__served_tool_groups); crates/harn-stdlib/src/stdlib/agent/skills.harn:730 (__skill_scoped_tools); crates/harn-stdlib/src/stdlib/agent/stance.harn:224 (__stance_register_escape_tool); crates/harn-stdlib/src/stdlib/agent/stance.harn:316 (agent_stance_apply); crates/harn-stdlib/src/stdlib/agent/stance.harn:319 (agent_stance_apply); crates/harn-stdlib/src/stdlib/agent/tool_search.harn:270 (__tool_search_initial_state); crates/harn-stdlib/src/stdlib/agent/tool_search.harn:292 (__tool_search_initial_state); crates/harn-stdlib/src/stdlib/agent/tool_search.harn:295 (__tool_search_initial_state); crates/harn-stdlib/src/stdlib/agent/tool_surface.harn:14 (__tool_surface_current_entries); crates/harn-stdlib/src/stdlib/agent/tool_surface.harn:92 (__tool_surface_claim_authority); crates/harn-stdlib/src/stdlib/agent/tool_surface.harn:504 (agent_apply_tool_surface_narrowing); crates/harn-stdlib/src/stdlib/agent/tool_surface.harn:517 (agent_apply_tool_surface_narrowing) | unknown: Static declaration/read only; downstream headless binding not observed. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.top_k | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:114 (model-registry-key-domain); crates/harn-vm/src/llm/cache.rs:268 (super::helpers::opt_int); crates/harn-vm/src/llm/helpers/options/extract.rs:232 (opt_int) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.top_p | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:113 (model-registry-key-domain); crates/harn-vm/src/llm/cache.rs:267 (super::helpers::opt_float); crates/harn-vm/src/llm/helpers/options/extract.rs:231 (opt_float) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.truncation | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:166 (model-registry-key-domain); crates/harn-vm/src/llm/helpers/options/extract.rs:805 (opt_str) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.verbosity | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:120 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.video | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:146 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.vision | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:143 (model-registry-key-domain); crates/harn-vm/src/llm/helpers/options/extract.rs:422 (opt_bool) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.llm_transcript_dir | harn | absent; no explicit transcript-directory override | crates/harn-vm/src/llm/agent_session_host/lifecycle.rs:157 (opt_str) | unknown: native lifecycle converts an absent or empty llm_transcript_dir to no override. 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 |
| AgentSpec.on_delta | harn | absent; no custom delta callback | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:734 (__validate_agent_loop_callback_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:735 (__validate_agent_loop_callback_options) | unknown: options_public.agent_options reads the optional callback and projects it into _on_delta without supplying one. 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 |
| AgentSpec.purpose_labels | harn | disabled | crates/harn-stdlib/src/stdlib/agent/loop.harn:59 (agent_loop); crates/harn-stdlib/src/stdlib/agent/loop_purpose_labels.harn:41 (__purpose_label_arm); crates/harn-stdlib/src/stdlib/agent/loop_turn_setup.harn:167 (__agent_loop_turn_setup) | unknown: purpose_labels.agent_purpose_label_config returns disabled configuration when no setting 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 |
| AgentStopOptions.graceful | harn | false | crates/harn-stdlib/src/stdlib/agent/workers.harn:120 (__agent_stop_options) | unknown: workers.__agent_stop_options normalizes the public stop request. 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 |
| AgentStopOptions.reason | harn | absent; an empty or whitespace-only reason is removed | crates/harn-stdlib/src/stdlib/agent/workers.harn:124 (__agent_stop_options); crates/harn-stdlib/src/stdlib/agent/workers.harn:127 (__agent_stop_options) | unknown: workers.__agent_stop_options trims the reason and omits an empty result. 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 |
| CommandWaitOptions.auto_resolve | harn | kill unless explicitly release; owner command_ledger.harn:107 | crates/harn-stdlib/src/stdlib/agent/command_ledger.harn:113 (command_wait_normalize); crates/harn-stdlib/src/stdlib/agent/command_ledger.harn:663 (command_ledger_apply_ceiling) | 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 |
| CommandWaitOptions.decision_base_ms | harn | 30000; owner command_ledger.harn:107 | crates/harn-stdlib/src/stdlib/agent/command_ledger.harn:206 (__cl_new_row); crates/harn-stdlib/src/stdlib/agent/command_ledger.harn:207 (__cl_new_row); crates/harn-stdlib/src/stdlib/agent/command_ledger.harn:120 (command_wait_normalize) | 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 |
| CommandWaitOptions.decision_cap_ms | harn | 300000; owner command_ledger.harn:107 | crates/harn-stdlib/src/stdlib/agent/command_ledger.harn:422 (__cl_advance_schedule_row); crates/harn-stdlib/src/stdlib/agent/command_ledger.harn:122 (command_wait_normalize); crates/harn-stdlib/src/stdlib/agent/command_ledger.harn:584 (command_ledger_after_digest) | 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 |
| CommandWaitOptions.decision_multiplier | harn | 2; owner command_ledger.harn:107 | crates/harn-stdlib/src/stdlib/agent/command_ledger.harn:422 (__cl_advance_schedule_row); crates/harn-stdlib/src/stdlib/agent/command_ledger.harn:121 (command_wait_normalize); crates/harn-stdlib/src/stdlib/agent/command_ledger.harn:583 (command_ledger_after_digest) | 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 |
| CommandWaitOptions.hold_reentry_budget | harn | 8; owner command_ledger.harn:107 | crates/harn-stdlib/src/stdlib/agent/command_ledger.harn:783 (command_ledger_hold); crates/harn-stdlib/src/stdlib/agent/command_ledger.harn:130 (command_wait_normalize) | 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 |
| CommandWaitOptions.hold_reentry_max_tokens | harn | 96; owner command_ledger.harn:107 | crates/harn-stdlib/src/stdlib/agent/command_ledger.harn:127 (command_wait_normalize); crates/harn-stdlib/src/stdlib/agent/command_ledger.harn:774 (command_ledger_hold); crates/harn-stdlib/src/stdlib/agent/command_ledger.harn:805 (command_ledger_hold) | 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 |
| CommandWaitOptions.inline_window_ms | harn | 10000; owner command_ledger.harn:107 | crates/harn-stdlib/src/stdlib/agent/command_ledger.harn:119 (command_wait_normalize) | 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 |
| CommandWaitOptions.max_awaited_wall_ms | harn | 900000; owner command_ledger.harn:107 | crates/harn-stdlib/src/stdlib/agent/command_ledger.harn:125 (command_wait_normalize); crates/harn-stdlib/src/stdlib/agent/command_ledger.harn:468 (__cl_earliest_deadline); crates/harn-stdlib/src/stdlib/agent/command_ledger.harn:618 (__cl_ceiling_breaches) | 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 |
| CommandWaitOptions.silence_floor_ms | harn | 300000; owner command_ledger.harn:107 | crates/harn-stdlib/src/stdlib/agent/command_ledger.harn:123 (command_wait_normalize); crates/harn-stdlib/src/stdlib/agent/command_ledger.harn:415 (__cl_row_fires) | 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 |
| CommandWaitOptions.stall_after_ms | harn | 300000; owner command_ledger.harn:107 | crates/harn-stdlib/src/stdlib/agent/command_ledger.harn:409 (__cl_row_fires); crates/harn-stdlib/src/stdlib/agent/command_ledger.harn:124 (command_wait_normalize); crates/harn-stdlib/src/stdlib/agent/command_ledger.harn:514 (__cl_decision_wording); crates/harn-stdlib/src/stdlib/agent/command_ledger.harn:593 (command_ledger_after_digest) | 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 |
| CommandWaitOptions.wording | harn | {}; owner command_ledger.harn:107 | crates/harn-stdlib/src/stdlib/agent/command_ledger.harn:133 (command_wait_normalize); crates/harn-stdlib/src/stdlib/agent/command_ledger.harn:132 (command_wait_normalize); crates/harn-stdlib/src/stdlib/agent/command_ledger.harn:525 (__cl_decision_wording); crates/harn-stdlib/src/stdlib/agent/command_ledger.harn:519 (__cl_decision_wording) | 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 |
| CompactionPolicy.author | harn | absent | crates/harn-stdlib/src/stdlib/agent/autocompact.harn:80 (__compaction_policy_merge_fields); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:140 (__compaction_policy_event_fields); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:54 (__has_compaction_policy); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:81 (__compaction_policy_merge_fields); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:143 (__compaction_policy_event_fields); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:144 (__compaction_policy_event_fields) | unknown: autocompact.__compaction_policy_merge_fields copies only explicitly supplied attribution. 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 |
| CompactionPolicy.drop | harn | empty list | crates/harn-stdlib/src/stdlib/agent/autocompact.harn:74 (__compaction_policy_merge_fields); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:104 (__compaction_policy_from_options); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:75 (__compaction_policy_merge_fields); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:121 (__compaction_instruction_mode); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:51 (__has_compaction_policy) | unknown: autocompact.__compaction_policy_list normalizes absent exclusion content to an empty 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 |
| CompactionPolicy.extend_default_instructions | harn | true in compaction_policy; absent when no policy is configured | crates/harn-stdlib/src/stdlib/agent/autocompact.harn:77 (__compaction_policy_merge_fields); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:328 (compaction_policy); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:125 (__compaction_instruction_mode); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:53 (__has_compaction_policy); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:78 (__compaction_policy_merge_fields) | unknown: autocompact.compaction_policy defaults a nonempty policy to extending the standard instructions. 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 |
| CompactionPolicy.instructions | harn | absent; use default compaction instructions | crates/harn-stdlib/src/stdlib/agent/autocompact.harn:47 (__has_compaction_policy); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:62 (__compaction_policy_merge_fields); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:118 (__compaction_instruction_mode); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:63 (__compaction_policy_merge_fields) | unknown: autocompact.compaction_policy adds instructions only when 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 |
| CompactionPolicy.mode | harn | absent | crates/harn-stdlib/src/stdlib/agent/autocompact.harn:65 (__compaction_policy_merge_fields); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:66 (__compaction_policy_merge_fields); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:48 (__has_compaction_policy) | unknown: autocompact.__compaction_policy_merge_fields copies only an explicitly supplied mode. 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 |
| CompactionPolicy.preserve | harn | empty list | crates/harn-stdlib/src/stdlib/agent/autocompact.harn:71 (__compaction_policy_merge_fields); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:100 (__compaction_policy_from_options); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:72 (__compaction_policy_merge_fields); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:119 (__compaction_instruction_mode); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:50 (__has_compaction_policy) | unknown: autocompact.__compaction_policy_list normalizes absent preservation content to an empty 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 |
| CompactionPolicy.scope | harn | absent | crates/harn-stdlib/src/stdlib/agent/autocompact.harn:68 (__compaction_policy_merge_fields); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:69 (__compaction_policy_merge_fields); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:49 (__has_compaction_policy) | unknown: autocompact.__compaction_policy_merge_fields copies only an explicitly supplied scope. 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 |
| ConsecutiveFailureBudget.kinds | harn | transient, rate_limit, provider_5xx | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:277 (__normalize_consecutive_failure_budget) | unknown: options_validation.__normalize_consecutive_failure_budget supplies these transient failure classes. 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 |
| ConsecutiveFailureBudget.max | harn | required when consecutive_failures is configured | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:269 (__normalize_consecutive_failure_budget); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:273 (__normalize_consecutive_failure_budget) | unknown: options_validation.__normalize_consecutive_failure_budget rejects a configured object without max. 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 |
| ConsecutiveFailureBudget.paused_for_ms | harn | 0 | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:294 (__normalize_consecutive_failure_budget) | unknown: options_validation.__normalize_consecutive_failure_budget supplies a zero pause duration. 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 |
| DetectorSpec.enabled | harn | dynamic: observed local fallback true; normalization may override | crates/harn-stdlib/src/stdlib/agent/stall_detectors.harn:255 (detector_spec_to_stall) | 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 |
| DetectorSpec.token_runaway.fallback | harn | 0.0; no token ceiling without positive history or fallback | crates/harn-stdlib/src/stdlib/agent/stall_detectors.harn:83 (token_runaway_resolve_cap); crates/harn-stdlib/src/stdlib/agent/stall_detectors.harn:116 (token_runaway_decision) | unknown: stall_detectors.token_runaway_decision supplies zero and returns no_cap when the resolved ceiling is nonpositive. 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 |
| DetectorSpec.token_runaway.hard_multiple | harn | 3.0 | crates/harn-stdlib/src/stdlib/agent/stall_detectors.harn:129 (token_runaway_decision) | unknown: stall_detectors.token_runaway_decision uses TOKEN_RUNAWAY_HARD_OVERSHOOT_MULTIPLE. 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 |
| DetectorSpec.hard_stop_after_trips | harn | 3 via the native stall configuration | crates/harn-stdlib/src/stdlib/agent/stall_detectors.harn:278 (detector_spec_to_stall); crates/harn-stdlib/src/stdlib/agent/stall_detectors.harn:279 (detector_spec_to_stall) | unknown: stall_detectors.detector_spec_to_stall overrides hard_stop_after_trips only when supplied; stall_config defaults it to STALL_HARD_STOP_AFTER_TRIPS. 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 |
| DetectorSpec.loop | harn | absent; preserve native loop-detector defaults | crates/harn-stdlib/src/stdlib/agent/stall_detectors.harn:256 (detector_spec_to_stall) | unknown: stall_detectors.detector_spec_to_stall overrides repeat and ping-pong only when 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 |
| DetectorSpec.token_runaway.median | harn | 0.0; no median history | crates/harn-stdlib/src/stdlib/agent/stall_detectors.harn:80 (token_runaway_resolve_cap); crates/harn-stdlib/src/stdlib/agent/stall_detectors.harn:119 (token_runaway_decision) | unknown: stall_detectors.token_runaway_decision supplies zero to token_runaway_resolve_cap when no history 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 |
| DetectorSpec.no_progress.messages | harn | 3 via the native stall configuration | crates/harn-stdlib/src/stdlib/agent/stall_detectors.harn:266 (detector_spec_to_stall); crates/harn-stdlib/src/stdlib/agent/stall_detectors.harn:267 (detector_spec_to_stall) | unknown: stall_detectors.detector_spec_to_stall leaves no_progress_messages unchanged when absent; stall_config defaults it to STALL_NO_PROGRESS_MESSAGES. 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 |
| DetectorSpec.no_progress | harn | absent; preserve native no-progress default | crates/harn-stdlib/src/stdlib/agent/stall_detectors.harn:265 (detector_spec_to_stall) | unknown: stall_detectors.detector_spec_to_stall overrides no_progress_messages only when 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 |
| DetectorSpec.loop.ping_pong_cycles | harn | 6 via the native stall configuration | crates/harn-stdlib/src/stdlib/agent/stall_detectors.harn:261 (detector_spec_to_stall); crates/harn-stdlib/src/stdlib/agent/stall_detectors.harn:262 (detector_spec_to_stall) | unknown: stall_detectors.detector_spec_to_stall leaves ping_pong_cycles unchanged when absent; stall_config defaults it to STALL_PING_PONG_CYCLES. 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 |
| DetectorSpec.loop.repeat | harn | 4 via the native stall configuration | crates/harn-stdlib/src/stdlib/agent/stall_detectors.harn:258 (detector_spec_to_stall); crates/harn-stdlib/src/stdlib/agent/stall_detectors.harn:259 (detector_spec_to_stall) | unknown: stall_detectors.detector_spec_to_stall leaves repeat_same_observation unchanged when absent; stall_config defaults it to STALL_REPEAT_SAME_OBSERVATION. 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 |
| DetectorSpec.stuck.same_diagnostic | harn | absent; does not independently enable repair-aware detection | crates/harn-stdlib/src/stdlib/agent/stall_detectors.harn:274 (detector_spec_to_stall); crates/harn-stdlib/src/stdlib/agent/stall_detectors.harn:275 (detector_spec_to_stall) | unknown: stall_detectors.detector_spec_to_stall sets repair_aware only for an explicit same_diagnostic value; native stall configuration owns its own 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 |
| DetectorSpec.stuck.same_error | harn | 3 via the native stall configuration | crates/harn-stdlib/src/stdlib/agent/stall_detectors.harn:271 (detector_spec_to_stall); crates/harn-stdlib/src/stdlib/agent/stall_detectors.harn:272 (detector_spec_to_stall) | unknown: stall_detectors.detector_spec_to_stall leaves repeat_same_error unchanged when absent; stall_config defaults it to STALL_REPEAT_SAME_ERROR. 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 |
| DetectorSpec.token_runaway.sigma | harn | 2.0 | crates/harn-stdlib/src/stdlib/agent/stall_detectors.harn:82 (token_runaway_resolve_cap); crates/harn-stdlib/src/stdlib/agent/stall_detectors.harn:115 (token_runaway_decision) | unknown: stall_detectors.token_runaway_decision uses TOKEN_RUNAWAY_DEFAULT_SIGMA. 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 |
| DetectorSpec.token_runaway.stddev | harn | 0.0; use the thin-history margin | crates/harn-stdlib/src/stdlib/agent/stall_detectors.harn:81 (token_runaway_resolve_cap); crates/harn-stdlib/src/stdlib/agent/stall_detectors.harn:120 (token_runaway_decision) | unknown: stall_detectors.token_runaway_resolve_cap uses a 0.6 relative margin when standard deviation is nonpositive. 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 |
| DetectorSpec.stuck | harn | absent; preserve native stuck-detector defaults | crates/harn-stdlib/src/stdlib/agent/stall_detectors.harn:269 (detector_spec_to_stall) | unknown: stall_detectors.detector_spec_to_stall overrides error/diagnostic behavior only when 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 |
| DetectorSpec.token_runaway | harn | absent; no token-runaway post-turn overlay | crates/harn-stdlib/src/stdlib/agent/stall_detectors.harn:293 (detector_spec_token_runaway) | unknown: stall_detectors.unified_detectors_post_turn returns nil when token_runaway 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 |
| HARN_AGENT_TOOL_FORMAT | harn | dynamic: provider catalog default | crates/harn-vm/src/orchestration/stage_options.rs:44 (non_empty_env) | unknown: Native workflow stage preparation injects into std/workflow/options; static only | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| HARN_LLM_MODEL | harn | dynamic: configured model | crates/harn-vm/src/llm/config_builtins/healthcheck_builtins.rs:42 (crate::test_env::env_var_seamed); crates/harn-vm/src/orchestration/stage_options.rs:82 (non_empty_env) | unknown: Native workflow route/default owner; CLI try also reads at try_cmd.rs:51,59; static only | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| HARN_LLM_PROVIDER | harn | dynamic: configured provider | crates/harn-vm/src/orchestration/stage_options.rs:89 (non_empty_env) | unknown: Native workflow route/default owner; CLI try also reads at try_cmd.rs:37,48; static only | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| HARN_TRY_MAX_ITERS | harn | {"kind": "value", "value": 5} | crates/harn-stdlib/src/stdlib/cli/try.harn:30 (get_or) | unknown: commands/try_cmd.rs injects environment; cli/try.harn:49 passes max_iterations into agent_loop. This proves harn try source wiring, not downstream canonical headless binding. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| HARN_TRY_MODEL | harn | {"kind": "dynamic", "reason": "CLI routing/default selection or absent optional override"} | crates/harn-stdlib/src/stdlib/cli/try.harn:37 (__trimmed_env) | unknown: commands/try_cmd.rs injects environment; cli/try.harn:49 passes model into agent_loop. This proves harn try source wiring, not downstream canonical headless binding. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| HARN_TRY_OVERRIDE_REASON | harn | {"kind": "dynamic", "reason": "CLI routing/default selection or absent optional override"} | crates/harn-stdlib/src/stdlib/cli/try.harn:45 (__trimmed_env) | unknown: commands/try_cmd.rs injects environment; cli/try.harn:49 passes tool_format_override_reason into agent_loop. This proves harn try source wiring, not downstream canonical headless binding. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| HARN_TRY_PROVIDER | harn | {"kind": "dynamic", "reason": "CLI routing/default selection or absent optional override"} | crates/harn-stdlib/src/stdlib/cli/try.harn:36 (__trimmed_env) | unknown: commands/try_cmd.rs injects environment; cli/try.harn:49 passes provider into agent_loop. This proves harn try source wiring, not downstream canonical headless binding. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| HARN_TRY_TOOL_FORMAT | harn | {"kind": "dynamic", "reason": "CLI routing/default selection or absent optional override"} | crates/harn-stdlib/src/stdlib/cli/try.harn:41 (__trimmed_env) | unknown: commands/try_cmd.rs injects environment; cli/try.harn:49 passes tool_format into agent_loop. This proves harn try source wiring, not downstream canonical headless binding. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 |
| IterationBudget.consecutive_failures | harn | nil; owner options_public.harn:47 | crates/harn-stdlib/src/stdlib/agent/options_public.harn:169 (__normalize_iteration_budget) | 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 |
| IterationBudget.expose_decisions | harn | false; owner options_public.harn:47 | crates/harn-stdlib/src/stdlib/agent/options_public.harn:143 (__normalize_iteration_budget); crates/harn-stdlib/src/stdlib/agent/options_public.harn:148 (__normalize_iteration_budget); crates/harn-stdlib/src/stdlib/agent/options_public.harn:144 (__normalize_iteration_budget); crates/harn-stdlib/src/stdlib/agent/options_public.harn:146 (__normalize_iteration_budget) | 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 |
| IterationBudget.extend_by | harn | 0 in fixed mode; adaptive mode resolves caller value; owner options_public.harn:47 | crates/harn-stdlib/src/stdlib/agent/options_public.harn:127 (__normalize_iteration_budget) | 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 |
| IterationBudget.initial | harn | dynamic: max_iterations/profile, otherwise50; owner options_public.harn:47 | crates/harn-stdlib/src/stdlib/agent/loop_lifecycle.harn:61 (agent_loop_run_settings); crates/harn-stdlib/src/stdlib/agent/loop_run.harn:90 (__agent_loop_run); crates/harn-stdlib/src/stdlib/agent/options_public.harn:116 (__normalize_iteration_budget) | 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 |
| IterationBudget.max | harn | dynamic: max_iterations/profile, otherwise50; owner options_public.harn:47 | crates/harn-stdlib/src/stdlib/agent/options_public.harn:103 (__normalize_iteration_budget) | 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 |
| IterationBudget.mode | harn | fixed; owner options_public.harn:47 | crates/harn-stdlib/src/stdlib/agent/options_public.harn:86 (__normalize_iteration_budget) | 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 |
| IterationBudget.progress_window | harn | 0 in fixed mode; adaptive mode resolves caller value; owner options_public.harn:47 | crates/harn-stdlib/src/stdlib/agent/options_public.harn:136 (__normalize_iteration_budget) | 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 |
| IterationBudget.total_cost_usd | harn | nil; owner options_public.harn:47 | crates/harn-stdlib/src/stdlib/agent/options_public.harn:165 (__normalize_iteration_budget) | 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 |
| IterationBudget.wall_clock_ms | harn | nil; owner options_public.harn:47 | crates/harn-stdlib/src/stdlib/agent/options_public.harn:160 (__normalize_iteration_budget) | 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 |
| MissingToolCallRecoveryOptions.classifier | harn | absent; use the built-in typed model checkpoint | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:379 (__validate_missing_tool_call_recovery); crates/harn-stdlib/src/stdlib/agent/postturn.harn:437 (__missing_tool_call_recovery_classifier); crates/harn-stdlib/src/stdlib/llm/missing_tool_call.harn:265 (missing_tool_call_classifier) | unknown: llm.missing_tool_call.missing_tool_call_classifier invokes the custom closure only when 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 |
| MissingToolCallRecoveryOptions.confidence_threshold | harn | 0.65 | crates/harn-stdlib/src/stdlib/llm/missing_tool_call.harn:264 (missing_tool_call_classifier) | unknown: llm.missing_tool_call.__missing_tool_call_threshold supplies and validates the confidence threshold. 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 |
| MissingToolCallRecoveryOptions.effort | harn | absent; provider/catalog default | crates/harn-stdlib/src/stdlib/llm/missing_tool_call.harn:314 (missing-tool-recovery-key-domain) | unknown: llm.missing_tool_call.missing_tool_call_classifier forwards effort only when 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 |
| MissingToolCallRecoveryOptions.enabled | harn | true; a false parent missing_tool_call_recovery setting disables recovery | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:375 (__validate_missing_tool_call_recovery); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:377 (__validate_missing_tool_call_recovery); crates/harn-stdlib/src/stdlib/agent/postturn.harn:426 (__missing_tool_call_recovery_config); crates/harn-stdlib/src/stdlib/llm/missing_tool_call.harn:255 (missing_tool_call_classifier) | unknown: postturn.__missing_tool_call_recovery_config and llm.missing_tool_call.missing_tool_call_classifier both enable omitted configuration. 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 |
| MissingToolCallRecoveryOptions.max_tokens | harn | 192 | crates/harn-stdlib/src/stdlib/llm/missing_tool_call.harn:304 () | unknown: llm.missing_tool_call.missing_tool_call_classifier supplies the typed checkpoint output bound. 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 |
| MissingToolCallRecoveryOptions.model | harn | inherit runner model; standalone classifier omits the model for provider resolution | crates/harn-stdlib/src/stdlib/agent/postturn.harn:422 (__missing_tool_call_recovery_config); crates/harn-stdlib/src/stdlib/llm/missing_tool_call.harn:263 (missing_tool_call_classifier) | unknown: postturn.__missing_tool_call_recovery_config copies the actor model only when classifier configuration omits it. 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 |
| MissingToolCallRecoveryOptions.provider | harn | inherit runner provider; standalone classifier omits the provider for normal resolution | crates/harn-stdlib/src/stdlib/agent/postturn.harn:419 (__missing_tool_call_recovery_config); crates/harn-stdlib/src/stdlib/llm/missing_tool_call.harn:311 (); crates/harn-stdlib/src/stdlib/llm/missing_tool_call.harn:312 () | unknown: postturn.__missing_tool_call_recovery_config copies the actor provider only when classifier configuration omits it. 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 |
| MissingToolCallRecoveryOptions.seed | harn | absent; provider default | crates/harn-stdlib/src/stdlib/llm/missing_tool_call.harn:314 (missing-tool-recovery-key-domain) | unknown: llm.missing_tool_call.missing_tool_call_classifier forwards seed only when 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 |
| MissingToolCallRecoveryOptions.temperature | harn | 0.0 | crates/harn-stdlib/src/stdlib/llm/missing_tool_call.harn:305 () | unknown: llm.missing_tool_call.missing_tool_call_classifier supplies the classifier sampling temperature. 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 |
| MissingToolCallRecoveryOptions.timeout_ms | harn | absent; checkpoint/provider default | crates/harn-stdlib/src/stdlib/llm/missing_tool_call.harn:314 (missing-tool-recovery-key-domain) | unknown: llm.missing_tool_call.missing_tool_call_classifier forwards timeout_ms only when 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 |
| MissingToolCallRecoveryOptions.top_p | harn | absent; provider default | crates/harn-stdlib/src/stdlib/llm/missing_tool_call.harn:314 (missing-tool-recovery-key-domain) | unknown: llm.missing_tool_call.missing_tool_call_classifier forwards top_p only when 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 |
| ModelPolicySpec.iteration_budget | harn | absent; use the stage max_iterations bound | unknown: orchestration.policy.types ModelPolicy defaults iteration_budget to None; workflow.options omits nil keys. 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 | |
| ModelPolicySpec.max_iterations | harn | 16 | crates/harn-stdlib/src/stdlib/workflow/options.harn:351 (__workflow_agent_loop_options) | unknown: workflow.options.__workflow_agent_loop_options sets the workflow stage iteration bound. 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 |
| ModelPolicySpec.max_nudges | harn | 3 | crates/harn-stdlib/src/stdlib/workflow/options.harn:352 (__workflow_agent_loop_options) | unknown: workflow.options.__workflow_agent_loop_options sets the workflow stage nudge bound. 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 |
| ModelPolicySpec.max_tokens | harn | absent; provider/model defaults apply | unknown: orchestration.policy.types ModelPolicy defaults max_tokens to None; workflow.options omits nil model keys. 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 | |
| ModelPolicySpec.model | harn | absent; inherited model resolution | unknown: orchestration.policy.types ModelPolicy defaults model to None; workflow.options omits nil model keys. 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 | |
| ModelPolicySpec.model_tier | harn | absent; no stage tier override | unknown: orchestration.policy.types ModelPolicy defaults model_tier to None; workflow.options omits nil model keys. 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 | |
| ModelPolicySpec.native_tool_fallback | harn | reject | crates/harn-stdlib/src/stdlib/workflow/options.harn:357 (__workflow_agent_loop_options) | unknown: workflow.options.__workflow_native_tool_fallback resolves an absent policy. 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 |
| ModelPolicySpec.nudge | harn | absent; runner default nudge | unknown: orchestration.policy.types ModelPolicy defaults nudge to None; workflow.options omits nil loop keys. 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 | |
| ModelPolicySpec.post_turn_callback | harn | absent; no stage callback | unknown: orchestration.policy.types ModelPolicy defaults post_turn_callback to None. 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 | |
| ModelPolicySpec.provider | harn | absent; inherited provider resolution | unknown: orchestration.policy.types ModelPolicy defaults provider to None; workflow.options omits nil model keys. 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 | |
| ModelPolicySpec.require_successful_tools | harn | absent; no stage successful-tool clauses | unknown: orchestration.policy.types ModelPolicy defaults require_successful_tools to None. 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 | |
| ModelPolicySpec.stop_after_successful_tools | harn | absent; no tool-triggered stage stop | unknown: orchestration.policy.types ModelPolicy defaults stop_after_successful_tools to None. 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 | |
| ModelPolicySpec.temperature | harn | absent; provider/model defaults apply | unknown: orchestration.policy.types ModelPolicy defaults temperature to None; workflow.options omits nil model keys. 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 | |
| ModelPolicySpec.tool_examples | harn | absent; no stage examples | unknown: orchestration.policy.types ModelPolicy defaults tool_examples to None. 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 | |
| ModelPolicySpec.tool_format | harn | host environment format, then host default format, then text | crates/harn-stdlib/src/stdlib/workflow/options.harn:268 (__workflow_stage_tool_format) | unknown: workflow.options.__workflow_stage_tool_format resolves this precedence. 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 |
| ModelPolicySpec.turn_policy | harn | absent; no stage turn-policy override | unknown: orchestration.policy.types ModelPolicy defaults turn_policy to None. 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 | |
| PurposeLabelConfig.delivery | harn | system | crates/harn-stdlib/src/stdlib/agent/purpose_labels.harn:112 (agent_purpose_label_turn_nudge); crates/harn-stdlib/src/stdlib/agent/purpose_labels.harn:127 (agent_purpose_label_prefill); crates/harn-stdlib/src/stdlib/agent/purpose_labels.harn:243 (agent_purpose_label_extract); crates/harn-stdlib/src/stdlib/agent/purpose_labels.harn:98 (agent_purpose_label_config); crates/harn-stdlib/src/stdlib/agent/purpose_labels.harn:150 (agent_purpose_label_prompt_fragment) | unknown: purpose_labels.agent_purpose_label_config selects the default delivery channel. 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 |
| PurposeLabelConfig.enabled | harn | false when omitted; true for a supplied configuration object | crates/harn-stdlib/src/stdlib/agent/purpose_labels.harn:112 (agent_purpose_label_turn_nudge); crates/harn-stdlib/src/stdlib/agent/purpose_labels.harn:127 (agent_purpose_label_prefill); crates/harn-stdlib/src/stdlib/agent/purpose_labels.harn:150 (agent_purpose_label_prompt_fragment); crates/harn-stdlib/src/stdlib/agent/purpose_labels.harn:236 (agent_purpose_label_extract) | unknown: purpose_labels.agent_purpose_label_config distinguishes an absent configuration from an explicit object. 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 |
| PurposeLabelConfig.max_chars | harn | 64 | crates/harn-stdlib/src/stdlib/agent/purpose_labels.harn:262 (agent_purpose_label_extract); crates/harn-stdlib/src/stdlib/agent/purpose_labels.harn:97 (agent_purpose_label_config); crates/harn-stdlib/src/stdlib/agent/purpose_labels.harn:174 (__purpose_label_instruction) | unknown: purpose_labels.agent_purpose_label_config uses PURPOSE_LABEL_DEFAULT_MAX_CHARS. 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 |
| ReadOnlyStanceOptions.armed | harn | nil; owner options_validation.harn:486 | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:513 (__normalize_read_only_stance); crates/harn-stdlib/src/stdlib/agent/stance.harn:259 (agent_stance_prepare) | 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 |
| ReadOnlyStanceOptions.classifier | harn | nil; owner options_validation.harn:486 | crates/harn-stdlib/src/stdlib/agent/stance.harn:261 (agent_stance_prepare) | 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 |
| ReadOnlyStanceOptions.consent_check | harn | nil; owner options_validation.harn:486 | crates/harn-stdlib/src/stdlib/agent/stance.harn:183 (__stance_register_escape_tool) | 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 |
| ReadOnlyStanceOptions.enabled | harn | false when absent; object form true; owner options_validation.harn:486 | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:509 (__normalize_read_only_stance); crates/harn-stdlib/src/stdlib/agent/stance.harn:256 (agent_stance_prepare) | 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 |
| ReadOnlyStanceOptions.escape_tool | harn | request_write_access; owner options_validation.harn:486 | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:517 (__normalize_read_only_stance); crates/harn-stdlib/src/stdlib/agent/stance.harn:182 (__stance_register_escape_tool); crates/harn-stdlib/src/stdlib/agent/stance.harn:276 (agent_stance_prepare); crates/harn-stdlib/src/stdlib/agent/stance.harn:347 (agent_stance_post_turn) | 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 |
| ReadOnlyStanceOptions.hard_keep | harn | []; owner options_validation.harn:486 | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:525 (__normalize_read_only_stance); crates/harn-stdlib/src/stdlib/agent/stance.harn:285 (agent_stance_prepare) | 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 |
| ReadOnlyStanceOptions.min_confidence | harn | 0.8; owner options_validation.harn:486 | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:521 (__normalize_read_only_stance); crates/harn-stdlib/src/stdlib/agent/stance.harn:270 (agent_stance_prepare) | 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 |
| StageSpec.approval_policy | harn | empty rules and allowlists; sensitive/external path opt-outs false; repeat settings absent | unknown: orchestration.policy.ToolApprovalPolicy derives Default; default policy guards still apply. 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 | |
| StageSpec.auto_compact | harn | disabled; optional bounds and strategies absent | crates/harn-stdlib/src/stdlib/workflow/stage.harn:546 (__stage_compaction_options) | unknown: orchestration.workflow WorkflowNode defaults to AutoCompactPolicy::default, whose enabled field is false and optional fields are None. 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 |
| StageSpec.branch_semantics | harn | all branch destinations absent | unknown: orchestration.policy.types BranchSemantics derives Default with optional destinations. 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 | |
| StageSpec.capability_policy | harn | empty capability collections; optional limits absent; worktree sandbox profile | unknown: orchestration.policy.types CapabilityPolicy derives Default and SandboxProfile defaults to Worktree. 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 | |
| StageSpec.context_assembler | harn | absent; no custom context assembler | unknown: orchestration.workflow WorkflowNode defaults raw_context_assembler to None; closures are preserved separately from JSON. 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 | |
| StageSpec.context_policy | harn | empty selectors; optional bounds absent; prefer_recent and prefer_fresh false | unknown: orchestration.policy.types ContextPolicy derives Default. 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 | |
| StageSpec.done_sentinel | harn | absent at decoding; runner resolves its default | unknown: orchestration.workflow WorkflowNode derives Default with done_sentinel None. 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 | |
| StageSpec.escalation_policy | harn | level, queue and reason absent | unknown: orchestration.policy.types EscalationPolicy derives Default. 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 | |
| StageSpec.exit_when_verified | harn | false | unknown: orchestration.workflow WorkflowNode derives Default with a false exit_when_verified field. 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 | |
| StageSpec.id | harn | absent at decoding | unknown: orchestration.workflow WorkflowNode derives Default with id None. 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 | |
| StageSpec.input_contract | harn | empty kind lists; bounds/schema absent; transcript not required | unknown: orchestration.policy.types StageContract derives Default. 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 | |
| StageSpec.join_policy | harn | empty strategy; require_all_inputs false; minimum absent | unknown: orchestration.policy.types JoinPolicy derives Default; strategy validation remains with the stage executor. 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 | |
| StageSpec.kind | harn | empty string at decoding; stage validation still applies | unknown: orchestration.workflow WorkflowNode derives Default with an empty kind 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 | |
| StageSpec.map_policy | harn | empty items; kinds and bounds absent | unknown: orchestration.policy.types MapPolicy derives Default. 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 | |
| StageSpec.metadata | harn | empty map | crates/harn-stdlib/src/stdlib/workflow/stage.harn:545 (__stage_compaction_options) | unknown: orchestration.workflow WorkflowNode derives Default with an empty metadata map. 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 |
| StageSpec.mode | harn | absent at decoding | unknown: orchestration.workflow WorkflowNode derives Default with mode None. 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 | |
| StageSpec.model_policy | harn | optional model/loop overrides absent; native fallback reject | unknown: orchestration.policy.types ModelPolicy derives Default; workflow.options separately supplies 16 iterations and 3 nudges. 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 | |
| StageSpec.output_contract | harn | empty kind lists; bounds/schema absent; transcript not required | unknown: orchestration.policy.types StageContract derives Default. 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 | |
| StageSpec.output_visibility | harn | absent; preserve output visibility | unknown: orchestration.workflow WorkflowNode defaults output_visibility to None, documented as no filtering. 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 | |
| StageSpec.prompt | harn | absent at decoding | unknown: orchestration.workflow WorkflowNode derives Default with prompt None. 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 | |
| StageSpec.reduce_policy | harn | empty strategy; separator and output kind absent | unknown: orchestration.policy.types ReducePolicy derives Default; strategy validation remains with the stage executor. 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 | |
| StageSpec.retry_policy | harn | one effective attempt; verification, repair and feedback disabled; no backoff | crates/harn-stdlib/src/stdlib/workflow/stage.harn:836 (__stage_max_attempts) | unknown: orchestration.policy.types RetryPolicy decodes max_attempts as zero; workflow.stage.__stage_max_attempts clamps it to one. 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 |
| StageSpec.system | harn | absent at decoding | unknown: orchestration.workflow WorkflowNode derives Default with system None. 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 | |
| StageSpec.task_label | harn | absent at decoding | unknown: orchestration.workflow WorkflowNode derives Default with task_label None. 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 | |
| StageSpec.tools | harn | null at decoding | unknown: orchestration.workflow WorkflowNode derives Default with a null serde_json tools value. 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 | |
| StageSpec.verify | harn | absent; no stage verifier | unknown: orchestration.workflow WorkflowNode derives Default with verify None. 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 | |
| ToolSurfaceNarrowingOptions.enabled | harn | true; owner options_validation.harn:434 | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:556 (__normalize_tool_surface_narrowing); crates/harn-stdlib/src/stdlib/agent/tool_surface.harn:360 (__tool_surface_narrowing_post_turn) | 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 |
| ToolSurfaceNarrowingOptions.hard_keep | harn | dynamic: __default_tool_surface_hard_keep(); owner options_validation.harn:434 | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:567 (__normalize_tool_surface_narrowing); crates/harn-stdlib/src/stdlib/agent/tool_surface.harn:281 (__tool_surface_removed); crates/harn-stdlib/src/stdlib/agent/tool_surface.harn:376 (__tool_surface_narrowing_post_turn) | 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 |
| ToolSurfaceNarrowingOptions.keep_classes | harn | safe mode: mutating, approval, session_control, progress, result_polling, unknown; aggressive mode: empty list | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:571 (__normalize_tool_surface_narrowing); crates/harn-stdlib/src/stdlib/agent/tool_surface.harn:265 (__tool_surface_entry_prunable); crates/harn-stdlib/src/stdlib/agent/tool_surface.harn:397 (__tool_surface_narrowing_post_turn) | unknown: options_validation.__normalize_tool_surface_narrowing selects the owning mode 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 |
| ToolSurfaceNarrowingOptions.mode | harn | safe; owner options_validation.harn:434 | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:549 (__normalize_tool_surface_narrowing); crates/harn-stdlib/src/stdlib/agent/tool_surface.harn:273 (__tool_surface_entry_prunable); crates/harn-stdlib/src/stdlib/agent/tool_surface.harn:395 (__tool_surface_narrowing_post_turn) | 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 |
| ToolSurfaceNarrowingOptions.narrow_window_turns | harn | 5; legacy alias used only when window_turns is absent | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:560 (__normalize_tool_surface_narrowing) | unknown: options_validation.__normalize_tool_surface_narrowing prefers window_turns before this alias and the mode default. 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 |
| ToolSurfaceNarrowingOptions.prune_classes | harn | [read_only]; owner options_validation.harn:434 | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:569 (__normalize_tool_surface_narrowing); crates/harn-stdlib/src/stdlib/agent/tool_surface.harn:277 (__tool_surface_entry_prunable); crates/harn-stdlib/src/stdlib/agent/tool_surface.harn:396 (__tool_surface_narrowing_post_turn) | 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 |
| ToolSurfaceNarrowingOptions.unknown_tool_policy | harn | keep; owner options_validation.harn:434 | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:573 (__normalize_tool_surface_narrowing); crates/harn-stdlib/src/stdlib/agent/tool_surface.harn:270 (__tool_surface_entry_prunable); crates/harn-stdlib/src/stdlib/agent/tool_surface.harn:398 (__tool_surface_narrowing_post_turn) | 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 |
| ToolSurfaceNarrowingOptions.window_turns | harn | 5; owner options_validation.harn:434 | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:560 (__normalize_tool_surface_narrowing); crates/harn-stdlib/src/stdlib/agent/tool_surface.harn:363 (__tool_surface_narrowing_post_turn) | 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 |
| TurnPolicy.allow_done_sentinel | harn | true | unknown: orchestration.policy.types TurnPolicy::default enables the done sentinel. 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 | |
| TurnPolicy.max_prose_chars | harn | absent; no turn-policy prose cap | unknown: orchestration.policy.types TurnPolicy::default sets max_prose_chars to None. 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 | |
| TurnPolicy.require_action_or_yield | harn | false | crates/harn-stdlib/src/stdlib/agent/preflight.harn:411 (__agent_text_tool_contract_prompt) | unknown: orchestration.policy.types TurnPolicy::default does not require an action or yield. 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 |
| agent_done_contract.feedback_fallback | harn | judge.feedback_fallback, then a built-in request to address the specific gaps | crates/harn-stdlib/src/stdlib/agent/judge.harn:756 (agent_done_contract) | unknown: judge.agent_done_contract resolves outer and nested feedback before its default text. 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 |
| agent_done_contract.judge | harn | empty dictionary | crates/harn-stdlib/src/stdlib/agent/judge.harn:748 (agent_done_contract); crates/harn-stdlib/src/stdlib/agent/judge.harn:747 (agent_done_contract) | unknown: judge.agent_done_contract uses an empty judge configuration unless a dictionary 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 |
| agent_done_contract.loop_until_done | harn | dynamic: observed local fallback true; normalization may override | crates/harn-stdlib/src/stdlib/agent/judge.harn:764 (agent_done_contract) | 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 |
| agent_done_contract.max_invocations | harn | judge.max_invocations, then 3 | crates/harn-stdlib/src/stdlib/agent/judge.harn:752 (agent_done_contract) | unknown: judge.agent_done_contract resolves the outer cap before the nested judge and fallback. 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 |
| agent_done_contract.model | harn | judge.model; otherwise absent for catalog resolution | crates/harn-stdlib/src/stdlib/agent/judge.harn:760 (agent_done_contract) | unknown: judge.agent_done_contract resolves the outer model before the nested judge model. 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 |
| agent_done_contract.provider | harn | judge.provider; otherwise absent for runner/provider resolution | crates/harn-stdlib/src/stdlib/agent/judge.harn:761 (agent_done_contract) | unknown: judge.agent_done_contract resolves the outer provider before the nested judge provider. 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 |
| agent_done_contract.rubric | harn | dynamic: observed local fallback ""; normalization may override | crates/harn-stdlib/src/stdlib/agent/judge.harn:693 (__done_contract_judge_system); crates/harn-stdlib/src/stdlib/agent/judge.harn:324 (__judge_stable_prefix) | 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 |
| agent_done_contract.system | harn | judge.system, then the built-in done-contract judge prompt | crates/harn-stdlib/src/stdlib/agent/judge.harn:762 (agent_done_contract) | unknown: judge.agent_done_contract resolves outer and nested system text before __done_contract_judge_system. 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 |
| autonomy_policy.action_tiers | harn | dynamic: observed local fallback {}; normalization may override | crates/harn-stdlib/src/stdlib/agent/options_public.harn:193 (autonomy_policy) | 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 |
| autonomy_policy.agent | harn | absent; consulted only when agent_id is absent | crates/harn-stdlib/src/stdlib/agent/options_public.harn:191 (autonomy_policy) | unknown: options_public.autonomy_policy resolves the canonical identity before this compatibility 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 |
| autonomy_policy.agent_action_tiers | harn | dynamic: observed local fallback {}; normalization may override | crates/harn-stdlib/src/stdlib/agent/options_public.harn:195 (autonomy_policy) | 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 |
| autonomy_policy.agent_id | harn | agent alias; otherwise absent | crates/harn-stdlib/src/stdlib/agent/options_public.harn:191 (autonomy_policy) | unknown: options_public.autonomy_policy resolves agent_id before agent. 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 |
| autonomy_policy.agent_tiers | harn | dynamic: observed local fallback {}; normalization may override | crates/harn-stdlib/src/stdlib/agent/options_public.harn:194 (autonomy_policy) | 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 |
| autonomy_policy.reviewers | harn | dynamic: observed local fallback []; normalization may override | crates/harn-stdlib/src/stdlib/agent/options_public.harn:196 (autonomy_policy) | 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 |
| AgentSpec.equivalent_failover | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:96 (model-registry-key-domain); crates/harn-stdlib/src/stdlib/llm/options.harn:267 (llm_equivalent_failover_enabled); crates/harn-stdlib/src/stdlib/llm/options.harn:303 (llm_enable_equivalent_failover) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.fallback_chain | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-stdlib/src/stdlib/llm/options.harn:228 (explicit-routing-key-domain); crates/harn-builtin-meta/src/llm_options.rs:94 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.ladder | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-stdlib/src/stdlib/llm/options.harn:226 (explicit-routing-key-domain); crates/harn-builtin-meta/src/llm_options.rs:98 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.model | harn | dynamic: observed local fallback ""; normalization may override | crates/harn-builtin-meta/src/llm_options.rs:88 (model-registry-key-domain); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:190 (__compact_options); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:191 (__compact_options); crates/harn-stdlib/src/stdlib/agent/completion_review.harn:19 (__agent_completion_review); crates/harn-stdlib/src/stdlib/agent/judge_internals.harn:225 (__judge_provider_family); crates/harn-stdlib/src/stdlib/agent/llm_dispatch.harn:128 (__dispatch_emit_call_start); crates/harn-stdlib/src/stdlib/agent/loop_lifecycle.harn:57 (agent_loop_run_settings); crates/harn-stdlib/src/stdlib/agent/loop_provider_failure.harn:98 (agent_loop_provider_failure); crates/harn-stdlib/src/stdlib/agent/loop_run.harn:45 (__agent_loop_run); crates/harn-stdlib/src/stdlib/agent/loop_support.harn:312 (__agent_loop_enable_equivalent_failover); crates/harn-stdlib/src/stdlib/agent/loop_support.harn:603 (__agent_loop_with_llm_render_context); crates/harn-stdlib/src/stdlib/agent/loop_tool_calls.harn:240 (__tool_envelope); crates/harn-stdlib/src/stdlib/agent/loop_tool_calls.harn:376 (__run_structural_validator); crates/harn-stdlib/src/stdlib/agent/loop_turn_options.harn:1276 (agent_loop_demote_empty_turn); crates/harn-stdlib/src/stdlib/agent/loop_turn_options.harn:933 (__agent_loop_emit_provider_error); crates/harn-stdlib/src/stdlib/agent/loop_turn_scope.harn:145 (__run_input_guardrail); crates/harn-stdlib/src/stdlib/agent/loop_turn_scope.harn:258 (__run_pre_turn_scope_classifier); crates/harn-stdlib/src/stdlib/agent/loop_turn_setup.harn:130 (__agent_loop_turn_setup); crates/harn-stdlib/src/stdlib/agent/options_formats.harn:135 (__tool_format_route); crates/harn-stdlib/src/stdlib/agent/options_formats.harn:476 (__capability_gap_event); crates/harn-stdlib/src/stdlib/agent/options_public.harn:427 (__agent_route_identity); crates/harn-stdlib/src/stdlib/agent/postturn.harn:422 (__missing_tool_call_recovery_config); crates/harn-stdlib/src/stdlib/agent/postturn.harn:1064 (agent_compute_post_turn); crates/harn-stdlib/src/stdlib/agent/postturn.harn:423 (__missing_tool_call_recovery_config); crates/harn-stdlib/src/stdlib/agent/state.harn:290 (agent_session_record_usage); crates/harn-stdlib/src/stdlib/agent/tool_search.harn:64 (__tool_search_provider_has_native); crates/harn-stdlib/src/stdlib/agent/tool_search.harn:65 (__tool_search_provider_has_native); crates/harn-stdlib/src/stdlib/agent/tool_search.harn:79 (__tool_search_provider_has_native); crates/harn-stdlib/src/stdlib/agent/tool_search.harn:80 (__tool_search_provider_has_native) | 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 |
| AgentSpec.model_role | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:89 (model-registry-key-domain) | unknown: Static declaration/read only; downstream headless binding not observed. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.model_tier | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:90 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.models | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-stdlib/src/stdlib/llm/options.harn:225 (explicit-routing-key-domain); crates/harn-builtin-meta/src/llm_options.rs:97 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.provider | harn | dynamic: observed local fallback ""; normalization may override | crates/harn-builtin-meta/src/llm_options.rs:91 (model-registry-key-domain); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:187 (__compact_options); crates/harn-stdlib/src/stdlib/agent/autocompact.harn:188 (__compact_options); 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); crates/harn-stdlib/src/stdlib/agent/llm_dispatch.harn:127 (__dispatch_emit_call_start); crates/harn-stdlib/src/stdlib/agent/loop_lifecycle.harn:56 (agent_loop_run_settings); crates/harn-stdlib/src/stdlib/agent/loop_provider_failure.harn:97 (agent_loop_provider_failure); crates/harn-stdlib/src/stdlib/agent/loop_run.harn:44 (__agent_loop_run); crates/harn-stdlib/src/stdlib/agent/loop_support.harn:311 (__agent_loop_enable_equivalent_failover); crates/harn-stdlib/src/stdlib/agent/loop_support.harn:602 (__agent_loop_with_llm_render_context); crates/harn-stdlib/src/stdlib/agent/loop_tool_calls.harn:241 (__tool_envelope); crates/harn-stdlib/src/stdlib/agent/loop_tool_calls.harn:377 (__run_structural_validator); crates/harn-stdlib/src/stdlib/agent/loop_turn_options.harn:1275 (agent_loop_demote_empty_turn); crates/harn-stdlib/src/stdlib/agent/loop_turn_options.harn:932 (__agent_loop_emit_provider_error); crates/harn-stdlib/src/stdlib/agent/loop_turn_scope.harn:144 (__run_input_guardrail); crates/harn-stdlib/src/stdlib/agent/loop_turn_scope.harn:257 (__run_pre_turn_scope_classifier); crates/harn-stdlib/src/stdlib/agent/loop_turn_setup.harn:129 (__agent_loop_turn_setup); crates/harn-stdlib/src/stdlib/agent/options_formats.harn:114 (__explicit_provider); crates/harn-stdlib/src/stdlib/agent/options_public.harn:426 (__agent_route_identity); crates/harn-stdlib/src/stdlib/agent/postturn.harn:419 (__missing_tool_call_recovery_config); crates/harn-stdlib/src/stdlib/agent/postturn.harn:1063 (agent_compute_post_turn); crates/harn-stdlib/src/stdlib/agent/postturn.harn:420 (__missing_tool_call_recovery_config); crates/harn-stdlib/src/stdlib/agent/postturn.harn:438 (__missing_tool_call_recovery_classifier); crates/harn-stdlib/src/stdlib/agent/state.harn:289 (agent_session_record_usage); crates/harn-stdlib/src/stdlib/agent/tool_search.harn:66 (__tool_search_provider_has_native); crates/harn-stdlib/src/stdlib/agent/tool_search.harn:79 (__tool_search_provider_has_native); crates/harn-stdlib/src/stdlib/agent/tool_search.harn:67 (__tool_search_provider_has_native); crates/harn-stdlib/src/stdlib/agent/tool_search.harn:80 (__tool_search_provider_has_native) | 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 |
| AgentSpec.rate_limit_consumer_id | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-builtin-meta/src/llm_options.rs:104 (model-registry-key-domain); crates/harn-vm/src/llm/helpers/options/extract.rs:175 (opt_str) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.route_policy | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-stdlib/src/stdlib/llm/options.harn:227 (explicit-routing-key-domain); crates/harn-builtin-meta/src/llm_options.rs:93 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.routing | harn | dynamic: options pass through agent model normalization; provider/model catalog and llm_call own the omitted-value policy | crates/harn-stdlib/src/stdlib/llm/options.harn:224 (explicit-routing-key-domain); crates/harn-builtin-meta/src/llm_options.rs:95 (model-registry-key-domain) | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Public model/provider control rather than a recovery experiment; preserve until its owning API contract is reviewed. / 2026-09-13 |
| AgentSpec.completion_tool | harn | false | crates/harn-stdlib/src/stdlib/agent/completion_claim.harn:141 (agent_completion_claim_apply_options) | unknown: completion_claim.agent_completion_claim_apply_options defaults the typed completion claim tool off. 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 |
| AgentSpec.done_sentinel | harn | dynamic: observed local fallback "the configured done sentinel"; normalization may override | crates/harn-vm/src/llm/helpers/options/extract.rs:925 (opt_str); crates/harn-vm/src/llm/helpers/options/extract.rs:926 (opt_str); crates/harn-stdlib/src/stdlib/agent/judge.harn:681 (__done_contract_primary_prompt); crates/harn-stdlib/src/stdlib/agent/loop_turn_scope.harn:420 (__agent_loop_wrapup_response_protocol_tail); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:595 (__validate_agent_loop_completion_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:596 (__validate_agent_loop_completion_options); crates/harn-stdlib/src/stdlib/agent/postturn.harn:39 (__default_done_sentinel); crates/harn-stdlib/src/stdlib/agent/preflight.harn:17 (__agent_done_sentinel) | 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 |
| AgentSpec.exit_when_verified | harn | dynamic: observed local fallback false; normalization may override | crates/harn-stdlib/src/stdlib/agent/preflight.harn:265 (__agent_loop_contract_prompt) | 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 |
| AgentSpec.final_wrapup | harn | true; owner loop_run/loop_finalize/loop_resource_dispatch/loop_call_budget/loop_turn_scope | crates/harn-stdlib/src/stdlib/agent/loop_finalize.harn:82 (__agent_loop_finalize) | 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 |
| AgentSpec.loop_until_done | harn | dynamic: observed local fallback false; normalization may override | crates/harn-stdlib/src/stdlib/agent/postturn.harn:199 (__native_completion_context); crates/harn-stdlib/src/stdlib/agent/preflight.harn:256 (__agent_loop_contract_prompt) | 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 |
| AgentSpec.max_nudges | harn | 8 for tool_using profile; options_formats.harn:15 owns other profiles | unknown: Typed configuration declaration; no resolved runtime reader in current bounded pass. Dynamic forwarding remains possible. | KEEP-with-expiry | Retain public configuration until its owning normalization and caller contract are reviewed; not classified as an experiment. / 2026-09-13 | |
| AgentSpec.max_verify_attempts | harn | 20; owner loop_run/loop_finalize/loop_resource_dispatch/loop_call_budget/loop_turn_scope | crates/harn-vm/src/llm/agent_session_host/lifecycle.rs:137 (opt_int); crates/harn-stdlib/src/stdlib/agent/loop_lifecycle.harn:59 (agent_loop_run_settings); crates/harn-stdlib/src/stdlib/agent/loop_run.harn:88 (__agent_loop_run) | 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 |
| AgentSpec.require_action_or_yield | harn | dynamic: observed local fallback false; normalization may override | crates/harn-stdlib/src/stdlib/agent/preflight.harn:411 (__agent_text_tool_contract_prompt) | 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 |
| AgentSpec.require_artifacts | harn | empty list | unknown: AgentExecutionSpec documents an empty default that checks no paths; canonical reachability remains unmeasured. 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 | |
| AgentSpec.require_successful_tools | harn | empty list | crates/harn-stdlib/src/stdlib/workflow/options.harn:343 (workflow-loop-key-domain); crates/harn-stdlib/src/stdlib/agent/postturn.harn:305 (__required_tools_text_completion); crates/harn-stdlib/src/stdlib/agent/required_tools.harn:48 (__agent_required_tools_from_options) | unknown: required_tools.__agent_required_tools_from_options returns no required tools when omitted. 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 |
| AgentSpec.step_judge | harn | absent; skip the step judge as not_configured | crates/harn-stdlib/src/stdlib/agent/loop_run.harn:741 (__agent_loop_run); crates/harn-stdlib/src/stdlib/agent/step_judge.harn:238 (agent_step_judge) | unknown: step_judge.agent_step_judge returns an explicit skipped result when configuration 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 |
| AgentSpec.stop_after_successful_tools | harn | dynamic: observed local fallback []; normalization may override | crates/harn-stdlib/src/stdlib/workflow/options.harn:342 (workflow-loop-key-domain); crates/harn-stdlib/src/stdlib/agent/loop_resource_dispatch.harn:1279 (__dispatch_tool_calls); crates/harn-stdlib/src/stdlib/agent/loop_resource_dispatch.harn:117 (__tool_batch_call_classification); crates/harn-stdlib/src/stdlib/agent/postturn.harn:179 (__stop_after_successful_tools) | 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 |
| AgentSpec.terminal_callback | harn | absent; no callback verdict | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:728 (__validate_agent_loop_callback_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:729 (__validate_agent_loop_callback_options); crates/harn-stdlib/src/stdlib/agent/postturn.harn:162 (__terminal_callback_verdict) | unknown: postturn.__terminal_callback_verdict returns kind none when the callback 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 |
| AgentSpec.turn_end_condition | harn | absent; no turn-end judge | crates/harn-stdlib/src/stdlib/agent/completion_claim.harn:194 (__completion_claim_requirement_ids); crates/harn-stdlib/src/stdlib/agent/judge.harn:924 (__completion_policy_plan); crates/harn-stdlib/src/stdlib/agent/judge.harn:1001 (__completion_boundary_ledger); crates/harn-stdlib/src/stdlib/agent/loop_finalize.harn:205 (__agent_loop_project_terminal_result); crates/harn-stdlib/src/stdlib/agent/loop_finalize.harn:211 (__agent_loop_project_terminal_result); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:631 (__validate_agent_loop_completion_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:632 (__validate_agent_loop_completion_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:633 (__validate_agent_loop_completion_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:634 (__validate_agent_loop_completion_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:635 (__validate_agent_loop_completion_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:638 (__validate_agent_loop_completion_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:643 (__validate_agent_loop_completion_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:648 (__validate_agent_loop_completion_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:653 (__validate_agent_loop_completion_options); crates/harn-stdlib/src/stdlib/agent/postturn.harn:992 (__arbitrate_stalled_toolless_turn); crates/harn-stdlib/src/stdlib/agent/turn_end.harn:184 (__agent_turn_end_judge_stall_cadence); crates/harn-stdlib/src/stdlib/agent/turn_end.harn:58 (__turn_end_condition_config) | unknown: options_public.agent_loop_options materializes this judge only when explicitly configured. 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 |
| AgentSpec.verify_completion | harn | absent; no deterministic completion callback | crates/harn-stdlib/src/stdlib/agent/judge.harn:908 (__completion_policy_plan); crates/harn-stdlib/src/stdlib/agent/judge.harn:909 (__completion_policy_plan); crates/harn-stdlib/src/stdlib/agent/loop_turn_options.harn:117 (__agent_loop_verify_closure_exists); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:598 (__validate_agent_loop_completion_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:599 (__validate_agent_loop_completion_options); crates/harn-stdlib/src/stdlib/agent/postturn.harn:795 (__completion_result) | unknown: judge.__completion_policy_plan adds a deterministic stage only when a callback 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 |
| AgentSpec.verify_completion_judge | harn | absent; no verification judge | crates/harn-stdlib/src/stdlib/agent/completion_claim.harn:187 (__completion_claim_requirement_ids); crates/harn-stdlib/src/stdlib/agent/judge.harn:911 (__completion_policy_plan); crates/harn-stdlib/src/stdlib/agent/judge.harn:995 (__completion_boundary_ledger); crates/harn-stdlib/src/stdlib/agent/loop_finalize.harn:185 (__agent_loop_project_terminal_result); crates/harn-stdlib/src/stdlib/agent/loop_finalize.harn:192 (__agent_loop_project_terminal_result); crates/harn-stdlib/src/stdlib/agent/loop_turn_options.harn:117 (__agent_loop_verify_closure_exists); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:601 (__validate_agent_loop_completion_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:602 (__validate_agent_loop_completion_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:603 (__validate_agent_loop_completion_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:604 (__validate_agent_loop_completion_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:607 (__validate_agent_loop_completion_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:612 (__validate_agent_loop_completion_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:617 (__validate_agent_loop_completion_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:622 (__validate_agent_loop_completion_options); crates/harn-stdlib/src/stdlib/agent/options_validation.harn:627 (__validate_agent_loop_completion_options); crates/harn-stdlib/src/stdlib/agent/postturn.harn:795 (__completion_result) | unknown: options_public.agent_loop_options materializes this judge only when explicitly configured. 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 |
| AgentSpec.wrapup_context | harn | empty dictionary | crates/harn-stdlib/src/stdlib/agent/loop_turn_scope.harn:498 (__agent_loop_effective_wrapup_context); crates/harn-stdlib/src/stdlib/agent/loop_turn_scope.harn:497 (__agent_loop_effective_wrapup_context) | unknown: loop_turn_scope.__agent_loop_effective_wrapup_context treats an absent or non-dictionary host context as empty. 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 |
| AgentSpec.wrapup_directive | harn | empty string: use canonical terminal instruction; owner loop_run/loop_finalize/loop_resource_dispatch/loop_call_budget/loop_turn_scope | crates/harn-stdlib/src/stdlib/agent/loop_turn_scope.harn:461 (__agent_loop_wrapup_directive); crates/harn-stdlib/src/stdlib/agent/loop_turn_scope.harn:481 (__agent_loop_has_host_wrapup_directive) | 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 |
| AgentSpec.output.schema | harn | absent; no output-schema contract | crates/harn-stdlib/src/stdlib/agent/llm_dispatch.harn:145 (__dispatch_structured_output_schema); crates/harn-stdlib/src/stdlib/agent/llm_dispatch.harn:146 (__dispatch_structured_output_schema); crates/harn-stdlib/src/stdlib/agent/loop_support.harn:165 (__agent_loop_output_contract); crates/harn-stdlib/src/stdlib/agent/loop_support.harn:166 (__agent_loop_output_contract) | unknown: Structural read at crates/harn-stdlib/src/stdlib/agent/loop_support.harn:165; canonical host binding has not been observed. | KEEP-with-expiry | Explicit configuration consumed by the owning module; retain until the typed runner/stop/stall migration settles this seam. / 2026-09-13 |
| MissingToolCallRecoveryOptions.output_contract | harn | true | crates/harn-stdlib/src/stdlib/agent/loop_support.harn:196 (__agent_loop_next_tool_output_contract) | unknown: Structural read at crates/harn-stdlib/src/stdlib/agent/loop_support.harn:196; canonical host binding has not been observed. | KEEP-with-expiry | Explicit configuration consumed by the owning module; retain until the typed runner/stop/stall migration settles this seam. / 2026-09-13 |
| AgentSpec.mcp_context.initialize_advisory | harn | absent; advisory omitted | crates/harn-stdlib/src/stdlib/agent/preflight.harn:505 (__agent_mcp_initialize_advisory_prompt) | unknown: Structural read at crates/harn-stdlib/src/stdlib/agent/preflight.harn:505; canonical host binding has not been observed. | KEEP-with-expiry | Explicit configuration consumed by the owning module; retain until the typed runner/stop/stall migration settles this seam. / 2026-09-13 |
| AgentSpec.policy.tools | harn | absent; inherit the owning tool policy | crates/harn-stdlib/src/stdlib/agent/mcp.harn:172 (__with_mcp_tool_ceiling); crates/harn-stdlib/src/stdlib/agent/stance.harn:79 (__stance_policy_patch) | unknown: Structural read at crates/harn-stdlib/src/stdlib/agent/stance.harn:79; canonical host binding has not been observed. | KEEP-with-expiry | Explicit configuration consumed by the owning module; retain until the typed runner/stop/stall migration settles this seam. / 2026-09-13 |
| StageSpec.retry_policy.max_attempts | harn | 1; explicit retry policy takes precedence | crates/harn-stdlib/src/stdlib/workflow/stage.harn:836 (__stage_max_attempts) | unknown: Structural read at crates/harn-stdlib/src/stdlib/workflow/stage.harn:836; canonical host binding has not been observed. | KEEP-with-expiry | Explicit configuration consumed by the owning module; retain until the typed runner/stop/stall migration settles this seam. / 2026-09-13 |
| HARN_LLM_TRANSCRIPT_VERBOSE | harn | false | crates/harn-vm/src/llm/agent_observe.rs:156 (env_flag_enabled) | unknown: Structural environment access/declaration at crates/harn-vm/src/llm/agent_observe.rs:156; canonical headless use is not observed by a source scan. | KEEP-with-expiry | The environment registry retains ownership of name/value validation. Keep this consumer input until the corresponding typed configuration boundary is reviewed. / 2026-09-13 |
| HARN_LLM_TRANSCRIPT_RAW | harn | false | crates/harn-vm/src/llm/agent_observe/raw_provider_capture.rs:46 (super::env_flag_enabled) | unknown: Structural environment access/declaration at crates/harn-vm/src/llm/agent_observe/raw_provider_capture.rs:46; canonical headless use is not observed by a source scan. | KEEP-with-expiry | The environment registry retains ownership of name/value validation. Keep this consumer input until the corresponding typed configuration boundary is reviewed. / 2026-09-13 |
| HARN_LLM_TRANSCRIPT_DIR | harn | unset; use the ambient transcript directory | crates/harn-vm/src/llm/agent_observe/transcript_ambient.rs:217 (std::env::var) | unknown: Structural environment access/declaration at crates/harn-vm/src/llm/agent_observe/transcript_ambient.rs:217; canonical headless use is not observed by a source scan. | KEEP-with-expiry | The environment registry retains ownership of name/value validation. Keep this consumer input until the corresponding typed configuration boundary is reviewed. / 2026-09-13 |
| HARN_DEBUG_MESSAGE_SHAPES | harn | false | crates/harn-vm/src/llm/api/openai_normalize.rs:389 (std::env::var) | unknown: Structural environment access/declaration at crates/harn-vm/src/llm/api/openai_normalize.rs:389; canonical headless use is not observed by a source scan. | DELETE | Remove the separate debug-print switch during the runner cleanup; inspect structured provider/transcript evidence instead. / none |
| HARN_LLM_TIMEOUT | harn | 120 seconds | crates/harn-vm/src/llm/api/options.rs:1283 (std::env::var) | unknown: Structural environment access/declaration at crates/harn-vm/src/llm/api/options.rs:1283; canonical headless use is not observed by a source scan. | KEEP-with-expiry | The environment registry retains ownership of name/value validation. Keep this consumer input until the corresponding typed configuration boundary is reviewed. / 2026-09-13 |
| OLLAMA_HOST | harn | unset; use the default Ollama endpoint | crates/harn-vm/src/llm/api/transport_stub_tests.rs:521 (std::env::var); crates/harn-vm/src/llm/api/transport_stub_tests.rs:655 (std::env::var); crates/harn-vm/src/llm/api/transport_stub_tests.rs:1126 (std::env::var); crates/harn-vm/src/llm/api/transport_stub_tests.rs:1292 (std::env::var); crates/harn-vm/src/llm/api/ollama.rs:120 (OLLAMA_HOST_ENV) | unknown: Structural environment access/declaration at crates/harn-vm/src/llm/api/transport_stub_tests.rs:521; canonical headless use is not observed by a source scan. | KEEP-with-expiry | The environment registry retains ownership of name/value validation. Keep this consumer input until the corresponding typed configuration boundary is reviewed. / 2026-09-13 |
| HARN_OLLAMA_NUM_CTX | harn | 32768 | crates/harn-vm/src/llm/api/transport_stub_tests.rs:1127 (std::env::var); crates/harn-vm/src/llm/api/ollama.rs:116 (HARN_OLLAMA_NUM_CTX_ENV) | unknown: Structural environment access/declaration at crates/harn-vm/src/llm/api/transport_stub_tests.rs:1127; canonical headless use is not observed by a source scan. | KEEP-with-expiry | The environment registry retains ownership of name/value validation. Keep this consumer input until the corresponding typed configuration boundary is reviewed. / 2026-09-13 |
| HARN_OLLAMA_KEEP_ALIVE | harn | 30m | crates/harn-vm/src/llm/api/transport_stub_tests.rs:1128 (std::env::var); crates/harn-vm/src/llm/api/ollama.rs:117 (HARN_OLLAMA_KEEP_ALIVE_ENV) | unknown: Structural environment access/declaration at crates/harn-vm/src/llm/api/transport_stub_tests.rs:1128; canonical headless use is not observed by a source scan. | KEEP-with-expiry | The environment registry retains ownership of name/value validation. Keep this consumer input until the corresponding typed configuration boundary is reviewed. / 2026-09-13 |
| LOCAL_LLM_BASE_URL | harn | unset; use the configured local provider endpoint | crates/harn-vm/src/llm/api/transport_stub_tests.rs:1417 (std::env::var) | unknown: Structural environment access/declaration at crates/harn-vm/src/llm/api/transport_stub_tests.rs:1417; canonical headless use is not observed by a source scan. | KEEP-with-expiry | The environment registry retains ownership of name/value validation. Keep this consumer input until the corresponding typed configuration boundary is reviewed. / 2026-09-13 |
| LOCAL_LLM_MODEL | harn | unset; use the configured local provider model | crates/harn-vm/src/llm/config_builtins/healthcheck_builtins.rs:43 (crate::test_env::env_var_seamed) | unknown: Structural environment access/declaration at crates/harn-vm/src/llm/config_builtins/healthcheck_builtins.rs:43; canonical headless use is not observed by a source scan. | KEEP-with-expiry | The environment registry retains ownership of name/value validation. Keep this consumer input until the corresponding typed configuration boundary is reviewed. / 2026-09-13 |
| HARN_CANON_ROOT | harn | unset; use the canonical memory root resolver | crates/harn-stdlib/src/stdlib/agent/canon.harn:148 (get_or); crates/harn-stdlib/src/stdlib/agent/canon.harn:502 (get_or) | unknown: Structural environment access/declaration at crates/harn-stdlib/src/stdlib/agent/canon.harn:148; canonical headless use is not observed by a source scan. | KEEP-with-expiry | The environment registry retains ownership of name/value validation. Keep this consumer input until the corresponding typed configuration boundary is reviewed. / 2026-09-13 |
| HARN_BIN | harn | harn on PATH | crates/harn-stdlib/src/stdlib/agent/crystallization_curator.harn:221 (get) | unknown: Structural environment access/declaration at crates/harn-stdlib/src/stdlib/agent/crystallization_curator.harn:221; canonical headless use is not observed by a source scan. | KEEP-with-expiry | The environment registry retains ownership of name/value validation. Keep this consumer input until the corresponding typed configuration boundary is reviewed. / 2026-09-13 |
| HARN_OLLAMA_UNLOAD_GRACE_MS | harn | 10000 | crates/harn-vm/src/llm/api/ollama.rs:118 (HARN_OLLAMA_UNLOAD_GRACE_MS_ENV) | unknown: Structural environment access/declaration at crates/harn-vm/src/llm/api/ollama.rs:118; canonical headless use is not observed by a source scan. | KEEP-with-expiry | The environment registry retains ownership of name/value validation. Keep this consumer input until the corresponding typed configuration boundary is reviewed. / 2026-09-13 |
| OLLAMA_UNLOAD_GRACE_MS | harn | 10000; HARN_OLLAMA_UNLOAD_GRACE_MS takes precedence | crates/harn-vm/src/llm/api/ollama.rs:119 (OLLAMA_UNLOAD_GRACE_MS_ENV) | unknown: Structural environment access/declaration at crates/harn-vm/src/llm/api/ollama.rs:119; canonical headless use is not observed by a source scan. | KEEP-with-expiry | The environment registry retains ownership of name/value validation. Keep this consumer input until the corresponding typed configuration boundary is reviewed. / 2026-09-13 |
| HARN_HARNESS | harn | harn | crates/harn-vm/src/llm/introspection.rs:38 (HARN_HARNESS_ENV) | unknown: Structural environment access/declaration at crates/harn-vm/src/llm/introspection.rs:38; canonical headless use is not observed by a source scan. | KEEP-with-expiry | The environment registry retains ownership of name/value validation. Keep this consumer input until the corresponding typed configuration boundary is reviewed. / 2026-09-13 |
| HARN_EFFORT_PROBE_UNGATED | harn | false | crates/harn-vm/src/llm/mod.rs:107 (EFFORT_LADDER_UNGATED_ENV) | unknown: Structural environment access/declaration at crates/harn-vm/src/llm/mod.rs:107; canonical headless use is not observed by a source scan. | KEEP-with-expiry | The environment registry retains ownership of name/value validation. Keep this consumer input until the corresponding typed configuration boundary is reviewed. / 2026-09-13 |
| HARN_LLM_CALLS_DISABLED | harn | false | crates/harn-vm/src/llm/mod.rs:329 (LLM_CALLS_DISABLED_ENV) | unknown: Structural environment access/declaration at crates/harn-vm/src/llm/mod.rs:329; canonical headless use is not observed by a source scan. | KEEP-with-expiry | The environment registry retains ownership of name/value validation. Keep this consumer input until the corresponding typed configuration boundary is reviewed. / 2026-09-13 |
| HARN_LLM_RATE_GOVERNOR | harn | false | crates/harn-vm/src/llm/rate_governor.rs:44 (RATE_GOVERNOR_ENABLED_ENV) | unknown: Structural environment access/declaration at crates/harn-vm/src/llm/rate_governor.rs:44; canonical headless use is not observed by a source scan. | KEEP-with-expiry | The environment registry retains ownership of name/value validation. Keep this consumer input until the corresponding typed configuration boundary is reviewed. / 2026-09-13 |
| HARN_LLM_RATE_LIMIT_DURABLE | harn | true | crates/harn-vm/src/llm/rate_limit.rs:40 (DURABLE_RATE_LIMIT_ENABLED_ENV) | unknown: Structural environment access/declaration at crates/harn-vm/src/llm/rate_limit.rs:40; canonical headless use is not observed by a source scan. | KEEP-with-expiry | The environment registry retains ownership of name/value validation. Keep this consumer input until the corresponding typed configuration boundary is reviewed. / 2026-09-13 |
| HARN_LLM_RATE_LIMIT_STATE_PATH | harn | unset; use the runtime state-root resolver | crates/harn-vm/src/llm/rate_limit.rs:41 (DURABLE_RATE_LIMIT_STATE_PATH_ENV) | unknown: Structural environment access/declaration at crates/harn-vm/src/llm/rate_limit.rs:41; canonical headless use is not observed by a source scan. | KEEP-with-expiry | The environment registry retains ownership of name/value validation. Keep this consumer input until the corresponding typed configuration boundary is reviewed. / 2026-09-13 |
| HARN_LLM_RATE_LIMIT_MAX_WAIT_MS | harn | 30000 | crates/harn-vm/src/llm/rate_limit.rs:52 (DURABLE_RATE_LIMIT_MAX_WAIT_MS_ENV) | unknown: Structural environment access/declaration at crates/harn-vm/src/llm/rate_limit.rs:52; canonical headless use is not observed by a source scan. | KEEP-with-expiry | The environment registry retains ownership of name/value validation. Keep this consumer input until the corresponding typed configuration boundary is reviewed. / 2026-09-13 |
| HARN_STRUCTURAL_EXPERIMENT | harn | unset; no structural experiment | crates/harn-vm/src/llm/structural_experiments.rs:35 (STRUCTURAL_EXPERIMENT_ENV) | unknown: Structural environment access/declaration at crates/harn-vm/src/llm/structural_experiments.rs:35; canonical headless use is not observed by a source scan. | KEEP-with-expiry | The environment registry retains ownership of name/value validation. Keep this consumer input until the corresponding typed configuration boundary is reviewed. / 2026-09-13 |
| HARN_TOOL_FORMAT_FITNESS_PATH | harn | unset; use the default tool-format fitness artifact | crates/harn-vm/src/llm/tool_scorecard/fitness.rs:14 (TOOL_FORMAT_FITNESS_PATH_ENV) | unknown: Structural environment access/declaration at crates/harn-vm/src/llm/tool_scorecard/fitness.rs:14; canonical headless use is not observed by a source scan. | KEEP-with-expiry | The environment registry retains ownership of name/value validation. Keep this consumer input until the corresponding typed configuration boundary is reviewed. / 2026-09-13 |
| AgentSpec.scratchpad.enabled | harn | true when a scratchpad object is supplied; false when scratchpad is absent | crates/harn-stdlib/src/stdlib/agent/scratchpad.harn:78 (agent_scratchpad_options) | unknown: Read by agent_scratchpad_options; no canonical headless activation trace collected. | KEEP-with-expiry | Controls whether the caller supplies persistent working notes. / 2026-09-13 |
| AgentSpec.scratchpad.initial | harn | nil | crates/harn-stdlib/src/stdlib/agent/scratchpad.harn:97 (agent_scratchpad_options) | unknown: Read by agent_scratchpad_options; no canonical headless activation trace collected. | KEEP-with-expiry | Caller-provided initial notes are policy data. / 2026-09-13 |
| AgentSpec.scratchpad.recite | harn | true when scratchpad is enabled | crates/harn-stdlib/src/stdlib/agent/scratchpad.harn:81 (agent_scratchpad_options) | unknown: Read by agent_scratchpad_options; no canonical headless activation trace collected. | KEEP-with-expiry | Controls the projection of working notes into the transcript. / 2026-09-13 |
| AgentSpec.scratchpad.recitation | harn | fallback alias for recite; true when both are absent | crates/harn-stdlib/src/stdlib/agent/scratchpad.harn:81 (agent_scratchpad_options) | unknown: Fallback alias in agent_scratchpad_options. | DELETE | Use the canonical recite field; remove the duplicate spelling. / none |
| AgentSpec.scratchpad.reorganize_every | harn | 3 | crates/harn-stdlib/src/stdlib/agent/scratchpad.harn:84 (agent_scratchpad_options) | unknown: Read by agent_scratchpad_options; no canonical headless activation trace collected. | KEEP-with-expiry | Caller-selected cadence for reorganizing working notes. / 2026-09-13 |
| AgentSpec.scratchpad.reorg_every | harn | fallback alias for reorganize_every; 3 when all cadence fields are absent | crates/harn-stdlib/src/stdlib/agent/scratchpad.harn:84 (agent_scratchpad_options) | unknown: Fallback alias in agent_scratchpad_options. | DELETE | Use the canonical reorganize_every field; remove the duplicate spelling. / none |
| AgentSpec.scratchpad.periodic_reorg_every | harn | fallback alias for reorganize_every; 3 when all cadence fields are absent | crates/harn-stdlib/src/stdlib/agent/scratchpad.harn:84 (agent_scratchpad_options) | unknown: Fallback alias in agent_scratchpad_options. | DELETE | Use the canonical reorganize_every field; remove the duplicate spelling. / none |
| AgentSpec.scratchpad.max_recent_messages | harn | 8 | crates/harn-stdlib/src/stdlib/agent/scratchpad.harn:89 (agent_scratchpad_options) | unknown: Read by agent_scratchpad_options; no canonical headless activation trace collected. | KEEP-with-expiry | Bounds the transcript context used to reorganize working notes. / 2026-09-13 |
| AgentSpec.scratchpad.schema_retries | harn | 1 | crates/harn-stdlib/src/stdlib/agent/scratchpad.harn:94 (agent_scratchpad_options) | unknown: Read by agent_scratchpad_options; no canonical headless activation trace collected. | KEEP-with-expiry | Bounds recovery from malformed note output. / 2026-09-13 |
| AgentSpec.scratchpad.retries | harn | fallback alias for schema_retries; 1 when both are absent | crates/harn-stdlib/src/stdlib/agent/scratchpad.harn:94 (agent_scratchpad_options) | unknown: Fallback alias in agent_scratchpad_options. | DELETE | Use the canonical schema_retries field; remove the ambiguous spelling. / none |
| AgentSpec.scratchpad.reorganizer | harn | {} | crates/harn-stdlib/src/stdlib/agent/scratchpad.harn:100 (agent_scratchpad_options) | unknown: Read by agent_scratchpad_options; no canonical headless activation trace collected. | KEEP-with-expiry | Caller-supplied model policy for reorganizing working notes. / 2026-09-13 |
| AgentSpec.scratchpad.reorganizer_options | harn | fallback alias for reorganizer; {} when all model-policy fields are absent | crates/harn-stdlib/src/stdlib/agent/scratchpad.harn:100 (agent_scratchpad_options) | unknown: Fallback alias in agent_scratchpad_options. | DELETE | Use the canonical reorganizer field; remove the duplicate spelling. / none |
| AgentSpec.scratchpad.llm_options | harn | fallback alias for reorganizer; {} when all model-policy fields are absent | crates/harn-stdlib/src/stdlib/agent/scratchpad.harn:100 (agent_scratchpad_options) | unknown: Fallback alias in agent_scratchpad_options. | DELETE | Use the canonical reorganizer field; remove the duplicate spelling. / none |
| TurnPolicy.tool_examples | harn | AgentSpec.tool_examples, then empty string | crates/harn-stdlib/src/stdlib/agent/preflight.harn:415 (__agent_text_tool_contract_prompt) | unknown: The text tool contract reads turn_policy.tool_examples before the runner fallback. | KEEP-with-expiry | Caller-provided tool examples are prompt policy content. / 2026-09-13 |
| AgentSpec.persistent | harn | absent; a supplied key is rejected | crates/harn-stdlib/src/stdlib/agent/options_validation.harn:589 (__validate_removed_agent_loop_options) | unknown: __validate_removed_agent_loop_options rejects this removed option. | DELETE | Move removed-option rejection to the owning closed input contract and remove the one-off guard. / none |
| AgentBudget.total_budget_usd | harn | nil; no envelope cost ceiling | crates/harn-vm/src/llm/cost.rs:319 (get); crates/harn-stdlib/src/stdlib/agent/budget.harn:47 (agent_budget_post_call_stop_reason); crates/harn-stdlib/src/stdlib/agent/budget.harn:50 (agent_budget_post_call_stop_reason); crates/harn-stdlib/src/stdlib/agent/budget.harn:55 (agent_budget_post_call_stop_reason) | unknown: agent_budget_post_call_stop_reason checks measured or conservatively projected cost after each call. The native pre-call projection currently returns false without inspecting the envelope. | KEEP-with-expiry | Preserve the resource ceiling while consolidating budget admission and removing the inert pre-call projection. / 2026-09-13 |
| AgentSpec.token_budget | harn | nil; no token ceiling | crates/harn-stdlib/src/stdlib/agent/budget.harn:34 (agent_budget_post_call_stop_reason); crates/harn-stdlib/src/stdlib/agent/budget.harn:37 (agent_budget_post_call_stop_reason); crates/harn-stdlib/src/stdlib/agent/budget.harn:38 (agent_budget_post_call_stop_reason) | unknown: agent_budget_post_call_stop_reason compares tokens_used against this ceiling. | KEEP-with-expiry | A caller-selected run resource ceiling. / 2026-09-13 |
| AgentSpec.context_overflow_recover_max | harn | 3; nonnegative integer overrides the default | crates/harn-stdlib/src/stdlib/agent/loop_foundation.harn:326 (__agent_loop_context_overflow_max_recoveries) | unknown: __agent_loop_context_overflow_max_recoveries bounds emergency compaction retries after provider context overflow. | KEEP-with-expiry | Preserve bounded recovery while moving the recovery policy into the typed runner contract. / 2026-09-13 |
| AgentSpec.truncation_auto_continue_max | harn | 2; nonnegative integer overrides the default | crates/harn-stdlib/src/stdlib/agent/loop_foundation.harn:101 (__autocontinue_max_continuations) | unknown: __autocontinue_max_continuations bounds retries after truncated tool calls or hidden-reasoning-only responses. | KEEP-with-expiry | Preserve bounded recovery while moving the recovery policy into the typed runner contract. / 2026-09-13 |
| AgentSpec.truncation_auto_continue_base | harn | 16384; positive integer overrides the default | crates/harn-stdlib/src/stdlib/agent/loop_foundation.harn:121 (__autocontinue_raised_cap); crates/harn-stdlib/src/stdlib/agent/loop_foundation.harn:118 (__autocontinue_raised_cap); crates/harn-stdlib/src/stdlib/agent/loop_foundation.harn:119 (__autocontinue_raised_cap) | unknown: __autocontinue_raised_cap uses this output-token cap when the original call had no explicit cap, then clamps it to the configured ceiling. | KEEP-with-expiry | Preserve explicit recovery resource limits in the typed runner contract. / 2026-09-13 |
| AgentSpec.truncation_auto_continue_ceiling | harn | 32768; positive integer overrides the default | crates/harn-stdlib/src/stdlib/agent/loop_foundation.harn:128 (__autocontinue_raised_cap); crates/harn-stdlib/src/stdlib/agent/loop_foundation.harn:125 (__autocontinue_raised_cap); crates/harn-stdlib/src/stdlib/agent/loop_foundation.harn:126 (__autocontinue_raised_cap) | unknown: __autocontinue_raised_cap clamps the doubled or base output-token cap to this ceiling. | KEEP-with-expiry | Preserve explicit recovery resource limits in the typed runner contract. / 2026-09-13 |
| AgentSpec.user_visible | harn | false | crates/harn-vm/src/llm/agent_config.rs:500 (opt_bool); crates/harn-vm/src/llm/call.rs:756 (helpers::opt_bool) | unknown: The bridge-observed llm_call reads this flag before producing call notifications. | KEEP-with-expiry | Preserve the host visibility contract while consolidating call observation. / 2026-09-13 |
| AgentSpec.initial_user_content | harn | initial_message_content, then the initial message string | crates/harn-vm/src/llm/agent_session_host.rs:517 (opt_json) | unknown: agent_session_host.initial_user_content selects structured initial transcript content. | KEEP-with-expiry | The initial transcript must preserve caller-provided structured content. / 2026-09-13 |
| AgentSpec.initial_message_content | harn | absent; use initial message string | crates/harn-vm/src/llm/agent_session_host.rs:518 (opt_json) | unknown: Fallback alias read by agent_session_host.initial_user_content. | DELETE | Use initial_user_content as the single structured initial-content input. / none |
| AgentSpec.reasoning_mode | harn | standard | crates/harn-vm/src/llm/helpers/options/extract.rs:902 (opt_str) | unknown: The native options extractor delegates catalog validation and execution-mode selection to reasoning_modes.resolve_requested. | KEEP-with-expiry | Model execution-mode intent belongs in the typed model request. / 2026-09-13 |
| RateLimitOptions.max_retries | harn | 5; negative values clamp to zero | crates/harn-vm/src/llm/mod.rs:844 (helpers::opt_int) | unknown: with_rate_limit bounds retry attempts using this helper option. | KEEP-with-expiry | Preserve an explicit retry bound in the owning rate-limit helper. / 2026-09-13 |
| RateLimitOptions.backoff_ms | harn | 1000; values below one clamp to one | crates/harn-vm/src/llm/mod.rs:845 (helpers::opt_int) | unknown: with_rate_limit initializes its retry backoff using this helper option. | KEEP-with-expiry | Preserve bounded retry pacing in the owning rate-limit helper. / 2026-09-13 |
| AgentSpec.reminders.enabled | harn | true; reminders=false also disables providers | crates/harn-vm/src/llm/reminder_providers.rs:1458 (get) | unknown: reminder_providers.enabled_provider_ids returns an empty provider set when this field is false. | KEEP-with-expiry | Keep explicit provider admission policy until the typed runner reminder contract is settled. / 2026-09-13 |
| AgentSpec.reminders.providers | harn | canonical default-enabled providers plus user providers | crates/harn-vm/src/llm/reminder_providers.rs:1475 (get) | unknown: reminder_providers.enabled_provider_ids adds selected ids and removes ids prefixed with a minus sign. | KEEP-with-expiry | Provider admission is caller policy over the canonical provider registry. / 2026-09-13 |
| AgentSpec.reminders.config | harn | absent; provider-specific defaults apply | crates/harn-vm/src/llm/reminder_providers.rs:1696 (get) | unknown: provider_config_json resolves each provider's policy content from this map, then checks the legacy direct provider key. | KEEP-with-expiry | Keep provider policy content as data while eliminating competing configuration shapes. / 2026-09-13 |