diff --git a/docs/configuration-guide.md b/docs/configuration-guide.md index 8730cb1..406e072 100644 --- a/docs/configuration-guide.md +++ b/docs/configuration-guide.md @@ -66,12 +66,37 @@ Notes: ## Key Settings +### Autonomy + Work-Item Orchestration +- `autonomy.level` (string) — L1/L2/L3 autonomy mode +- `autonomy.work_item_pipeline_enabled` (bool, default `true`) — auto-run `create-work-items` -> `plan-work-items` -> `run-work-items` when actionable findings/comments are detected +- `autonomy.work_item_pipeline_mode` (string, default `batch_auto`) — confirmation behavior for actionable finding ingestion + - `batch_auto`: no extra confirmation + - `batch_confirm`: one grouped confirmation + - `item_confirm`: per-item confirmation + +Example: + +```json +{ + "autonomy": { + "work_item_pipeline_enabled": true, + "work_item_pipeline_mode": "batch_auto" + } +} +``` + ### Git - `git.privacy` (bool) — strip AI mentions from commits/PRs - `git.privacy_patterns` (array) - `git.branch_protection` (bool) - `git.default_branch` (string) - `git.require_pr_for_main` (bool) +- `git.worktree_branch_behavior` (string, optional) — controls isolation for implementation work + - `always_new`: always create a dedicated worktree + `codex/*` branch + - `ask`: ask per scoped work unit + - `current_branch`: allow current branch flow (still subject to safety rules) + +If `git.worktree_branch_behavior` is not set, process/commit/release flows must ask for preferred behavior and persist it in project/user `ica.config.json`. ### Paths - `paths.story_path`, `paths.bug_path`, `paths.memory_path` @@ -88,3 +113,24 @@ Notes: ### Models Model selection is **user‑controlled via Claude Code settings** (`.claude/settings.json` or `~/.claude/settings.json`) or `/model`. + +## Source Registry Publish Settings + +Skill publishing defaults are stored in the source registry (`~/.ica/sources.json` or `$ICA_STATE_HOME/sources.json`), not in `ica.config.json`. + +Per-source publish fields: + +- `publishDefaultMode`: `direct-push` | `branch-only` | `branch-pr` +- `defaultBaseBranch`: target branch for publish operations +- `providerHint`: `github` | `gitlab` | `bitbucket` | `unknown` +- `officialContributionEnabled`: marks a source as eligible for official contribution flow + +Update via CLI: + +```bash +node dist/src/installer-cli/index.js sources update --id=my-source \ + --publish-default-mode=branch-pr \ + --default-base-branch=main \ + --provider-hint=github \ + --official-contribution-enabled=false +``` diff --git a/ica.config.default.json b/ica.config.default.json index 9eaeaf6..e3bd212 100644 --- a/ica.config.default.json +++ b/ica.config.default.json @@ -6,6 +6,8 @@ "autonomy": { "level": "L2", "pm_always_active": true, + "work_item_pipeline_enabled": true, + "work_item_pipeline_mode": "batch_auto", "l3_settings": { "max_parallel": 5, "auto_discover": true, diff --git a/src/schemas/ica.config.schema.json b/src/schemas/ica.config.schema.json index 8568f1b..edfb520 100644 --- a/src/schemas/ica.config.schema.json +++ b/src/schemas/ica.config.schema.json @@ -26,6 +26,15 @@ "type": "boolean", "description": "Always activate PM role" }, + "work_item_pipeline_enabled": { + "type": "boolean", + "description": "Automatically orchestrate create-work-items -> plan-work-items -> run-work-items for actionable findings/comments" + }, + "work_item_pipeline_mode": { + "type": "string", + "enum": ["batch_auto", "batch_confirm", "item_confirm"], + "description": "Confirmation mode for actionable-finding ingestion when work item pipeline is enabled" + }, "l3_settings": { "type": "object", "description": "L3 autonomous mode settings", @@ -76,6 +85,11 @@ "validate_commits": { "type": "boolean", "description": "Validate commit messages" + }, + "worktree_branch_behavior": { + "type": "string", + "enum": ["always_new", "ask", "current_branch"], + "description": "Branch/worktree isolation policy for implementation work. If unset, process/commit/release skills must ask and persist behavior." } } },