What's Changed
- feat(config,lock): global concurrency control and API key injection by @RyderFreeman4Logos in #2
- merge: dev into base — global concurrency control + API key injection by @RyderFreeman4Logos in #3
- feat(config,executor,skills): add review config, tiers list, debate and csa-review skills by @RyderFreeman4Logos in #5
- feat(config,executor,skills): config fallback chain, suppress_notify, skill enhancements by @RyderFreeman4Logos in #8
- fix(skills,config): normalize names, upgrade install-update-csa, add CSA pr-codex-bot by @RyderFreeman4Logos in #9
- merge(main): integrate base branch updates by @RyderFreeman4Logos in #11
- docs(skills): enforce mandatory debate arbitration and audit trail by @RyderFreeman4Logos in #15
- feat(review,debate): enforce heterogeneous auto tool selection by @RyderFreeman4Logos in #16
- feat(debate): add csa debate CLI command with heterogeneous tool enforcement by @RyderFreeman4Logos in #18
- docs(skills): update pr-codex-bot Step 8 to use csa debate by @RyderFreeman4Logos in #19
- refactor(cli): extract shared execution pipeline and update skill terminology by @RyderFreeman4Logos in #20
- feat(core,config,cli): implement layered tool selection strategy by @RyderFreeman4Logos in #22
- refactor(resource): combine physical + swap for memory availability check by @RyderFreeman4Logos in #23
- feat(cli): detect parent tool via /proc process tree walking by @RyderFreeman4Logos in #25
- fix(process): use char-boundary-safe truncation in extract_summary by @RyderFreeman4Logos in #26
- docs(skills): fix pr-codex-bot scope param and max iterations by @RyderFreeman4Logos in #27
- feat(skills): add 6 community skills and skills catalog by @RyderFreeman4Logos in #29
- feat(skills): replace plan-debate with mktd + mktsk by @RyderFreeman4Logos in #34
- fix(skills): add blocking constraint, fix review semantics and untracked coverage by @RyderFreeman4Logos in #36
- fix(skills): poll issue-level comments in pr-codex-bot by @RyderFreeman4Logos in #38
- fix(skills): port robustness fixes from upstream review cycle by @RyderFreeman4Logos in #39
- fix(skills,process-tree): harden shell snippets and add macOS support by @RyderFreeman4Logos in #41
- feat(skills): add cloud Codex quota fallback to pr-codex-bot by @RyderFreeman4Logos in #43
- feat(cli,skills): add claude-sub-agent subcommand with semantic skill routing by @RyderFreeman4Logos in #46
- feat(config,skills): Phase 1 — config get, auto-fallback, AGENTS.md compliance by @RyderFreeman4Logos in #48
- feat(todo): Phase 2 — TODO system with git-tracked plans by @RyderFreeman4Logos in #49
- feat(session,hooks): Phase 3 — session restructure, result protocol, hook system by @RyderFreeman4Logos in #50
- fix(skills): simplify pr-codex-bot quota-exhausted behavior by @RyderFreeman4Logos in #51
- feat(skills): add sa skill for three-tier sub-agent orchestration by @RyderFreeman4Logos in #52
- fix(todo): fix diff semantics, optional timestamps, version history by @RyderFreeman4Logos in #53
- refactor(review): skill-as-agent architecture — Phase 1 by @RyderFreeman4Logos in #54
- refactor(skills,debate): role detection + parameter passing by @RyderFreeman4Logos in #55
- feat(skills): add generated_outputs to review schema by @RyderFreeman4Logos in #56
- fix(todo,session,gc): reliability improvements and global GC by @RyderFreeman4Logos in #57
- fix(executor): pass thinking_budget from tier config to codex by @RyderFreeman4Logos in #58
- fix(session): auto-gen description + error results for pre-exec failures by @RyderFreeman4Logos in #59
- fix(audit): P0/P1 fixes from CSA audit — session lifecycle, JSON output, docs by @RyderFreeman4Logos in #60
- feat(todo): add configurable pagers and clarify mktd language detection by @RyderFreeman4Logos in #61
- fix(executor): allow --model and --thinking to coexist (#58) by @RyderFreeman4Logos in #62
- test: comprehensive test coverage across all 11 crates by @RyderFreeman4Logos in #63
- fix(process,executor): unified stdin strategy with PromptTransport + AUTO fallback (#4,#12,#13) by @RyderFreeman4Logos in #64
- refactor(edition): Rust 2024 migration + agent-teams-rs integration by @RyderFreeman4Logos in #65
- feat(process): add StreamMode for real-time stdout tee to stderr by @RyderFreeman4Logos in #66
- feat(session,config): add context memory budget with soft/hard thresholds by @RyderFreeman4Logos in #67
- feat(session): optional git-notes checkpoint for audit trail by @RyderFreeman4Logos in #68
- feat(workspace): opt-in cc-sdk feature passthrough (#sprint6) by @RyderFreeman4Logos in #69
- fix(skills): add missing YAML frontmatter to 7 SKILL.md files by @RyderFreeman4Logos in #70
- fix(skills): enforce atomic PR + pr-codex-bot in commit workflow by @RyderFreeman4Logos in #71
- fix(executor): map Xhigh thinking budget to xhigh codex effort by @RyderFreeman4Logos in #72
- refactor(config): unify user config path to ~/.config/cli-sub-agent/ by @RyderFreeman4Logos in #73
- fix(executor): use -c model_reasoning_effort= instead of --reasoning-effort for codex by @RyderFreeman4Logos in #74
- feat(acp): ACP Transport migration (Epic 1) by @RyderFreeman4Logos in #75
- fix(acp): use standalone Zed ACP adapter binaries by @RyderFreeman4Logos in #76
- fix(process-tree): recognize ACP adapter binary names by @RyderFreeman4Logos in #77
- fix(skills): replace --prompt-file with stdin in sa skill by @RyderFreeman4Logos in #78
- feat: MCP server registry and notification hook suppression by @RyderFreeman4Logos in #79
- feat(weave): implement skill-lang Markdown parser by @RyderFreeman4Logos in #80
- feat(weave): implement skill-lang compiler (Markdown → execution plan) by @RyderFreeman4Logos in #81
- feat(weave): skill-as-agent execution and git-native package management by @RyderFreeman4Logos in #82
- feat(patterns): add dev-to-merge workflow pattern with skill-lang by @RyderFreeman4Logos in #83
- fix(context-loader): resolve symlink false positive and add safety checks by @RyderFreeman4Logos in #84
- fix(weave): replace expect with unwrap for const regex and add input size limit by @RyderFreeman4Logos in #85
- refactor(cli,process): default to streaming stdout in csa run by @RyderFreeman4Logos in #86
- refactor(skills): clean up deprecated skills and update catalog by @RyderFreeman4Logos in #89
- docs(readme): update README for PR #75-#89 and add mise install guide by @RyderFreeman4Logos in #91
- refactor(skills): migrate workflow skills to compiled patterns by @RyderFreeman4Logos in #92
- fix(patterns): replace hardcoded CSA paths with dynamic state root validation by @RyderFreeman4Logos in #97
- chore(skills): move sa skill to project directory by @RyderFreeman4Logos in #93
- feat(weave): add visualize subcommand for workflow diagrams by @RyderFreeman4Logos in #95
- feat(idle-timeout): add activity-based idle timeout as sole kill condition by @RyderFreeman4Logos in #94
- feat(session): auto-gen description + error result.toml for pre-exec failures by @RyderFreeman4Logos in #98
- fix(todo,session): save all pending changes + document orphan cleanup by @RyderFreeman4Logos in #99
- fix(patterns): add direct merge path for first-pass clean reviews by @RyderFreeman4Logos in #100
- feat(hooks,tracing,core): wire remaining hooks, add span tracing, resolve #45 by @RyderFreeman4Logos in #101
- refactor(skills): add pattern companion skills and relocate dev skills by @RyderFreeman4Logos in #109
- refactor(skills): co-locate skills inside pattern directories by @RyderFreeman4Logos in #110
- docs(hooks): document template variables per hook event by @RyderFreeman4Logos in #111
- fix(context): wire skip_context from .skill.toml to context loader by @RyderFreeman4Logos in #112
- fix(session): mark sessions as failed on non-zero tool exit by @RyderFreeman4Logos in #113
- feat(weave): support stdin via '-' argument in visualize by @RyderFreeman4Logos in #114
- fix(run): warn when --last is ambiguous with concurrent sessions by @RyderFreeman4Logos in #115
- feat(run): require tools to be configured in tiers for auto availability by @RyderFreeman4Logos in #116
- fix(run): add runtime fallback for HeterogeneousPreferred tool failure by @RyderFreeman4Logos in #117
- fix(csa-acp,csa-executor): resume ACP sessions from tool state by @RyderFreeman4Logos in #119
- feat(csa-config): add preferences.tool_priority for heterogeneous tool selection by @RyderFreeman4Logos in #120
- docs(commit): add explicit tool selection strategy for commit message generation by @RyderFreeman4Logos in #121
- feat(config,cli): enforce tier whitelist for explicit tool/model CLI inputs by @RyderFreeman4Logos in #124
- feat(weave): add broken symlink check and local path installation by @RyderFreeman4Logos in #126
- feat(hooks): add prompt guard system for reverse prompt injection by @RyderFreeman4Logos in #128
- fix(review,debate,pipeline): relax tier whitelist for review/debate tool selection (#129) by @RyderFreeman4Logos in #130
- test(pipeline): add regression tests for enforce_tier parameter by @RyderFreeman4Logos in #131
- fix(hooks): eliminate guard PGID race with deadlock-free capture by @RyderFreeman4Logos in #133
- feat(hooks): add built-in prompt guards for branch protection and dirty tree by @RyderFreeman4Logos in #134
- docs: add skill.md setup guide for agent bots by @RyderFreeman4Logos in #135
- feat(hooks): prepend built-in guards instead of replace by @RyderFreeman4Logos in #136
- docs(readme): add agent bot setup prompt to Quick Start by @RyderFreeman4Logos in #137
- feat(review,debate): add timeout/stream controls and debate skill check (#146, #139, #140) by @RyderFreeman4Logos in #148
- fix(skills): close delegation gap - route /sa mode through proper skill chain by @RyderFreeman4Logos in #149
- feat(weave,pattern): runtime hardening - versioning, loop safety, stale guard (#141, #147, #144, #143) by @RyderFreeman4Logos in #150
- feat: Phase 3 — debate rounds, batch compile, dispatcher docs (#138, #142, #145) by @RyderFreeman4Logos in #151
- chore: improve installation and README positioning by @RyderFreeman4Logos in #152
- feat(resolver): pattern-first resolution for review and debate by @RyderFreeman4Logos in #154
- chore(hooks): migrate to git native + CSA prompt guards by @RyderFreeman4Logos in #155
- feat(weave): global registry redesign — lockfile, global store, config cascade, migrate, gc by @RyderFreeman4Logos in #156
- fix(config,skill): minimal init + skill.md consent gates by @RyderFreeman4Logos in #157
- feat(weave): auto-link pattern companion skills on install by @RyderFreeman4Logos in #158
- fix(config,init): global-disable-wins + init redesign + --force bypass by @RyderFreeman4Logos in #159
- feat(resource): add resource sandbox for tool memory/PID isolation by @RyderFreeman4Logos in #160
- feat(skill): add pattern-creator skill for CSA pattern development by @RyderFreeman4Logos in #161
- fix(mktd): add language detection for TODO content localization by @RyderFreeman4Logos in #162
- fix(resource,acp,process): combine setsid+rlimits into single pre_exec closure by @RyderFreeman4Logos in #163
- feat(audit): add csa audit subcommand for codebase tracking by @RyderFreeman4Logos in #165
- fix(acp): strip CLAUDECODE env var and add init timeouts by @RyderFreeman4Logos in #166
- fix(acp): strip env vars in cgroup path, keep process alive on load_session timeout by @RyderFreeman4Logos in #167
- feat(audit): add mirror directory, topo sort, glob expansion, and blog tracking by @RyderFreeman4Logos in #169
- fix(executor): strip CLAUDECODE env var in legacy CLI path by @RyderFreeman4Logos in #170
- feat(plan): add csa plan run command for weave workflow execution by @RyderFreeman4Logos in #172
- fix(acp,config): NODE_OPTIONS heap limit + lean mode for claude-code memory explosion by @RyderFreeman4Logos in #173
- fix(executor,pipeline): output spool and SIGTERM handler for OOM resilience by @RyderFreeman4Logos in #174
- fix(debate): use 1800s default timeout from config by @RyderFreeman4Logos in #175
- fix(plan): add live progress + heartbeat for csa plan run (closes #176) by @RyderFreeman4Logos in #177
- fix(acp,run): preserve partial output on interruption (closes #171) by @RyderFreeman4Logos in #178
- fix(plan): evaluate step conditions instead of unconditionally skipping (closes #179) by @RyderFreeman4Logos in #180
- feat(config,sandbox): add ToolResourceProfile and per-tool enforcement mode by @RyderFreeman4Logos in #183
- fix(plan): execute bash steps directly via shell instead of AI tool by @RyderFreeman4Logos in #184
- feat: migrate framework batch 1 (bump-patch, git-describe, weave.lock, migration types) by @RyderFreeman4Logos in #185
- feat: migrate framework batch 2 (version-bump check, auto-update lock, csa migrate) by @RyderFreeman4Logos in #186
- feat: migrate framework batch 3 (plan→workflow, tests, pattern/skill) by @RyderFreeman4Logos in #187
- fix(executor): propagate CSA_SESSION_DIR to child processes by @RyderFreeman4Logos in #188
- fix: harden default resource limits to prevent OOM and swap thrashing by @RyderFreeman4Logos in #192
- fix(workflow): fix dev-to-merge template bugs by @RyderFreeman4Logos in #195
- fix(skill): make pr-codex-bot self-contained with polling by @RyderFreeman4Logos in #196
- feat(config): replace lean_mode with setting_sources (#190) by @RyderFreeman4Logos in #198
- feat(mcp-proxy): Phase 0 baseline memory measurement by @RyderFreeman4Logos in #197
- fix(patterns): add PATTERN.md fallback for legacy pattern layouts by @RyderFreeman4Logos in #200
- fix(plan): add step output forwarding for cross-step context by @RyderFreeman4Logos in #203
- fix(patterns): remove nested csa run from tool=csa step prompts by @RyderFreeman4Logos in #207
- feat(plan): add --tool override for csa plan run by @RyderFreeman4Logos in #209
- fix(ci): add version-bump CI check and fix just install cache by @RyderFreeman4Logos in #210
- fix(patterns): replace empty step prompts with descriptive context (#211) by @RyderFreeman4Logos in #212
- feat(config): add pr_review.cloud_bot project-level toggle by @RyderFreeman4Logos in #214
- fix(patterns): route mktd Step 4/6 output via step forwarding (#213) by @RyderFreeman4Logos in #216
- fix(patterns): remove hardcoded --tool and --thinking from CSA step prompts by @RyderFreeman4Logos in #219
- refactor(patterns): rename agent Tier 0/1/2 to Layer 0/1/2 by @RyderFreeman4Logos in #221
- fix(plan): prevent shell injection in bash step variable substitution by @RyderFreeman4Logos in #222
- fix(executor): restore codex -c notify=[] for notification suppression by @RyderFreeman4Logos in #223
- fix(self-update): correct target triple and add release recipes by @RyderFreeman4Logos in #224
- fix(cli): add clap-level scope flag mutual exclusion for csa review by @RyderFreeman4Logos in #225
- fix(review): correct pattern missing error and add --allow-fallback by @RyderFreeman4Logos in #226
- feat(pr-codex-bot): SHA-verified fast-path merge when cloud_bot=false by @RyderFreeman4Logos in #227
- feat(plan,weave): forward CSA session IDs across workflow steps by @RyderFreeman4Logos in #228
Full Changelog: https://github.com/RyderFreeman4Logos/cli-sub-agent/commits/v0.1.15