ccd-cli 1.0.0-alpha.2

Bootstrap and validate Continuous Context Development repositories
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
# Changelog

All notable changes to `ccd-cli` are documented in this file.

This changelog was introduced after `v0.4.1`. Earlier tags exist, but they were
published before a repo-local changelog was maintained here.

## [1.0.0-alpha] - 2026-04-03

### Added

- **OpenClaw reference adapter path and conformance coverage (ccd#360,
  ccd#361).** The repo now ships a concrete OpenClaw execution-host reference
  path in `docs/reference/openclaw-reference-adapter.md`, plus adapter-level
  conformance coverage in `tests/cli.rs` for bounded startup injection,
  pre-compaction refresh, checkpoint versus session close-out, stale takeover,
  and approval routing.

### Changed

- **The OpenClaw adapter spec snapshot now reflects the shipped reference
  path.** The canonical implementation snapshot now treats
  `reference-adapter-openclaw` as mostly implemented: the runtime proof,
  reference mapping, and conformance harness are landed, while a native
  OpenClaw plugin/gateway package remains follow-on work.

## [0.9.0] - 2026-03-31

### Added

- **Directory-substrate session support (ccd#283, ccd#284).** CCD can now
  attach, persist session state, and export handoff continuity for directory
  projects that are not backed by a Git worktree, while keeping the same
  fail-closed session loop semantics.
- **First-class pod identity rollout (ccd#300).** Pod identity is now part of
  the landed operator model, with the corresponding policy/memory separation
  and coordination-scope migration surfaces available through the CLI.
- **Structured session-boundary guidance from `ccd start` (ccd#270).** Startup
  reports now tell host integrations whether the current continuity should
  continue, refresh, or stop before execution.
- **Read-only memory recall provider seam plus shipped reference adapters
  (ccd#309, ccd#310, ccd#311, ccd#312, ccd#266, ccd#313).** CCD now ships a
  conformance-tested recall-provider contract with Mem0/OpenMemory and
  Graphiti adapters, bounded startup recall, normalized provenance/temporal
  hints, and the accepted recall-first provider boundary documented in the
  repo.
- **External adapter trust labeling and reusable field filters (ccd#257,
  ccd#260).** Machine-facing status and doctor surfaces can now return
  filtered top-level JSON fields, and adapter-backed queue content is labeled
  explicitly so host tooling can keep project truth and external context
  separate.

### Changed

- **Git workflow coaching is split from the CCD kernel skills (ccd#285).**
  `ccd-start` and `ccd-radar` stay focused on CCD state, while the shipped
  `ccd-git-workflow` skill owns branch/worktree/commit/push/merge follow-through.
- **Public vocabulary now reflects the substrate-aware model more directly
  (ccd#286, ccd#288, ccd#289).** The operator-facing docs and compatibility
  surfaces now use project/workspace/substrate terminology more consistently
  while preserving compatibility paths during the migration window.
- **Agent safety guidance is more explicit (ccd#258, ccd#271).** The canonical
  safety contract, startup guidance, and failure remediation text now align
  more tightly around fail-closed behavior and operator-visible next steps.

### Fixed

- **Directory-substrate handoff export and linked-session edge cases are more
  robust.** This includes the handoff export fix from `ccd#284` plus clearer
  remediation guidance when startup or session-state bootstrap fails in
  non-trivial checkouts.
- **Machine-facing validation and doctor surfaces are less error-prone.**
  `ccd doctor` now honors requested field filters correctly, and the expanded
  validation coverage catches fail-closed input-path regressions earlier.

## [0.8.1] - 2026-03-28

### Added

- **Read-only `ccd status` session summary (ccd#252).** CCD now exposes a
  no-write status surface that reports the current continuity phase,
  recommended next command, git state, review state, and available telemetry
  without mutating clone-local state.
- **Memory promotion and admission guidance in `ccd radar-state` (ccd#263,
  ccd#264, ccd#265, ccd#267, ccd#274).** Radar now surfaces deterministic
  memory candidates, self-contained promotion preview/apply actions, apply
  requirements, and the new candidate-admission flow for escalating reviewed
  learnings into durable memory.
- **Bulk GitHub priority scoping for backlog queues (ccd#251).** The GitHub
  backlog adapter can now scope priority updates across multiple matching
  items, making queue triage less single-item and less error-prone.

### Changed

- **Agent-facing backlog mutations are preview-first (ccd#254, ccd#255,
  ccd#256).** `ccd backlog claim`, `ccd backlog set-status`, and
  `ccd backlog complete` now require explicit `--write`, `ccd describe`
  surfaces behavior metadata for machine consumers, and backlog status input
  is constrained instead of accepting arbitrary strings.
- **Telemetry and codemap guidance are more explicit.** Session/focus cost
  estimation now persists with clearer fail-closed behavior for ambiguous host
  data, and the shipped start guidance more clearly explains codemap-aware
  context narrowing.

### Fixed

- **Linked-worktree session bootstrap failures now explain themselves
  (ccd#253).** `ccd session-state start` reports why first-run `state.db`
  creation can fail under `.git/worktrees` instead of leaving the operator
  with an opaque SQLite error.
- **`ccd radar-state` now points at the right handoff remediation (ccd#273).**
  When the canonical clone-local handoff row is missing, radar reports the
  real uninitialized state and suggests `ccd handoff write`, including the
  active profile when it is non-default.
- **Memory and backlog edge cases are less confusing.** This includes the
  memory scope write-target and recovery-doc fixes from `ccd#249` plus clearer
  backlog queue activation and metadata errors from `ccd#250`.

## [0.8.0] - 2026-03-26

### Added

- **Codemap extension for structural summaries (ccd#233 / ccd#96).** CCD can
  now ingest, store, and serve per-file codemap summaries through
  `ccd codemap import`, `ccd codemap status`, `ccd codemap query`, and the
  `ccd_codemap` MCP tool when built with the opt-in `extension-codemap`
  feature.
- **Session intent signals and radar workflow hints (ccd#234 / ccd#100).**
  Clone-local session state now tracks `general`, `research`, and `implement`
  modes, and `ccd radar-state` can emit structured `workflow_hints` so host
  skills can suggest a fresh implementation session without making CCD itself
  a workflow engine.

### Changed

- **Dispatch continuity is now SQLite-only (ccd#232 / ccd#230).** The legacy
  `focus.md`, `manifest.md`, and JSON fallback paths for dispatch state were
  removed; the canonical dispatch DB is now the only read/write surface.
- **Canonical file-write tracing is broader.** `CCD_LOG=debug` now records the
  destination path and write intent for dispatch, remember, and memory-promotion
  writes, making file-surface mutations easier to audit during agent sessions.
- **Breaking: clone-local `state.db` user_version bumped from 3 to 4.** The
  session table now persists `mode` (`general` / `research` / `implement`),
  and `RADAR_STATE_SCHEMA_VERSION` is now `14`. Older `ccd 0.7.0` binaries
  will fail closed against state upgraded by this release until the CLI is
  reinstalled or upgraded.

## [0.7.0] - 2026-03-26

### Added

- **Structured memory scopes across clone, branch, and pod layers (ccd#225, ccd#111).**
  The memory overlay chain now supports clone-local, branch-shared, and
  pod-shared structured memory in addition to the existing profile and repo
  layers. `ccd remember`, `ccd memory compact`, and `ccd memory promote`
  gained the matching scope and promotion paths.
- **First-class multi-host pod scope (ccd#112).** Pod identity is now a native
  kernel primitive rather than ad hoc workflow guidance, allowing one actor to
  resume the same CCD profile across multiple hosts while keeping shared pod
  state explicit.
- **Execution gates for session focus (ccd#227).** Clone-local execution gates
  now live in `state.db`, with `ccd session-state gates ...` commands plus
  `start`, `radar-state`, and `runtime-state export` surfacing the first
  unfinished gate as the current attention anchor.

### Changed

- **Memory resolution and promotion now form a fuller kernel overlay ladder.**
  Effective memory now composes profile -> repo -> pod -> branch -> clone for
  the scopes available to a checkout, while reviewed promotion paths can move
  learned state upward across those same boundaries.
- Runtime, compiled-state, and radar projections now include the new pod and
  execution-gate surfaces, so continuity and operator-facing summaries track
  the same canonical state that mutation commands write.

## [0.6.5] - 2026-03-24

### Added

- **Opt-in structured logging (ccd#217).** `CCD_LOG` env var enables structured
  `tracing` output to stderr. Instrumented boundaries: command dispatch, DB
  open/migration, git subprocesses, external adapter execution, `start`, and
  `radar-state`. Default: off (zero overhead). stdout is never touched.
- Regression tests for stdout isolation with `CCD_LOG=debug` for both
  `--output json` and `mcp-serve` JSON-RPC.
- `Debugging with Logs` section in the cheatsheet.

### Changed

- **Locality-neutral Ring 0 contracts (ccd#207).** Public JSON keys renamed from
  `repo_focus` / `repo_memory` / `repo_focus_active` / `repo_focus_assignment`
  to `locality_focus` / `locality_memory` / `locality_focus_active` /
  `locality_focus_assignment`. Internal implementation names stay repo-shaped.
  `KERNEL_CONTRACT.md` updated. **Breaking:** machine consumers of `ccd start`,
  `ccd radar-state`, and `ccd runtime-state export` JSON must use the new keys.
- `CompiledStateStore` schema version bumped 3 to 4; `RADAR_STATE_SCHEMA_VERSION`
  bumped 10 to 11 (was already 11 in 0.6.4 changelog, now effectively 12 after
  the backlog dispatch migration).
- `ProjectionDigests` carries a serde alias for backward-compatible
  deserialization of old `state.db` rows containing `repo_focus`.
- **Backlog dispatch state moved to SQLite (ccd#214).** Local dispatch
  assignments now live in `state.db` instead of `focus.md`, completing the
  extension-private storage migration.
- GitHub backlog bindings activated on `ccd backlog pull`.
- Local-markdown backlog adapter: tightened reference handling and normalized
  continuity messages.

### Fixed

- GitHub Actions workflows bumped to Node 24 runtimes.
- Pituitary spec hygiene workflow added and hardened.

## [0.6.4] - 2026-03-23

### Added

- **SQLite clone-state kernel (ccd#172 / ccd#178).** Clone-local CCD runtime
  state now lives in `state.db`, giving `start`, `doctor`, `radar-state`, and
  session lifecycle commands a single native store for handoff, recovery, and
  projection data.
- `ccd handoff write`, `ccd handoff write-recovery`, and related native state
  export surfaces for explicitly authoring clone-local handoff and recovery
  payloads without editing derived markdown by hand.

### Changed

- **Workflow ownership moved behind extensions.** Repo-scoped focus, dispatch,
  backlog policy, and radar workflow coaching are now extension-owned rather
  than kernel-owned, continuing the boundary split introduced in `0.6.3`.
- `ccd radar-state` now reports extension-owned workflow guidance and no longer
  exposes the kernel-owned `backlog_cache` JSON surface. The radar schema is
  now version `11`.
- The profile and repo overlay configuration surfaces were consolidated around
  `config.toml`, reducing duplicate kernel/runtime config paths during startup
  and migration flows.

### Fixed

- **Wrap-up safety around closed work (#180).** `ccd radar-state` once again
  forces recalibration when the active branch, session assignment, or handoff
  still points at closed backlog work, even after the workflow guidance moved
  behind extension boundaries.
- `ccd doctor` now respects extension health severity instead of flattening
  extension-owned workflow problems into generic kernel warnings.
- `--no-default-features` and release CI now validate the extension boundary
  more strictly, preventing feature-gated regressions from shipping in the
  standalone binary.

## [0.6.3] - 2026-03-18

### Changed

- **Backlog implementation extraction (ccd#108).** The shipped backlog command,
  cache, and continuity implementation now lives under `src/extensions/`
  instead of kernel-owned module paths.
- Core backlog consumers now import the extension-owned state and command
  modules directly; the temporary `src/commands/backlog.rs` and
  `src/state/backlog.rs` compatibility shims were removed in the same slice.
- The `ccd backlog ...-github` compatibility aliases remain available during
  the adapter migration window, but the Rust source ownership now matches the
  backlog extension boundary.

## [0.6.2] - 2026-03-18

### Changed

- **Native-canonical handoff runtime state (ccd#150).** Clone-local handoff
  runtime truth now lives in `runtime_state/state.json`, while `handoff.md`
  is treated as a derived human-readable export instead of a peer source of
  runtime truth.
- `ccd handoff refresh` now regenerates the handoff export from canonical
  native state and no longer imports edited markdown back into runtime state
  except through the explicit legacy bootstrap path in `ccd start`.
- `ccd runtime-state export`, `ccd start`, `ccd doctor`, and `ccd radar-state`
  now report handoff export staleness separately from canonical runtime state
  instead of failing closed on drifted markdown exports.

## [0.6.1] - 2026-03-17

### Added

- **Backlog provider mismatch detection (ccd#142).** When the backlog adapter is
  `local-markdown` with no active items and the origin remote points to GitHub,
  `ccd start` emits a `backlog_provider_mismatch` warning with the
  `pull-github` command hint.
- `github_remote_owner_repo()` helper to parse SSH and HTTPS GitHub URLs from
  `git remote get-url origin`.

### Fixed

- `session-state start` now emits a "legacy session state detected" message
  when encountering v2 session state files instead of being silent.

## [0.6.0] - 2026-03-17

### Added

- **Session-based dispatch identity (ccd#136).** Focus assignments are now keyed
  by a CLI-minted session ID (`ses_<ulid>`) instead of the git branch name.
  Sessions survive branch switches and detached HEAD. Pre-session branch-keyed
  entries are adopted automatically by `session-state start`.
- **Explicit startup disposition (ccd#135).** `ccd start` emits a machine-readable
  `disposition` field (`ResumeActiveContinuity`, `NeedsContinuityInput`,
  `NoActiveContinuity`, `WorkflowAttentionRequired`) so skills can react to
  startup state without parsing alerts.
- **Session continuity on checkout changes (ccd#137).** Detached HEAD and
  landed-branch checkout states preserve session continuity instead of resetting
  the handoff. Checkout snapshot drift is advisory only.
- **Continuity / workflow-signal separation (ccd#134).** Handoff freshness and
  issue-reference drift are classified as continuity signals or workflow signals,
  allowing the start and radar layers to prioritize them independently.
- `Session:` line in handoff Current System State, refreshed alongside Branch
  and HEAD.
- `session_branch_drift` informational drift signal in radar when the session
  assignment's recorded branch differs from the current git branch.
- `session-state start` and `session-state clear` perform focus-entry cleanup
  (adoption, stale-session pruning) as lifecycle side effects.

### Changed

- `ccd init` renamed to `ccd attach` (`init` kept as a hidden alias).
- `ccd start` auto-offers `ccd attach` when the repo is not linked.
- `ccd attach` detects already-attached repos and short-circuits.
- Native profile and repo runtime mirrors for structured state access.
- `session_state.json` schema bumped to v3 (backward-compatible; v2 files
  trigger a fresh session on next `session-state start`).
- Landed-branch dispatch skipping only applies in the pre-session branch-based
  fallback; session-based dispatch takes priority.
- Focus-update errors in `session-state start` and `session-state clear` now
  fail closed instead of being swallowed.

### Fixed

- Radar and doctor handoff freshness checks now use the staleness-gated session
  ID, preventing stale sessions from influencing freshness comparisons.
- Doctor and drift propagate `session_state.json` parse errors instead of
  silently falling back to no-session mode.
- Native runtime lifecycle values accept lowercase variants.
- Radar aligns with runtime handoff state for authored-first fixtures.

## [0.5.0] - 2026-03-15

### Added

- Unified backlog adapter execution boundaries, including built-in
  `local-markdown` support and external-adapter fixtures.
- Actor-local intent, attempt-memory tracking, and `ccd start --check`
  readiness surfaces.
- `ccd checkpoint` as an alias for `ccd radar-state`.

### Changed

- Start, radar, and handoff/runtime refresh flows are faster through the new
  compiled-state and git-read fast paths.
- Repo focus now separates dispatch assignments from actor-local intent, and
  missing backlog cache state is treated as optional instead of blocking start
  and radar flows.

### Fixed

- Backlog adapter refresh and mutation paths fail closed more consistently
  across provider switches and capability boundaries.
- `ccd start` and `ccd radar-state` now treat repo-focus assignments as the
  primary issue-reference mapping and warn before stale closed issue numbers are
  reused in handoffs or branches.

## [0.4.1] - 2026-03-15

### Added

- Provider-neutral backlog CLI entrypoints under `ccd backlog`.
- Backlog adapter capability discovery and normalized `claimed_by` handling.
- `ccd backlog promote-next`.
- `ccd remember` and the memory-transfer evaluation harness.
- Repository identity inspection surfaces with `ccd repo status` and
  `ccd repo list`.

### Changed

- Reviewed memory compaction surfaces and deterministic lifecycle metadata.
- Runtime projections now exclude expired memory entries.
- Session startup and radar flows are faster and more explicit about recovery.
- Clone-local recovery surfaces and bundle preview support landed in the
  runtime/session loop.

### Fixed

- Merged-branch handoff reset logic is more robust.
- Backlog cache refresh and focus cleanup paths are less error-prone.
- Skill binary resolution no longer falls back to stale worktree-local binaries.

## [0.4.0] - 2026-03-11

### Notes

- Baseline `0.4.x` release before the `0.4.1` backlog, memory, runtime, and
  repo-administration follow-ons.

[1.0.0-alpha]: https://github.com/dusk-network/ccd/compare/v0.9.0...v1.0.0-alpha
[0.9.0]: https://github.com/dusk-network/ccd/compare/v0.8.1...v0.9.0
[0.8.1]: https://github.com/dusk-network/ccd/compare/v0.8.0...v0.8.1
[0.8.0]: https://github.com/dusk-network/ccd/compare/v0.7.0...v0.8.0
[0.7.0]: https://github.com/dusk-network/ccd/compare/v0.6.5...v0.7.0
[0.6.5]: https://github.com/dusk-network/ccd/compare/v0.6.4...v0.6.5
[0.6.4]: https://github.com/dusk-network/ccd/compare/v0.6.3...v0.6.4
[0.6.3]: https://github.com/dusk-network/ccd/compare/v0.6.2...v0.6.3
[0.6.2]: https://github.com/dusk-network/ccd/compare/v0.6.1...v0.6.2
[0.6.1]: https://github.com/dusk-network/ccd/compare/v0.6.0...v0.6.1
[0.6.0]: https://github.com/dusk-network/ccd/compare/v0.5.0...v0.6.0
[0.5.0]: https://github.com/dusk-network/ccd/compare/v0.4.1...v0.5.0
[0.4.1]: https://github.com/dusk-network/ccd/compare/v0.4.0...v0.4.1
[0.4.0]: https://github.com/dusk-network/ccd/releases/tag/v0.4.0