# DO NOT EDIT -- overwritten on every update.
#
# Workflow customization surface for bmad-brainstorming.
#
# Override files (not edited here):
#   {project-root}/_bmad/custom/bmad-brainstorming.toml         (team)
#   {project-root}/_bmad/custom/bmad-brainstorming.user.toml    (personal)

[workflow]

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

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

# Steps to run after greet but before facilitation begins.
# Use for context-heavy setup that should happen once the user has been acknowledged.
activation_steps_append = []

# Persistent facts the facilitator keeps in mind for the whole session
# (domain constraints, house rules, stylistic guardrails). Each entry is a
# literal sentence, a skill prefixed with `skill:`, or a `file:`-prefixed
# path/glob whose contents are loaded as facts. Default loads project-context.md
# if bmad-generate-project-context has produced one, giving the facilitator
# persistent awareness of the project's domain without re-asking.
persistent_facts = [
  "file:{project-root}/**/project-context.md",
]

# The technique library loaded on demand during the session. Swap the path in
# team/user TOML to ship a different or extended catalog of creative methods.
# Kept `{skill-root}`-anchored so it resolves regardless of the working directory
# (brain.py is always invoked with `--file {workflow.brain_methods}`).
brain_methods = "{skill-root}/assets/brain-methods.csv"

# Techniques the facilitator should reach for first. When proposing a method
# (the AI-led default), it prefers these where they fit the goal before ranging
# wider. Names should match an entry in the library or in additional_techniques.
# Append-merges, so a team list and a personal list both contribute. Empty = no
# preference; the facilitator chooses purely on fit.
#
# Example (set in team/user override TOML):
#   favorite_techniques = ["SCAMPER", "Six Thinking Hats", "First Principles"]
favorite_techniques = []

# Extra techniques — and whole new categories — merged into the catalog the
# facilitator chooses from, without editing the shipped CSV. Each entry mirrors
# the library's shape (category, technique_name, description); a new category is
# just a category value the CSV doesn't have. Entries append, so teams and users
# can each grow the library. The facilitator treats these as first-class
# alongside brain_methods across every flow — facilitator-chosen, browse,
# category draws, and inventive.
#
# Example (set in team/user override TOML):
#   [[workflow.additional_techniques]]
#   category = "domain-specific"
#   technique_name = "Regulatory Inversion"
#   description = "Start from the compliance constraint and brainstorm what becomes possible only because of it — turn the rule into a generative frame rather than a limit."
additional_techniques = []

# Session output location. The running log and any final artifacts land inside
# `{output_dir}/{output_folder_name}/`. `{topic_slug}` is filled from the session
# topic so each topic gets its own folder — a user can brainstorm several topics
# without collision. The resume check globs `{output_dir}/*/.memlog.md`.
output_dir = "{output_folder}/brainstorming"
output_folder_name = "brainstorm-{topic_slug}-{date}"

# Executed when the session completes (after artifacts are produced and the user
# has the paths). Accepts a string scalar (single instruction) or an array of
# instructions executed in order. Empty for none.
on_complete = ""

# External-handoff routing. Natural-language directives applied after artifacts
# are produced, to route them beyond local files (Confluence, Notion, Drive,
# etc.). Each entry names the MCP tool, the destination, and the fields it needs.
# URLs/IDs returned are surfaced to the user. If a named tool is unavailable at
# runtime, the handoff is skipped and flagged; local files always exist. Empty
# by default.
#
# Example (set in team/user override TOML):
#   "After artifacts are produced, upload brainstorm.html to Confluence via corp:confluence_upload (space_key='IDEAS', parent_page='Brainstorms', author={user_name})."
external_handoffs = []
