cc-copilot 0.13.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. cc_copilot-0.13.2/LICENSE +21 -0
  2. cc_copilot-0.13.2/PKG-INFO +448 -0
  3. cc_copilot-0.13.2/README.md +418 -0
  4. cc_copilot-0.13.2/cc_copilot.egg-info/PKG-INFO +448 -0
  5. cc_copilot-0.13.2/cc_copilot.egg-info/SOURCES.txt +59 -0
  6. cc_copilot-0.13.2/cc_copilot.egg-info/dependency_links.txt +1 -0
  7. cc_copilot-0.13.2/cc_copilot.egg-info/entry_points.txt +2 -0
  8. cc_copilot-0.13.2/cc_copilot.egg-info/requires.txt +3 -0
  9. cc_copilot-0.13.2/cc_copilot.egg-info/top_level.txt +1 -0
  10. cc_copilot-0.13.2/cccopilot/__init__.py +13 -0
  11. cc_copilot-0.13.2/cccopilot/__main__.py +6 -0
  12. cc_copilot-0.13.2/cccopilot/assess.py +194 -0
  13. cc_copilot-0.13.2/cccopilot/backends.py +225 -0
  14. cc_copilot-0.13.2/cccopilot/brief.py +193 -0
  15. cc_copilot-0.13.2/cccopilot/chat.py +680 -0
  16. cc_copilot-0.13.2/cccopilot/cli.py +742 -0
  17. cc_copilot-0.13.2/cccopilot/config.py +190 -0
  18. cc_copilot-0.13.2/cccopilot/context.py +753 -0
  19. cc_copilot-0.13.2/cccopilot/handoff.py +80 -0
  20. cc_copilot-0.13.2/cccopilot/lastlook.py +152 -0
  21. cc_copilot-0.13.2/cccopilot/locate.py +299 -0
  22. cc_copilot-0.13.2/cccopilot/narrate.py +196 -0
  23. cc_copilot-0.13.2/cccopilot/notify.py +83 -0
  24. cc_copilot-0.13.2/cccopilot/observe.py +354 -0
  25. cc_copilot-0.13.2/cccopilot/prefs.py +60 -0
  26. cc_copilot-0.13.2/cccopilot/scope.py +524 -0
  27. cc_copilot-0.13.2/cccopilot/since.py +218 -0
  28. cc_copilot-0.13.2/cccopilot/sources/__init__.py +161 -0
  29. cc_copilot-0.13.2/cccopilot/sources/base.py +95 -0
  30. cc_copilot-0.13.2/cccopilot/sources/claude.py +55 -0
  31. cc_copilot-0.13.2/cccopilot/sources/codex.py +518 -0
  32. cc_copilot-0.13.2/cccopilot/state.py +294 -0
  33. cc_copilot-0.13.2/cccopilot/store.py +795 -0
  34. cc_copilot-0.13.2/cccopilot/transcript.py +302 -0
  35. cc_copilot-0.13.2/cccopilot/tui.py +2106 -0
  36. cc_copilot-0.13.2/pyproject.toml +44 -0
  37. cc_copilot-0.13.2/setup.cfg +4 -0
  38. cc_copilot-0.13.2/tests/test_assess.py +58 -0
  39. cc_copilot-0.13.2/tests/test_backends.py +87 -0
  40. cc_copilot-0.13.2/tests/test_codex.py +221 -0
  41. cc_copilot-0.13.2/tests/test_config.py +69 -0
  42. cc_copilot-0.13.2/tests/test_context.py +114 -0
  43. cc_copilot-0.13.2/tests/test_current_session.py +187 -0
  44. cc_copilot-0.13.2/tests/test_handoff.py +59 -0
  45. cc_copilot-0.13.2/tests/test_history_integration.py +289 -0
  46. cc_copilot-0.13.2/tests/test_lastlook.py +96 -0
  47. cc_copilot-0.13.2/tests/test_locate.py +187 -0
  48. cc_copilot-0.13.2/tests/test_narrate.py +60 -0
  49. cc_copilot-0.13.2/tests/test_notify.py +68 -0
  50. cc_copilot-0.13.2/tests/test_observe.py +70 -0
  51. cc_copilot-0.13.2/tests/test_phase2_cli.py +136 -0
  52. cc_copilot-0.13.2/tests/test_prefs.py +55 -0
  53. cc_copilot-0.13.2/tests/test_scope.py +169 -0
  54. cc_copilot-0.13.2/tests/test_since.py +142 -0
  55. cc_copilot-0.13.2/tests/test_since_recap.py +158 -0
  56. cc_copilot-0.13.2/tests/test_sources.py +159 -0
  57. cc_copilot-0.13.2/tests/test_state.py +86 -0
  58. cc_copilot-0.13.2/tests/test_store.py +328 -0
  59. cc_copilot-0.13.2/tests/test_transcript.py +47 -0
  60. cc_copilot-0.13.2/tests/test_tui.py +1187 -0
  61. cc_copilot-0.13.2/tests/test_utf8.py +47 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 audiofool
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,448 @@
1
+ Metadata-Version: 2.4
2
+ Name: cc-copilot
3
+ Version: 0.13.2
4
+ Summary: Read-only shadow-memory sidecar for coding agents: faithful, evidence-cited recap + safety judgment + grounded chat.
5
+ Author: audiofool
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/Audiofool934/cc-copilot
8
+ Project-URL: Repository, https://github.com/Audiofool934/cc-copilot
9
+ Project-URL: Changelog, https://github.com/Audiofool934/cc-copilot/blob/main/CHANGELOG.md
10
+ Project-URL: Issues, https://github.com/Audiofool934/cc-copilot/issues
11
+ Keywords: claude-code,codex,tui,observability,agent,cli,sidecar
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.9
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: Operating System :: OS Independent
19
+ Classifier: Environment :: Console
20
+ Classifier: Intended Audience :: Developers
21
+ Classifier: Topic :: Software Development
22
+ Classifier: Topic :: Terminals
23
+ Classifier: Topic :: Utilities
24
+ Requires-Python: >=3.9
25
+ Description-Content-Type: text/markdown
26
+ License-File: LICENSE
27
+ Provides-Extra: tui
28
+ Requires-Dist: textual>=2.0; extra == "tui"
29
+ Dynamic: license-file
30
+
31
+ # CC-Copilot
32
+
33
+ [![PyPI](https://img.shields.io/pypi/v/cc-copilot)](https://pypi.org/project/cc-copilot/)
34
+ [![Python](https://img.shields.io/pypi/pyversions/cc-copilot)](https://pypi.org/project/cc-copilot/)
35
+ [![CI](https://github.com/Audiofool934/cc-copilot/actions/workflows/ci.yml/badge.svg)](https://github.com/Audiofool934/cc-copilot/actions/workflows/ci.yml)
36
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
37
+
38
+ **CC-Copilot helps you stay aligned with AI coding agents.**
39
+
40
+ Cockpit is the primary TUI experience: a live supervision layer for ongoing
41
+ agentic work, shared context, and next decisions.
42
+
43
+ Ask questions across one session, selected sessions, or an entire project
44
+ without injecting supervision chatter into the main Claude Code or Codex
45
+ workflow.
46
+
47
+ ![CC-Copilot Cockpit](docs/cockpit.png)
48
+
49
+ ## Quick Start
50
+
51
+ ```bash
52
+ cc-copilot cockpit
53
+ ```
54
+
55
+ Inside Cockpit:
56
+
57
+ ```text
58
+ /sessions choose one or more agent sessions (incl. your own live session)
59
+ /here observe the session you're running inside of
60
+ /observe attention queue and next human decision
61
+ /since recap since you last looked (or 30m / 2h; --raw = cited delta)
62
+ /handoff shareable Markdown handoff (brief + what changed)
63
+ /brief deterministic recap with citations
64
+ /check safety / off-track verdict
65
+ /diff changes since last turn
66
+ /model choose backend/model
67
+ /resume resume a Cockpit Session
68
+ ```
69
+
70
+ ## Install
71
+
72
+ One command, no clone — install it as an isolated tool:
73
+
74
+ ```bash
75
+ uv tool install "cc-copilot[tui]" # recommended (https://docs.astral.sh/uv/)
76
+ # or
77
+ pipx install "cc-copilot[tui]"
78
+ ```
79
+
80
+ Then:
81
+
82
+ ```bash
83
+ cc-copilot cockpit
84
+ ```
85
+
86
+ Or run it without installing anything:
87
+
88
+ ```bash
89
+ uvx --from "cc-copilot[tui]" cc-copilot cockpit
90
+ ```
91
+
92
+ Requirements: Python 3.9+. The CLI core is **dependency-free**; the Cockpit TUI
93
+ pulls in the optional `[tui]` extra (Textual) — drop it (`cc-copilot` instead of
94
+ `cc-copilot[tui]`) if you only want the command-line briefs.
95
+
96
+ <details>
97
+ <summary>plain <code>pip</code> / from source</summary>
98
+
99
+ ```bash
100
+ pip install "cc-copilot[tui]" # from PyPI
101
+ # from a clone (development):
102
+ pip install -e ".[tui]"
103
+ ```
104
+
105
+ On fresh Debian/Ubuntu servers `pipx`/venv may need:
106
+
107
+ ```bash
108
+ sudo apt-get update && sudo apt-get install -y python3-venv python3-pip pipx
109
+ ```
110
+ </details>
111
+
112
+ ## Why CC-Copilot
113
+
114
+ Past copilots reduced the cognitive burden of understanding code.
115
+
116
+ Agentic coding creates a new burden: understanding what agents are doing over
117
+ time. Long-running Claude Code, Codex, and multi-agent workflows produce
118
+ continuous context, decisions, tool calls, errors, and partial progress.
119
+
120
+ CC-Copilot gives humans a separate supervision layer. You can inspect, ask,
121
+ compare, and realign without interrupting the working agent or forcing yourself
122
+ to reconstruct context manually.
123
+
124
+ ## What Makes It Different
125
+
126
+ 1. **Read-only supervision**
127
+ CC-Copilot observes agent transcripts and project context without editing
128
+ files, issuing agent actions, or interfering with the working agent.
129
+
130
+ 2. **Separate Cockpit workflow**
131
+ Ask supervision questions outside the main agent conversation, so the
132
+ agent's working context stays clean.
133
+
134
+ 3. **Evidence-grounded answers**
135
+ Answers are grounded in transcript lines, tool results, project facts, git
136
+ state, and file evidence.
137
+
138
+ 4. **Multi-session awareness**
139
+ Follow one session, selected sessions, or an entire project from one
140
+ interface.
141
+
142
+ 5. **Attention-first UI**
143
+ Cockpit surfaces status, risk, progress, and the next human decision instead
144
+ of forcing you to read the whole transcript.
145
+
146
+ 6. **Model-flexible**
147
+ Use Codex, Claude, OpenAI-compatible APIs, DeepSeek, OpenRouter, Ollama,
148
+ Gemini, or custom CLI backends.
149
+
150
+ 7. **Terminal-native**
151
+ Keyboard-first TUI with mouse support, designed for side-window and
152
+ CMUX-style workflows.
153
+
154
+ 8. **Resumable Cockpit Sessions**
155
+ Your supervision conversation is independent from the agent session and can
156
+ be resumed later.
157
+
158
+ ## Usage
159
+
160
+ ```bash
161
+ cc-copilot cockpit # open the TUI
162
+ cc-copilot sessions # list project sessions
163
+ cc-copilot status # fleet board, neediest first
164
+ cc-copilot observe # attention queue
165
+ cc-copilot brief # deterministic recap
166
+ cc-copilot check # safety verdict
167
+ cc-copilot since # grounded LLM recap since you last looked
168
+ cc-copilot since 30m # …or within a time window
169
+ cc-copilot since --raw # the deterministic cited delta, no model call
170
+ cc-copilot handoff --out h.md # shareable Markdown handoff
171
+ cc-copilot watch --notify # desktop alert when the agent needs you
172
+ cc-copilot ask "what changed?" # one-shot grounded Q&A
173
+ cc-copilot chat # plain terminal chat mode
174
+ cc-copilot resume # resumable Cockpit Sessions
175
+ ```
176
+
177
+ Scope options:
178
+
179
+ ```bash
180
+ cc-copilot cockpit # one agent session by default
181
+ cc-copilot cockpit --scope multi # selected/all sessions in this project
182
+ cc-copilot cockpit --scope project # project-level evidence context
183
+
184
+ cc-copilot ask --scope multi --scope-sessions a1b2c3d4,b5c53c29 "compare these"
185
+ cc-copilot observe --scope project
186
+ ```
187
+
188
+ Session discovery spans every coding agent with sessions on this machine:
189
+
190
+ ```text
191
+ ${CLAUDE_CONFIG_DIR:-~/.claude}/projects/<encoded-cwd>/<session>.jsonl # Claude Code
192
+ ${CODEX_HOME:-~/.codex}/sessions/YYYY/MM/DD/rollout-*.jsonl # Codex
193
+ ```
194
+
195
+ A project's sessions from both agents appear on one board, grouped by project
196
+ cwd and tagged with their agent. Restrict the set with `--agent claude`,
197
+ `--agent codex`, `$CC_COPILOT_AGENTS`, or `[agents] enabled` in the config.
198
+
199
+ By default, commands report on the most recent session other than the current
200
+ one, so running CC-Copilot from inside a live agent session watches the agent
201
+ you want to supervise. To watch your **own** current session instead, use
202
+ `--here` (e.g. `cc-copilot cockpit --here`) or `/here` inside the cockpit — it is
203
+ also always listed in `/sessions` as "your live session", even across projects.
204
+ See [docs/cross-model-adapters.md](docs/cross-model-adapters.md).
205
+
206
+ ## Cockpit
207
+
208
+ Cockpit is the main product surface.
209
+
210
+ It gives you:
211
+
212
+ - Status header for project, evidence range, Cockpit Session, backend, and risk.
213
+ - Live activity strip from the observed session(s).
214
+ - Attention queue and next human decision via `/observe`.
215
+ - Grounded chat over one session, selected sessions, or project evidence.
216
+ - Context HUD showing estimated input context, output estimate, and evidence
217
+ split across raw transcript, project facts, chat, memory, and summary index.
218
+ - Background alerts when the agent stalls, errors, or goes off track.
219
+ - Checkbox session picker with `[ ]` / `[x]` multi-select.
220
+ - Resumable Cockpit Sessions via `/resume`.
221
+
222
+ Keyboard is primary; mouse works too. Click anywhere to return focus to the
223
+ composer. `Enter` sends, `Ctrl+J` inserts a newline, `/` opens command
224
+ suggestions, and `Ctrl+P` opens the command palette. `Shift+↑` / `Shift+↓` resize
225
+ the activity timeline (the chat fills the rest); the height is remembered across
226
+ launches.
227
+
228
+ ## While You Were Away
229
+
230
+ The hardest part of supervising long-running agents is *re-entry*: you stepped
231
+ away, the agent kept working, and now you have to reconstruct what happened.
232
+
233
+ - **`since`** answers "what changed since I last looked" — by default a short
234
+ **LLM recap narrated from** the deterministic, cited diff of new asks, agent
235
+ messages, commands, failures, changed files, and any status/safety transition
236
+ (the model sees only that cited delta and keeps its `[L…]` citations; `--raw`
237
+ or no backend gives the deterministic delta itself). cc-copilot remembers where
238
+ you last looked (a
239
+ small marker under `$CC_COPILOT_STATE_DIR`, never under `~/.claude`/`~/.codex`);
240
+ the cockpit stamps it when you leave and greets you with "⟳ N new since you last
241
+ looked" when you return. Or scope by time: `since 30m`, `since 2h`.
242
+ - **`handoff`** turns the current state into a shareable Markdown document — the
243
+ brief plus an optional "while you were away" section — to paste into a ticket
244
+ or hand to a teammate. Every line keeps its `[L…]` citation.
245
+ - **`watch --notify`** pings you (desktop notification, terminal-bell fallback)
246
+ only when a session *crosses into* needing you — a fresh intervene verdict, a
247
+ slide into stalled, or a new failure — so you can step away without missing the
248
+ moment it actually needs a human.
249
+
250
+ All three are LLM-free and work across Claude Code and Codex sessions.
251
+
252
+ ## Evidence Context
253
+
254
+ v0.7 introduced the Evidence Context Engine.
255
+
256
+ For model-backed `ask`, `chat`, and Cockpit answers, CC-Copilot now retrieves
257
+ primary evidence first:
258
+
259
+ - raw assistant messages
260
+ - raw human prompts
261
+ - tool calls and tool results
262
+ - cited line windows
263
+ - recent transcript tail
264
+ - selected multi-session records
265
+ - read-only project facts
266
+ - git/file evidence
267
+ - Cockpit conversation memory
268
+
269
+ Summaries still exist, but they are navigation aids and UI surfaces, not the
270
+ only source of truth. See [docs/evidence-context-engine.md](docs/evidence-context-engine.md).
271
+
272
+ ## Models
273
+
274
+ ```bash
275
+ cc-copilot backends
276
+ cc-copilot cockpit --backend codex
277
+ cc-copilot cockpit --backend claude
278
+ cc-copilot ask "what matters next?" --backend openai --model gpt-4o
279
+ ```
280
+
281
+ Supported backend families:
282
+
283
+ | backend | authentication | notes |
284
+ |---|---|---|
285
+ | `codex` | your `codex login` | default; local agent CLI |
286
+ | `claude` | your Claude Code login | `claude -p`; no API key |
287
+ | `gemini` / `llm` | the CLI's own config | if installed on PATH |
288
+ | `deepseek` | `DEEPSEEK_API_KEY` | OpenAI-compatible HTTP |
289
+ | `openai` | `OPENAI_API_KEY` | OpenAI-compatible HTTP |
290
+ | `openrouter` | `OPENROUTER_API_KEY` | any OpenRouter model |
291
+ | `ollama` | none | local server at `http://localhost:11434` |
292
+ | `custom` | `CC_COPILOT_API_BASE` or `CC_COPILOT_LLM_CMD` | proxy/API/CLI escape hatch |
293
+
294
+ Set defaults once:
295
+
296
+ ```bash
297
+ cc-copilot config --init
298
+ cc-copilot config
299
+ ```
300
+
301
+ Example `~/.cc-copilot.toml`:
302
+
303
+ ```toml
304
+ backend = "codex"
305
+ # model = "..."
306
+
307
+ [history]
308
+ enabled = true
309
+ ```
310
+
311
+ Precedence: explicit flags > environment variables > config file > built-in
312
+ default.
313
+
314
+ ## Read-Only Contract
315
+
316
+ CC-Copilot is an observer.
317
+
318
+ It reads:
319
+
320
+ - agent transcripts
321
+ - session metadata
322
+ - read-only project facts
323
+ - git status
324
+ - cited file excerpts
325
+ - saved Cockpit conversation state
326
+
327
+ It does not:
328
+
329
+ - mutate the observed agent session
330
+ - edit project files
331
+ - run tools on behalf of the observed agent
332
+ - write under `~/.claude`
333
+ - inject supervision chatter into Claude Code or Codex
334
+
335
+ Deterministic commands work without an LLM:
336
+
337
+ ```bash
338
+ cc-copilot brief
339
+ cc-copilot observe
340
+ cc-copilot check
341
+ cc-copilot status
342
+ ```
343
+
344
+ Interactive `/diff` is available inside Cockpit and `cc-copilot chat`.
345
+
346
+ LLM-backed answers receive bounded cited evidence context, not tool access or
347
+ ambient repo access.
348
+
349
+ ## Cockpit Sessions
350
+
351
+ A Cockpit Session is separate from an agent session.
352
+
353
+ It stores:
354
+
355
+ - your supervision Q&A
356
+ - backend/model selection
357
+ - project cwd
358
+ - selected evidence sessions
359
+ - durable compacted memory for older Q&A
360
+
361
+ Changing evidence with `/sessions` changes what the current Cockpit reads; it
362
+ does not switch to another Cockpit Session.
363
+
364
+ Saved state lives under:
365
+
366
+ ```text
367
+ ${CC_COPILOT_STATE_DIR:-~/.local/state/cc-copilot}
368
+ ```
369
+
370
+ Directories are `0700`, files are `0600`. Disable persistence with:
371
+
372
+ ```bash
373
+ cc-copilot cockpit --no-persist
374
+ ```
375
+
376
+ or:
377
+
378
+ ```toml
379
+ [history]
380
+ enabled = false
381
+ ```
382
+
383
+ ## How It Works
384
+
385
+ ```text
386
+ sources/ agent adapters: discover sessions + parse a transcript
387
+ base.py the AgentSource contract + registry/dispatch
388
+ claude.py Claude Code (~/.claude/projects/**)
389
+ codex.py Codex (~/.codex/sessions/**/rollout-*.jsonl)
390
+ transcript.py the normalized record model Claude Code parses into
391
+ state.py fold records into deterministic session state
392
+ assess.py classify stalls, failures, retry loops, and safety signals
393
+ brief.py render deterministic cited recaps
394
+ since.py "what changed since you last looked" (cited diff)
395
+ lastlook.py remember where the human last looked (per session)
396
+ handoff.py a shareable Markdown handoff artifact
397
+ notify.py conservative away-alerts (desktop / terminal)
398
+ observe.py rank attention and next human decision
399
+ scope.py collect session, multi-session, and project evidence
400
+ context.py retrieve raw evidence for model-backed answers
401
+ store.py persist resumable Cockpit Sessions and compacted memory
402
+ backends.py call Codex, Claude, OpenAI-compatible APIs, Ollama, etc.
403
+ tui.py Cockpit, the Textual TUI
404
+ ```
405
+
406
+ Agent specifics live entirely in `sources/`. Each adapter supplies just two
407
+ things — discovery and parse — and emits the same normalized records, so state,
408
+ assessment, briefing, context, and cockpit are agent-agnostic. One cockpit can
409
+ watch Claude Code and Codex sessions side by side, grouped by project. Adding
410
+ another agent (Gemini CLI, Aider, …) is a new `sources/` adapter, not a rewrite.
411
+
412
+ ## Development
413
+
414
+ ```bash
415
+ git clone https://github.com/Audiofool934/cc-copilot.git
416
+ cd cc-copilot
417
+ pip install -e ".[tui]" # editable install with the Cockpit extra
418
+
419
+ python3 -m unittest discover # stdlib-only test suite
420
+ cc-copilot cockpit
421
+ ```
422
+
423
+ Core tests are stdlib-only. Textual is optional and lazy-imported by Cockpit.
424
+ Releases publish to PyPI automatically on a `v*` tag — see
425
+ [`docs/RELEASING.md`](docs/RELEASING.md).
426
+
427
+ ## Roadmap
428
+
429
+ - Homebrew tap + a `curl | sh` one-line installer
430
+ - deeper project evidence retrieval and file ranking
431
+ - streaming responses and exact backend token usage
432
+ - additional transcript parsers beyond Claude Code
433
+ - hook-driven push alerts for unattended runs
434
+
435
+ Rust migration is tracked separately in [docs/rust-migration.md](docs/rust-migration.md).
436
+
437
+ ## Philosophy
438
+
439
+ The main agent conversation should stay focused on doing the work.
440
+
441
+ Supervision is a different job: inspect what happened, compare evidence, ask
442
+ what matters, preserve decisions, and decide whether to intervene. Mixing that
443
+ into the working agent thread creates noise and changes the very context you
444
+ are trying to observe.
445
+
446
+ CC-Copilot keeps supervision outside the main workflow. Cockpit is where the
447
+ human can regain situational awareness without contaminating the agent's own
448
+ conversation.