feat(deepctl-core): use dg alias in plugin venv ABI mismatch warning#47
Merged
lukeocodes merged 1 commit intomainfrom May 1, 2026
Merged
feat(deepctl-core): use dg alias in plugin venv ABI mismatch warning#47lukeocodes merged 1 commit intomainfrom
lukeocodes merged 1 commit intomainfrom
Conversation
Two release-infrastructure fixes that go together: 1. Register deepctl-cmd-debug-toolkit with release-please The package was added in 768f34f (feat(debug): add toolkit subcommand) but never wired into release-please. Result: not on PyPI, never built or published, even though the umbrella deepctl pyproject.toml declares it as a dependency. Once deepctl 0.2.19 publishes, pip install deepctl would fail with a missing-dep error because deepctl-cmd-debug-toolkit doesn't exist on PyPI. - .github/release-please-config.json: register the package - .github/.release-please-manifest.json: set initial version to 0.0.0 so release-please's first release bumps it to 0.0.1 (matching pyproject.toml's pinned version) 2. Trigger deepctl-core release with the plugin venv ABI warning The plugin warning landed in fb22d8a but its squash-merge body had markdown tables and headings that broke release-please's conventional-commits parser ('commit could not be parsed: fb22d8a...'). release-please skipped the commit entirely, so deepctl-core stayed at 0.2.8 in the manifest and the plugin warning code never ships to PyPI users. Tweaks the warning's remediation hint from 'deepctl plugin install' to 'dg plugin install' (the canonical user-facing alias used everywhere else in user messages and docs). This is a small real improvement, and gives release-please a clean parseable conventional-commit on a deepctl-core path so the bump to 0.2.9 is detected. 3. Regenerate stale READMEs scripts/generate_readmes.py --check flagged 3 stale READMEs on main: root README, deepctl-cmd-listen, deepctl-cmd-mcp. Plus the new deepctl-cmd-debug-toolkit/README.md that was missing entirely. Regenerating all four brings the doc set into sync. After this lands, release-please's PR (currently #46) will recompute to include all three: deepctl 0.2.19, deepctl-cmd-debug-toolkit 0.0.1, deepctl-core 0.2.9. Merging that PR fires the release for all three at once, which is the only configuration where pip install deepctl==0.2.19 resolves cleanly.
Merged
lukeocodes
pushed a commit
that referenced
this pull request
May 1, 2026
🤖 I have created a release *beep* *boop* --- <details><summary>0.2.19</summary> ## [0.2.19](v0.2.18...v0.2.19) (2026-05-01) ### Features * **debug:** add toolkit subcommand for deepgram/support-toolkit scripts ([768f34f](768f34f)) * **deepctl-core:** use dg alias in plugin venv ABI mismatch warning ([#47](#47)) ([c7c61c0](c7c61c0)) ### Documentation * add dx-stack rules to CLAUDE.md, add cross-stack hook ([f4fbf3e](f4fbf3e)) </details> <details><summary>deepctl-core: 0.2.9</summary> ## [0.2.9](deepctl-core-v0.2.8...deepctl-core-v0.2.9) (2026-05-01) ### Features * **deepctl-core:** use dg alias in plugin venv ABI mismatch warning ([#47](#47)) ([c7c61c0](c7c61c0)) </details> <details><summary>deepctl-cmd-debug-toolkit: 0.1.0</summary> ## 0.1.0 (2026-05-01) ### Features * **debug:** add toolkit subcommand for deepgram/support-toolkit scripts ([768f34f](768f34f)) * **deepctl-core:** use dg alias in plugin venv ABI mismatch warning ([#47](#47)) ([c7c61c0](c7c61c0)) </details> <details><summary>deepctl-cmd-mcp: 0.1.13</summary> ## [0.1.13](deepctl-cmd-mcp-v0.1.12...deepctl-cmd-mcp-v0.1.13) (2026-05-01) ### Features * **deepctl-core:** use dg alias in plugin venv ABI mismatch warning ([#47](#47)) ([c7c61c0](c7c61c0)) </details> <details><summary>deepctl-cmd-listen: 0.0.10</summary> ## [0.0.10](deepctl-cmd-listen-v0.0.9...deepctl-cmd-listen-v0.0.10) (2026-05-01) ### Features * **deepctl-core:** use dg alias in plugin venv ABI mismatch warning ([#47](#47)) ([c7c61c0](c7c61c0)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two release-infrastructure fixes that need to land before #46 (release-please's
chore: release main) is merged. Without this,pip install deepctl==0.2.19will fail to resolve dependencies for every user.What's broken
🔴 Install-blocker:
deepctl-cmd-debug-toolkitis a phantom packageThe toolkit subcommand was added in
768f34f(feat(debug): add toolkit subcommand for deepgram/support-toolkit scripts). The commit:packages/deepctl-cmd-debug-toolkit/withpyproject.toml,src/, etc.deepctl-cmd-debug-toolkit>=0.0.1to the umbrellapyproject.tomldependencies[tool.uv.sources]workspace mappingrelease-please-config.json.release-please-manifest.jsonResult: the package has never been built or published.
pip install deepctl-cmd-debug-toolkitreturnsNot Foundon PyPI today. Whendeepctl 0.2.19publishes withdeepctl-cmd-debug-toolkit>=0.0.1in its dependency list, pip will try to resolve that and fail with a missing-distribution error.AGENTS.md step 6 calls out exactly this set of files as the workspace integration checklist for new packages — it just wasn't followed.
🟡 deepctl-core's plugin warning never reaches PyPI users
fb22d8a(the squash merge of #42) added_warn_if_plugin_venv_python_mismatch()todeepctl-core'sPluginManager. But its squash-merge body included markdown tables and## Summary/## What landsheadings, andconventional-commits-parserchoked on it. The release-please run logs show:release-please skipped the commit entirely. So deepctl-core stayed at 0.2.8 in the manifest, no bump, no PyPI release. The umbrella
deepctl 0.2.19will publish withdeepctl-core>=0.1.10which pip resolves to PyPI's 0.2.8 — the version before the plugin warning was added. The warning code is onmainbut no PyPI user gets it.Fixes in this PR
Register
deepctl-cmd-debug-toolkitwith release-please..github/release-please-config.json— add the package block (matches the convention every other sub-package uses).github/.release-please-manifest.json— add\"packages/deepctl-cmd-debug-toolkit\": \"0.0.0\"so release-please's first release bumps it to0.0.1(matchespyproject.toml)Trigger deepctl-core release with a parseable conventional commit.
Tweaks the plugin warning's remediation hint from
deepctl plugin installtodg plugin install— the canonical user-facing alias used everywhere else in user messages and docs. Small real improvement. The squash-merge titlefeat(deepctl-core): ...parses cleanly and gives release-please a path-attributable feat onpackages/deepctl-core/*to detect.Regenerate stale READMEs.
scripts/generate_readmes.py --checkflagged 3 stale READMEs onmain(root,deepctl-cmd-listen,deepctl-cmd-mcp) plus the missingdeepctl-cmd-debug-toolkit/README.md. All four regenerated.After this merges
release-please will recompute and PR #46's body will look like:
Merging #46 then publishes all three to PyPI in one release event, and
pip install deepctl==0.2.19resolves end-to-end.Verification
ruff format --check src/ packages/*/src— 112 files already formattedruff check src/ packages/*/src— cleanmypy --strict src/ packages/*/src— clean (112 source files)python scripts/generate_readmes.py --check— all currentdeepctlvsdg)Pre-existing comments / docstrings
A couple of necessary comments still in this PR were retained per project convention:
_warn_if_plugin_venv_python_mismatchdocstring — Category 3, documents the when (Homebrew Python upgrade scenario), the why-warn-instead-of-block contract, and None semantics. Same justification as in feat: add Homebrew tap support with release auto-bump and plugin Python ABI guard #42.deepctl→dg) and a minor improvement, not a behavioral change.