Skip to content

Commit 8f4fb01

Browse files
BunsDevCopilot
andauthored
docs: seal the unification record — all phases landed, Phase 6 NO-GO (#164)
Close out the coven CLI unification paperwork now that every phase has landed: - unification.md: status complete; phase table rows 5 and 6 finalized (Phase 5 landed via #154/#158/#160 with the npm deprecation executed and npm-publish made opt-in in #162; Phase 6 decided NO-GO via #155); npm-package note rewritten in past tense. - superpowers plans: COMPLETE status banners on the master plan and the phase 3/4/5 sub-plans pointing at docs/unification.md as the living summary; phase 5 task 5.3 marked done (coven-side version_line landed) and task 5.6 recorded as executed. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent edb4386 commit 8f4fb01

5 files changed

Lines changed: 40 additions & 13 deletions

docs/superpowers/plans/2026-07-12-coven-cli-unification.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# Coven CLI Unification Implementation Plan
22

3+
> **Status: COMPLETE (sealed 2026-07-14).** Every phase landed — engine side
4+
> via coven-code #150#155, #158, #160, #162; coven side via #346, #353,
5+
> #354, #355. Phase 6 decided **NO-GO** (keep the process boundary; ADR:
6+
> [`2026-07-14-phase6-source-merge-decision.md`](2026-07-14-phase6-source-merge-decision.md)).
7+
> This plan is a historical record; the living summary is
8+
> [`docs/unification.md`](../../unification.md).
9+
310
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
411
512
**Goal:** Make `coven` the one CLI users install and type for everything — interactive agent work, headless runs, session management, auth, models — with coven-code absorbed as a managed, invisible engine.

docs/superpowers/plans/2026-07-12-phase3-engine-harness.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Phase 3 — Engine as a First-Class Daemon-Ledgered Harness
22

3+
> **Status: COMPLETE (sealed 2026-07-14).** Track A landed via coven #354;
4+
> Track B via coven #355 (daemon endpoints) + coven-code #152 (opt-in TUI
5+
> notifier). Historical record; see [`docs/unification.md`](../../unification.md).
6+
37
> **For agentic workers:** REQUIRED SUB-SKILL: superpowers:subagent-driven-development. Steps use `- [ ]`. This is the Phase 3 sub-plan of `2026-07-12-coven-cli-unification.md`.
48
59
**Goal:** `coven run coven-code "task"` produces a normal ledgered session (detach/attach/kill/archive/search); the bare-prompt cast defaults to the engine; and interactive engine TUI sessions register themselves in the daemon ledger so `coven sessions` sees them.

docs/superpowers/plans/2026-07-12-phase4-state-unification.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Phase 4 — State, Config & Auth Unification under `~/.coven`
22

3+
> **Status: COMPLETE (sealed 2026-07-14).** Track C landed via coven-code
4+
> #153 (engine home `~/.coven/code/`, in-place migration, compatibility
5+
> symlink, config layering). Historical record; see
6+
> [`docs/unification.md`](../../unification.md).
7+
38
> **For agentic workers:** REQUIRED SUB-SKILL: superpowers:subagent-driven-development. Steps use `- [ ]`. Phase 4 sub-plan of `2026-07-12-coven-cli-unification.md`.
49
510
**Goal:** one state root (`~/.coven`), layered config, no user-visible `~/.coven-code` on fresh installs, one auth story surfaced by one doctor, and search that spans engine TUI sessions.

docs/superpowers/plans/2026-07-14-phase5-brand-sweep.md

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# Phase 5 — Brand / UX Naming Sweep
22

3+
> **Status: COMPLETE (sealed 2026-07-14).** Landed via coven-code #154
4+
> (user-facing sweep + direct-invocation notice), #158 (LLM-facing tool
5+
> descriptions), #160 (ACP display name). Task 5.6 npm deprecation was
6+
> executed with user approval — the registry now serves the deprecation
7+
> notice — and #162 made engine npm-publish opt-in per release. Historical
8+
> record; see [`docs/unification.md`](../../unification.md).
9+
310
> Phase 5 sub-plan of the coven CLI unification. Curated, recon-grounded. Only USER-FACING surfaces change; the binary name (`coven-code`/`coven-cave`), `claurst-*` crates, `COVEN_CODE_*` env vars, `.coven-code` internal paths, and repo URLs STAY (per COVEN.md).
411
512
**Goal:** users see the unified "Coven" brand; nobody is told to install/use "coven-code" separately; `coven --version` surfaces the whole stack.
@@ -31,11 +38,11 @@ DO NOT change: binary/crate/env/path/theme-const/test/comment/repo-URL reference
3138
### 5.1 — direct-invocation notice [coven-code]
3239
In `crates/cli/src/main.rs` after `Cli::parse()` (~line 503) and after the `is_headless` determination (~643): if the run is INTERACTIVE (not headless/print/prompt), stdout/stderr is a TTY (`crossterm::terminal::is_terminal`), AND `COVEN_PARENT` is unset → `eprintln!` the dim notice once (before `run_interactive`). Silent when `COVEN_PARENT` is set (driven by coven) or non-interactive. The `coven-cave` alias re-execs `coven-code`, so it inherits this. Test the pure decision (`should_show_engine_notice(is_interactive, is_tty, coven_parent_set) -> bool`).
3340

34-
## Task 5.3 — `coven --version` surfaces engine + pin [coven]IN PROGRESS
35-
Custom `--version` intercept `coven <desc> (engine coven-code <installed|not installed>, pinned <pinned>)`. (dispatched)
41+
## Task 5.3 — `coven --version` surfaces engine + pin [coven]DONE
42+
Custom `--version` intercept landed on coven main (`version_line()` in `crates/coven-cli/src/main.rs`): `coven <desc> (engine coven-code <installed|not installed>, pinned <pinned>)`.
3643

37-
## Task 5.6 — npm deprecation [HELDoutward-facing, needs explicit user go-ahead]
38-
`npm deprecate @opencoven/coven-code "Install @opencoven/cli — coven-code is now the Coven engine"`. Engine binaries keep shipping via GitHub Releases. DO NOT run autonomously; surface for confirmation.
44+
## Task 5.6 — npm deprecation [DONEexecuted with user approval]
45+
`npm deprecate @opencoven/coven-code "Install @opencoven/cli — coven-code is now the Coven engine"` has been run; the registry serves the notice. Engine binaries keep shipping via GitHub Releases (npm publish is opt-in per release since #162).
3946

4047
## Exit check
4148
A new user reaches install → first session without seeing the string "coven-code" in any prose surface; running `coven-code` directly prints the "use coven" hint; `coven --version` shows coven + engine + pin.

docs/unification.md

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# The Coven merge — unified CLI guide
22

3-
**Status:** in progress · **Last verified:** 2026-07-13 · **Contract:** v1
3+
**Status:** complete — all phases landed, Phase 6 decided (keep the process
4+
boundary) · **Last verified:** 2026-07-14 · **Contract:** v1
45

56
This guide explains the merge of `coven-code` into the unified `coven` CLI
67
("the Coven CLI unification"), what users need to do to move over seamlessly,
@@ -85,7 +86,7 @@ one, without waiting for a coven release.
8586

8687
---
8788

88-
## 2. Where the merge stands (verified 2026-07-12)
89+
## 2. Where the merge stands (verified 2026-07-14 — sealed)
8990

9091
| Phase | Deliverable | Status |
9192
|---|---|---|
@@ -95,8 +96,8 @@ one, without waiting for a coven release.
9596
| 3A | Engine as first-class harness; bare prompts prefer the engine | **Landed** — coven [#354](https://github.com/OpenCoven/coven/pull/354) merged, zero engine-side changes |
9697
| 3B | Externally-owned sessions in the daemon ledger | **Landed** — coven [#355](https://github.com/OpenCoven/coven/pull/355) (daemon endpoints) + coven-code [#152](https://github.com/OpenCoven/coven-code/pull/152) (TUI notifier, opt-in `daemonLedger` setting) merged |
9798
| 4 | State/config/auth unification under `~/.coven` | **Landed** — coven-code [#153](https://github.com/OpenCoven/coven-code/pull/153) merged (engine home `~/.coven/code/` with in-place migration + shared settings layer) |
98-
| 5 | Brand/UX sweep, npm deprecation of the engine package | **In progress** — coven-code [#154](https://github.com/OpenCoven/coven-code/pull/154) merged (user-facing rebrand + direct-invocation notice); npm deprecation pending |
99-
| 6 | Decision gate: full source merge | Standing recommendation: **don't** — keep the process boundary |
99+
| 5 | Brand/UX sweep, npm deprecation of the engine package | **Landed** — coven-code [#154](https://github.com/OpenCoven/coven-code/pull/154) (user-facing rebrand + direct-invocation notice), [#158](https://github.com/OpenCoven/coven-code/pull/158) (LLM-facing tool descriptions), [#160](https://github.com/OpenCoven/coven-code/pull/160) (ACP display name); `@opencoven/coven-code` deprecated on npm (notice points at `@opencoven/cli`); engine npm-publish made opt-in per release, GitHub Releases stay the artifact source ([#162](https://github.com/OpenCoven/coven-code/pull/162)) |
100+
| 6 | Decision gate: full source merge | **DecidedNO-GO**, keep the process boundary ([#155](https://github.com/OpenCoven/coven-code/pull/155), ADR: [`2026-07-14-phase6-source-merge-decision.md`](superpowers/plans/2026-07-14-phase6-source-merge-decision.md)) |
100101

101102
The coven-side phases landed in order (#346, #353, #354, #355; the original
102103
stacked PRs #347#349 were superseded by these re-landed equivalents after
@@ -162,11 +163,14 @@ Notes:
162163
- Direct `coven-code …` invocation remains fully supported. Since the
163164
Phase 5 sweep (#154) it prints one dim notice line when run interactively
164165
outside coven (`COVEN_PARENT` unset); scripted/delegated runs stay silent.
165-
- The `@opencoven/coven-code` npm package keeps working through Phase 5, and
166-
only then gets an `npm deprecate` notice. GitHub release archives remain
167-
the artifact source permanently (they are what `coven engine install`
168-
downloads). Note the bare `coven-code` npm name is an unrelated, already
169-
deprecated package — only the scoped name is real.
166+
- The `@opencoven/coven-code` npm package is **deprecated** (the notice
167+
points at `@opencoven/cli`). Installed copies keep working, but new engine
168+
versions are no longer published to npm by default — publishing is an
169+
opt-in switch per release since [#162](https://github.com/OpenCoven/coven-code/pull/162).
170+
GitHub release archives remain the artifact source permanently (they are
171+
what `coven engine install` downloads). Note the bare `coven-code` npm
172+
name is an unrelated, already deprecated package — only the scoped name
173+
is real.
170174
- Version drift: if your PATH engine is older than coven's pin you get a
171175
one-line warning; below `MIN_ENGINE_VERSION` (0.6.1) coven refuses with an
172176
actionable message. `coven engine install` fixes both.

0 commit comments

Comments
 (0)