## sudoprivacy/sudocode — v0.2.21…v0.2.22

_97 commits._

### Features
- **feat(a2a): aggregate local + nexus namespaces in one Directory for agent_list and send** (add1289)
- **feat(cli): align default code colors with Codex** (26c02f8)
- **feat(runtime): preserve session prefixes with scoped CLI packages and memory** (953ade2)
- **feat(cli): add non-interactive print agent mode** (b1a6a3a)
- **feat(cohost): restore durable sessions across managed runs** (c9afda9)

### Fixes
- **Merge pull request #873 from sudoprivacy/fix/opus-tool-result-pairing** (468588f)
- **fix(runtime): reconcile tool histories at the model boundary** (9561dda)
- **Merge pull request #872 from sudoprivacy/fix/up-dequeue-pop-all** (054c97b)
- **Merge pull request #870 from sudoprivacy/fix/bash-command-codex-colors** (5e3d6a0)
- **fix(input): keep keys responsive across preview resizes** (105d847)
- **fix(cli): highlight Bash commands with Codex defaults** (0bbe74d)
- **Merge pull request #868 from sudoprivacy/fix/codex-markdown-style-20261003** (0cb2922)
- **fix(render): align Markdown styles with Codex defaults** (2e8756e)
- **fix(cli): preserve terminal input and cover ConPTY color behavior** (394e020)
- **Merge pull request #866 from sudoprivacy/fix/semantic-syntax-theme-20261003** (0cd0697)
- **fix(render): derive syntax colors from the semantic theme** (8206e69)
- **fix(subagents): deliver background results in interactive sessions (#865)** (31a3558)
- **Merge pull request #864 from sudoprivacy/fix/repl-terminal-handoff** (9b821a5)
- **fix(repl): report editor launch failures consistently across platforms** (06e5d00)
- **fix(repl): hand terminal ownership to external editors and pagers** (515392f)
- **Merge pull request #863 from sudoprivacy/fix/render-text-layout-20261003** (1c13468)
- **fix(render): unify styled text layout and preserve Unicode columns** (f416d98)
- **perf(startup): compare paired process costs with a minimal Rust reference** (ebb1c4a)
- **Merge pull request #860 from sudoprivacy/fix/iocraft-session-picker** (5e057cb)
- **fix(cli): use iocraft for session selection and deletion** (41f44d1)
- **Merge pull request #859 from sudoprivacy/fix/startup-phase-timing** (2d2aa2f)
- **perf(cli): measure startup phases and enforce process budgets** (2f6396c)
- **Merge pull request #858 from sudoprivacy/fix/mirror-legacy-pins** (5ba7dc3)
- **fix(installer): fall back for releases predating versioned mirrors** (55832d9)
- **fix(context): honor session model limits and shared wire tools** (a6b2dcb)
- **fix(headless): complete child tasks and preserve error classification** (5044fb2)
- **Merge pull request #857 from sudoprivacy/fix/atomic-release-mirror** (7ddf8da)
- **fix(release): publish verified immutable mirror versions** (811fc04)
- **Merge pull request #853 from sudoprivacy/fix/model-identity-answer-context** (8b697de)
- **fix(runtime): clarify selected model identity in answers** (c5bd3fa)
- **Merge pull request #851 from sudoprivacy/fix/runtime-model-switch-context** (95b448d)
- **fix(runtime): preserve configured aliases in model context updates** (cc8d683)
- **fix(runtime): refresh model context after engine rebuilds** (0faa5a3)
- **fix(models): reject unsupported deployment tools before inference** (7e508c6)
- **fix(runtime): load cohost subagent context through Nexus** (ed6a9dd)
- **fix(cli): suspend progress while interactive prompts read input** (c2a91e1)
- **fix(api): retain usage analytics for nonstream refusals** (1716f3a)
- **fix(models): surface provider refusals without retrying** (aeffc8b)
- **fix(engine): retry empty responses after terminal frames** (bf66f13)
- **Merge pull request #843 from sudoprivacy/fix/bash-process-tree-cancellation** (7deba88)

### Backend
- **Merge pull request #856 from sudoprivacy/feat/cross-namespace-directory** (dd082c5)
- **Merge pull request #869 from sudoprivacy/ci/require-pr-rebase** (15187ca)
- **Merge pull request #867 from sudoprivacy/feat/codex-default-colors** (548a0f8)
- **Merge pull request #862 from sudoprivacy/perf/startup-process-baseline** (6bb3ffe)
- **Merge pull request #861 from sudoprivacy/refactor/session-cache-prefix** (8980a11)
- **Merge pull request #682 from sudoprivacy/feat/context-slash-command** (889e3f0)
- **cli: cover /context under PTY** (dc11d73)
- **cli(repl): implement /context as the context-window occupancy grid** (b1be284)
- **engine-host: collect /context usage by category from the live runtime** (a217c25)
- **commands: size each skill's prompt entry and retitle the /context spec** (e565f1b)
- **engine-core: expose the tool definitions a request carries** (9bcd919)
- **Merge pull request #795 from sudoprivacy/codex/feat-headless-print** (2200f08)
- **Merge pull request #852 from sudoprivacy/codex/tool-capability-20261002** (ded33dd)
- **Merge remote-tracking branch 'origin/main' into codex/tool-capability-20261002** (48a9801)
- **Merge remote-tracking branch 'origin/main' into codex/tool-capability-20261002** (0d2f1f3)
- **Merge pull request #849 from sudoprivacy/feat/cohost-session-resume** (17533e0)
- **Merge pull request #842 from sudoprivacy/docs/memory-systems-comparison-20261002** (03106e2)
- **Merge pull request #845 from sudoprivacy/docs/matrix-primary-key-reconcile** (b4d4f47)
- **Merge pull request #848 from sudoprivacy/codex/pty-arrow-render-waits** (fd53255)
- **Merge pull request #847 from sudoprivacy/codex/cohost-subagent-context** (c7d64fb)
- **Merge pull request #844 from sudoprivacy/codex/model-compat-bounded-report** (76318d0)
- **models: cap GPT-4o requests at the documented output limit** (b642801)

### Tests
- **test(tools): keep ToolSearch wire fixture paired** (d907e7d)
- **test(e2e): prove agent_list unions local + nexus peers against a real daemon** (06b05d7)
- **test(pty): allow ConPTY padding after wrapped CJK text** (3c7b64e)
- **test(cli): follow live editor paths and wait for painted cells** (de87306)
- **test(tools): allow startup time in the PowerShell fixture** (9663da9)
- **test(repl): establish pager input before terminal handoff** (1aa5f3a)
- **test(bash): use a portable command to verify recovery after cancellation** (8344909)
- **test(render): reuse the shared live turn timeout** (8dfabda)
- **test(memory): isolate scoped paths and seed portable legacy fixtures** (178f0f3)
- **test(pty): wait for command drafts and actual help output** (4f54187)
- **test(pty): wait for rendered arrow key input** (697b890)
- **test(models): await final PTY diagnostics after process exit** (370fc4a)
- **test(models): share refusal case classification** (025c26e)
- **test(models): classify gateway TLS connection failures** (7253368)
- **test(models): retain provider errors during retry backoff** (5b62614)

### Docs
- **docs(cli): describe Codex code colors alongside the UI palette** (67242b4)
- **docs: describe /context in usage.md** (ec2d2d4)
- **docs: wrap long source links on narrow screens** (f165cd5)
- **docs: improve diagram edge-label contrast** (e1ca542)
- **docs: preserve the memory systems investigation** (f4cbbc9)
- **docs(matrix): record validated recovery implementation and release gate** (07c4a87)
- **docs(matrix): record compatible recovery rollout decision** (4496811)
- **docs(matrix): reconcile session identity with current runtimes** (609b5a3)

### Chore
- **refactor(repl): ↑-dequeue pops all queued humans at once (CC popAllEditable)** (5f00f44)
- **style(a2a): cargo fmt the cross-namespace directory live test** (726c1f9)
- **ci: require rebased pull requests before merge** (adc4589)
- **ci: gate session prefix and scoped context with PTY tests** (cfb05d5)
- **chore: sync latest main while preserving recovery history** (e3ef05a)
- **chore(cohost): adopt nexus-vfs v0.7.28 and update recovery status** (30ed2ed)
- **ci: bound live model batches and retain compatibility reports** (cde8851)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/sudoprivacy/sudocode?utm_source=github-action)._