Skip to content

Levers

Every behavioral knob in Guildhall is a named lever with a fixed set of positions. Levers are persisted in ./memory/agent-settings.yaml with full provenance (who set it, when, why).

  • 9 project levers — singleton per workspace.
  • 9 domain levers — per coordinator domain, with a default fallback.

How levers get set

On first run, Guildhall seeds every lever with setBy: system-default so there are no invisible defaults. During browser onboarding, meta-intake can infer better starting positions from the project interview. The Spec Agent emits a levers: YAML draft alongside coordinator definitions; when you approve it, Guildhall writes those positions to ./memory/agent-settings.yaml with setBy: spec-agent-intake and the agent's rationale.

The agent should infer only what the conversation supports. Anything uncertain stays at the system default until you change it in Settings or edit the file directly. See Onboarding and levers for the end-to-end flow.

How a lever is stored

yaml
landing_strategy:
  position: cherry_pick_with_push
  rationale: "Land accepted work locally, then push the landing branch to origin"
  setAt: "2026-04-10T11:02:00Z"
  setBy: user-direct

See Provenance for the setter enum.

Project levers

LeverPositionsDefault
concurrent_task_dispatchserial, fanout_Nserial
worktree_isolationnone, per_task, per_attemptper_task
landing_strategycherry_pick_local, cherry_pick_with_push, manual_prcherry_pick_local
rejection_dampeningoff, soft_penalty_after_N, hard_suppress_after_Noff
business_envelope_strictnessstrict, advisory, offadvisory
agent_health_strictnesslax, standard, strictstandard
remediation_autonomyauto, confirm_destructive, confirm_all, pause_all_on_issueconfirm_destructive
runtime_isolationnone, slot_allocationnone
workspace_import_autonomyoff, suggest, applysuggest

Domain levers

Per coordinator domain; one default: entry is required as fallback.

LeverPositionsDefault
task_originationhuman_only, agent_proposed_human_approved, agent_proposed_coordinator_approved, agent_autonomousagent_proposed_coordinator_approved
spec_completenessfull_upfront, stage_appropriate, emergentstage_appropriate
pre_rejection_policyterminal_shelved, requeue_lower_priority, requeue_with_dampeningrequeue_with_dampening
completion_approvalhuman_required, coordinator_sufficient, gates_sufficientcoordinator_sufficient
reviewer_modellm_only, deterministic_only, llm_with_deterministic_fallbackllm_with_deterministic_fallback
reviewer_fanout_policystrict, coordinator_adjudicates_on_conflict, advisory, majoritystrict
max_revisionsinteger3
escalation_on_ambiguityalways, coordinator_first, nevercoordinator_first
crash_recovery_defaultprefer_resume, prefer_restart_clean, pause_for_reviewprefer_resume

Released under the FLL-1.2 License.