Skip to content

ci+docs: reverse engine-contract CI + point install story at @opencoven/cli (Phase 2)#151

Merged
BunsDev merged 1 commit into
mainfrom
feat/phase2-engine
Jul 13, 2026
Merged

ci+docs: reverse engine-contract CI + point install story at @opencoven/cli (Phase 2)#151
BunsDev merged 1 commit into
mainfrom
feat/phase2-engine

Conversation

@BunsDev

@BunsDev BunsDev commented Jul 13, 2026

Copy link
Copy Markdown
Member

Summary

Engine-side of Phase 2 of the CLI unification (companion to OpenCoven/coven#347). Two things, both low-risk:

  • Reverse engine-contract CI job (.github/workflows/rust-ci.yml) — builds this engine and runs coven's engine contract tests against it, so an engine change that breaks the coven↔engine contract is caught here, before release. It's marked continue-on-error: true for now because coven's main only gains the contract tests once coven#346 + #347 merge; until then cargo test contract matches zero tests and passes. A comment documents flipping it to a hard gate once the suite lands and the job is proven stable.
  • Install story points at the unified CLIinstall.sh, install.ps1, npm/package.json description, and npm/README.md now recommend npm install -g @opencoven/cli (which installs and manages this engine for you). All install logic is unchanged — the script diffs are purely added notice lines; standalone installs keep working (they remain the engine artifact source). npm deprecate was NOT run.

Why

coven drives coven-code as a separate managed process (license boundary: MIT coven ↔ GPL-3.0 engine). This engine keeps shipping its own release binaries — coven downloads and pins them — but users should now reach for the unified @opencoven/cli rather than installing the engine directly.

Verification

  • rust-ci.yml / npm/package.json validated (YAML/JSON parse); bash -n install.sh clean.
  • git diff install.sh install.ps1 shows only added notice lines — zero logic changes.
  • No deprecated field added to package.json.

🤖 Generated with Claude Code

…coven/cli

Adds a (non-blocking, bootstrap) job that runs coven's engine contract tests
against this engine, and updates install.sh/install.ps1/npm to recommend the
unified `@opencoven/cli` while keeping standalone installs working.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 13, 2026 00:36
@vercel

vercel Bot commented Jul 13, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview Jul 13, 2026 12:36am

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds Phase 2 “engine-side” support for the unified CLI by (1) introducing a reverse engine-contract CI job that builds coven-code and runs OpenCoven/coven contract tests against it, and (2) updating install/docs messaging to recommend the unified @opencoven/cli while keeping standalone engine installs intact.

Changes:

  • Add a new non-blocking coven-contract GitHub Actions job that builds this repo’s engine binary and executes coven’s contract tests against it.
  • Update install.sh / install.ps1 to print a one-line tip recommending npm install -g @opencoven/cli (no install logic changes).
  • Update npm package description and README to point users at the unified CLI as the recommended install path.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
.github/workflows/rust-ci.yml Adds the reverse engine-contract CI job to exercise coven’s contract tests against this engine (non-blocking for now).
install.sh Adds an informational tip recommending the unified CLI while preserving standalone install behavior.
install.ps1 Adds an informational tip recommending the unified CLI while preserving standalone install behavior.
npm/package.json Updates package description to clarify the unified CLI as the recommended install path.
npm/README.md Adds a prominent “recommended install” note pointing to @opencoven/cli.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +84 to +88
- name: Install system dependencies (engine + coven)
run: |
sudo apt-get update
sudo apt-get install -y libasound2-dev pkg-config libopenblas-dev

Comment on lines +93 to +98
- name: Check out OpenCoven/coven
uses: actions/checkout@v5
with:
repository: OpenCoven/coven
path: coven-main
persist-credentials: false
@BunsDev

BunsDev commented Jul 13, 2026

Copy link
Copy Markdown
Member Author

Reviewed. Verified beyond the green check (since continue-on-error: true can mask failures):

  • The contract job ran end-to-end on this PR: engine built, --version printed, and coven's cargo test -p coven-cli contract ran with 0 matched / 3 filtered out — exactly the documented bootstrap state until coven#346 lands.
  • install.sh / install.ps1: print_message / Write-Info are defined before the new call sites, and --help exits inside arg parsing before the tip prints.
  • Bin name coven-code matches crates/cli/Cargo.toml [[bin]]; the coven-cli package exists in OpenCoven/coven.
  • npm/package.json: only description changed; the version field (stamped by bump-version.py) is untouched.

Nit, non-blocking: the contract job has no cargo cache, so each run is a cold release build (~7 min). Worth adding when continue-on-error is removed and this becomes a hard gate.

Commit carries an AI co-author trailer (forbidden by AGENTS.md); stripped in the squash-merge message. Merging.

@BunsDev
BunsDev merged commit dc40d25 into main Jul 13, 2026
4 checks passed
@BunsDev
BunsDev deleted the feat/phase2-engine branch July 13, 2026 01:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants