← 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 path | Type | Required | Default | Canonical description |
|---|---|---|---|---|
profiles | section | optional | Agent profiles — hooks and reintegration policies. Selection sites accept a single name or an ordered list for composite composition. | |
└ profiles.name | string | required | Profile name. | |
└ profiles.reintegration | map | optional | Merge policy. | |
└ profiles.reintegration.mode | string | optional | Reintegration mode. | |
└ profiles.reintegration.allowed_modes | list[string] | optional | Allowed reintegration modes. | |
└ profiles.reintegration.path_allowlist | list[string] | optional | [drafts/**, .cacophony/profiles/**] | Repository-relative path patterns admitted for profile-owned reintegration. |
└ profiles.reintegration.push_tags | bool | optional | Push semver tags alongside the merge commit during direct reintegration. | |
└ profiles.reintegration.auto_rebase_retry_limit | u32 | optional | Maximum automatic fetch+rebase retries after a direct merge conflict. | |
└ profiles.reintegration.backend | string | optional | Per-profile reintegration backend override (local_merge | pull_request); takes precedence over the project's integration backend for that agent. | |
└ profiles.short_name_strategy | map | optional | Strategy for generating a short human-friendly display name at agent creation time. | |
└ profiles.short_name_strategy.strategy | string | required | Short-name strategy: adj_noun, template or llm. | |
└ profiles.short_name_strategy.template | string | optional | Bounded display template for strategy = template. Placeholders: {adj}, {noun}, {profile}, {bead}, {node}, {n}. Names remain aliases, not identities. | |
└ profiles.short_name_strategy.llm | string | optional | Top-level llm alias used when strategy = llm. | |
└ profiles.checkout_type | string | optional | worktree | How 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_injection | map | optional | Disabled-by-default advisory warmup-cache prompt injection settings for spawned agents. | |
└ profiles.warmup_cache_injection.enabled | bool | optional | false | Enable advisory warmup-cache prompt injection. |
└ profiles.warmup_cache_injection.max_age_seconds | i64 | optional | 86400 | Maximum accepted warmup summary age before skipping injection. |
└ profiles.warmup_cache_injection.max_chars | usize | optional | 2048 | Maximum characters injected from the warmup summary. |
└ profiles.friend_projects | list[friend_project] | optional | Config-declared profile-level friend project overlay. | |
└ profiles.friend_projects.project | string | required | Target project name. | |
└ profiles.friend_projects.branch | string | optional | Target branch; omitted means the friend project's default_branch. Mutually exclusive with revision. | |
└ profiles.friend_projects.revision | string | optional | Pinned git revision. Mutually exclusive with branch. | |
└ profiles.friend_projects.permissions | list[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.materialize | bool | optional | false | Materialize a real friend checkout cloned from the friend project's remote; omitted means a virtual friend with no checkout. |
└ profiles.friend_projects.enabled | bool | optional | true | Set false in a narrower layer to disable an inherited friend. |