# DO NOT EDIT -- overwritten on every update.
#
# Customization surface for bmad-workflow-builder. This governs how the builder
# builds: the org-wide context, standards, budgets, and gates applied to every
# skill it produces. It is distinct from the per-built-skill customize.toml the
# builder decides on during an individual build.
#
# Override files (not edited here):
#   {project-root}/_bmad/custom/bmad-workflow-builder.toml         (team)
#   {project-root}/_bmad/custom/bmad-workflow-builder.user.toml    (personal)

[workflow]

# --- Configurable below. Overrides merge per BMad structural rules: ---
#   scalars: override wins • arrays: append

# Steps to run before standard activation (config load, greet).
# Use for org pre-flight loads or compliance checks.
activation_steps_prepend = []

# Steps to run after greet, before the build/analyze loop begins.
# Use for context-heavy setup once the user has been acknowledged.
activation_steps_append = []

# Standards the builder keeps in mind for the whole session, loaded as context
# into every build and analyze. Each entry is a literal sentence, a `skill:`
# skill, or a `file:` path/glob whose contents load as facts. Use for house
# conventions you want present but not hard-gated (for gates, see build_standards).
#   "Name the output consumer in every skill's overview."
#   "file:{project-root}/_bmad/standards/skill-house-style.md"
persistent_facts = ["file:{project-root}/**/project-context.md"]

# Executed when a build or analyze run completes, after the user has been told
# the artifact is ready. String scalar (one instruction) or array (in order).
on_complete = ""

# --- Builder gates and budgets ---

# Hard standards every BUILT skill must satisfy. Unlike persistent_facts
# (context), these are enforced: applied as build criteria and checked again as
# a conformance pass during Analyze. Each entry is a `skill:`, `file:`, or
# plain-text directive. Append-only. Empty by default (no org gates).
#   "Every skill must ship at least one eval case."
#   "skill:acme-co:security-review"
build_standards = []

# Eval requirement for a build to be declared done. Empty (default) keeps evals
# opt-in, offered at the eval beat but never forced. Set a directive to gate the
# build on evals and to flag their absence during Analyze:
#   "baseline"  -- require a passing baseline run (skill beats the bare model)
#   "any"       -- require at least one eval case to exist and pass
evals_required = ""

# SKILL.md token budget, measured via scripts/count_tokens.py (cl100k_base).
# Tiered: aim under _desired; between _desired and _budget warns the user; over
# _budget is a hard finding the builder resolves by progressive disclosure
# (lifting sections to references/ or assets/) until it is back under budget.
skill_md_token_desired = 2000
skill_md_token_budget = 3000
