← Schema index / Config Reference

profiles schema

Canonical generated docsThis section is generated from caco config schema --json. The table below preserves the runtime field path, type, required/default markers, and canonical description for every value in this slice.

Agent profiles — hooks and reintegration policies. Selection sites accept a single name or an ordered list for composite composition.

Field pathTypeRequiredDefaultCanonical description
profilessectionoptionalAgent profiles — hooks and reintegration policies. Selection sites accept a single name or an ordered list for composite composition.
└ profiles.namestringrequiredProfile name.
└ profiles.reintegrationmapoptionalMerge policy.
└ profiles.reintegration.modestringoptionalReintegration mode.
└ profiles.reintegration.allowed_modeslist[string]optionalAllowed reintegration modes.
└ profiles.reintegration.path_allowlistlist[string]optional[drafts/**, .cacophony/profiles/**]Repository-relative path patterns admitted for profile-owned reintegration.
└ profiles.reintegration.push_tagsbooloptionalPush semver tags alongside the merge commit during direct reintegration.
└ profiles.reintegration.auto_rebase_retry_limitu32optionalMaximum automatic fetch+rebase retries after a direct merge conflict.
└ profiles.reintegration.backendstringoptionalPer-profile reintegration backend override (local_merge | pull_request); takes precedence over the project's integration backend for that agent.
└ profiles.short_name_strategymapoptionalStrategy for generating a short human-friendly display name at agent creation time.
└ profiles.short_name_strategy.strategystringrequiredShort-name strategy: adj_noun, template or llm.
└ profiles.short_name_strategy.templatestringoptionalBounded display template for strategy = template. Placeholders: {adj}, {noun}, {profile}, {bead}, {node}, {n}. Names remain aliases, not identities.
└ profiles.short_name_strategy.llmstringoptionalTop-level llm alias used when strategy = llm.
└ profiles.checkout_typestringoptionalworktreeHow this profile's agents materialize their working checkout: worktree (default; a git worktree sharing the canonical.git, fastest startup), clone, full, read_only_symlink, or pr_branch (an existing GitHub PR head branch; requires github_integration.enabled,). made worktree the default.
└ profiles.warmup_cache_injectionmapoptionalDisabled-by-default advisory warmup-cache prompt injection settings for spawned agents.
└ profiles.warmup_cache_injection.enabledbooloptionalfalseEnable advisory warmup-cache prompt injection.
└ profiles.warmup_cache_injection.max_age_secondsi64optional86400Maximum accepted warmup summary age before skipping injection.
└ profiles.warmup_cache_injection.max_charsusizeoptional2048Maximum characters injected from the warmup summary.
└ profiles.friend_projectslist[friend_project]optionalConfig-declared profile-level friend project overlay.
└ profiles.friend_projects.projectstringrequiredTarget project name.
└ profiles.friend_projects.branchstringoptionalTarget branch; omitted means the friend project's default_branch. Mutually exclusive with revision.
└ profiles.friend_projects.revisionstringoptionalPinned git revision. Mutually exclusive with branch.
└ profiles.friend_projects.permissionslist[string]optional[checkout_read]Granted operations: checkout_read, checkout_write, beads_read, beads_create, beads_update, beads_claim, beads_close, beads_dispatch.
└ profiles.friend_projects.materializebooloptionalfalseMaterialize a real friend checkout cloned from the friend project's remote; omitted means a virtual friend with no checkout.
└ profiles.friend_projects.enabledbooloptionaltrueSet false in a narrower layer to disable an inherited friend.