convertible-cli 0.2.1__tar.gz → 0.2.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.
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/CHANGELOG.md +6 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/PKG-INFO +8 -1
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/README.md +7 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/pyproject.toml +1 -1
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/uv.lock +1 -1
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/agent-config/SKILL.md +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/agent-config/data/backend-fingerprints.yaml +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/agent-config/scripts/show.sh +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/assign-to-workforce/SKILL.md +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/assign-to-workforce/scripts/assign-to-workforce.sh +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/cicd/SKILL.md +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/cicd/scripts/_resolve-nick.sh +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/cicd/scripts/portability-lint.sh +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/cicd/scripts/pr-reply.sh +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/cicd/scripts/pr-status.sh +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/cicd/scripts/workflow.sh +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/communicate/SKILL.md +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/communicate/scripts/fetch-issues.sh +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/communicate/scripts/mesh-message.sh +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/communicate/scripts/post-comment.sh +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/communicate/scripts/post-issue.sh +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/communicate/scripts/templates/skill-new-brief.md +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/communicate/scripts/templates/skill-update-brief.md +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/doc-test-alignment/SKILL.md +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/doc-test-alignment/scripts/check.sh +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/pypi-maintainer/SKILL.md +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/pypi-maintainer/scripts/switch-source.sh +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/run-tests/SKILL.md +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/run-tests/scripts/test.sh +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/sonarclaude/SKILL.md +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/sonarclaude/scripts/sonar.sh +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/spec-to-plan/SKILL.md +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/spec-to-plan/scripts/spec-to-plan.sh +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/think/SKILL.md +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/think/scripts/think.sh +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/version-bump/SKILL.md +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/version-bump/scripts/bump.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills.local.yaml.example +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.devague/current +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.devague/current_plan +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.devague/frames/convertible-v0-ships-point-it-at-a-repo-task-and-i.json +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.devague/plans/convertible-v0-ships-point-it-at-a-repo-task-and-i.json +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.flake8 +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.github/workflows/publish.yml +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.github/workflows/tests.yml +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.gitignore +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/.markdownlint-cli2.yaml +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/CLAUDE.md +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/LICENSE +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/convertible/__init__.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/convertible/__main__.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/convertible/artifact.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/convertible/cli/__init__.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/convertible/cli/_commands/__init__.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/convertible/cli/_commands/cli.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/convertible/cli/_commands/doctor.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/convertible/cli/_commands/drive.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/convertible/cli/_commands/explain.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/convertible/cli/_commands/learn.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/convertible/cli/_commands/overview.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/convertible/cli/_commands/wheels.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/convertible/cli/_commands/whoami.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/convertible/cli/_errors.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/convertible/cli/_output.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/convertible/config.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/convertible/contract.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/convertible/engine.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/convertible/engines/__init__.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/convertible/engines/mock.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/convertible/engines/vllm_openai.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/convertible/explain/__init__.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/convertible/explain/catalog.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/convertible/handoff.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/convertible/loop.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/convertible/registry.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/convertible/tools.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/culture.yaml +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/docs/plans/2026-05-26-convertible-v0-ships-point-it-at-a-repo-task-and-i.md +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/docs/skill-sources.md +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/docs/specs/2026-05-26-convertible-v0-ships-point-it-at-a-repo-task-and-i.md +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/sonar-project.properties +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/tests/__init__.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/tests/test_artifact.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/tests/test_cli.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/tests/test_cli_introspection.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/tests/test_config.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/tests/test_contract.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/tests/test_drive.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/tests/test_e2e_mock.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/tests/test_engine.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/tests/test_handoff.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/tests/test_loop.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/tests/test_mock_engine.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/tests/test_registry.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/tests/test_tools.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/tests/test_vllm_live.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/tests/test_vllm_openai.py +0 -0
- {convertible_cli-0.2.1 → convertible_cli-0.2.2}/tests/test_wheels.py +0 -0
|
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
Format follows [Keep a Changelog](https://keepachangelog.com/). This project
|
|
6
6
|
adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.2.2] - 2026-05-27
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- README tip (anecdotal, n=1): qwen3_coder handled tool-argument escaping more reliably than hermes for an NVFP4 Qwen3 checkpoint — a hermes run over-escaped docstring triple-quotes into a SyntaxError. Framed as a single observation, not a benchmark.
|
|
13
|
+
|
|
8
14
|
## [0.2.1] - 2026-05-27
|
|
9
15
|
|
|
10
16
|
### Changed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: convertible-cli
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.2
|
|
4
4
|
Summary: Convertible CLI is a swappable coder-agent harness that turns different models into repo workers behind one shared task contract.
|
|
5
5
|
Project-URL: Homepage, https://github.com/agentculture/convertible
|
|
6
6
|
Project-URL: Issues, https://github.com/agentculture/convertible/issues
|
|
@@ -92,6 +92,13 @@ builds need a different one — e.g. an NVFP4 Qwen3 checkpoint served via vLLM m
|
|
|
92
92
|
want `qwen3_coder`. The engine itself is parser-agnostic — any parser that makes
|
|
93
93
|
the server emit OpenAI-format tool calls works.
|
|
94
94
|
|
|
95
|
+
> **Tip (anecdotal).** With an NVFP4 Qwen3 checkpoint, `qwen3_coder` handled
|
|
96
|
+
> tool-argument escaping more reliably than `hermes` in our testing: a `hermes`
|
|
97
|
+
> run over-escaped the triple-quotes in a generated docstring (writing `\"\"\"`
|
|
98
|
+
> instead of `"""`), producing a `SyntaxError`, where `qwen3_coder` wrote the
|
|
99
|
+
> same file cleanly. This is a single observation, not a benchmark — but if a
|
|
100
|
+
> parser garbles quote-heavy edits, trying the other one is worth a shot.
|
|
101
|
+
|
|
95
102
|
Then point Convertible at it (defaults already target `localhost:8001`):
|
|
96
103
|
|
|
97
104
|
```bash
|
|
@@ -75,6 +75,13 @@ builds need a different one — e.g. an NVFP4 Qwen3 checkpoint served via vLLM m
|
|
|
75
75
|
want `qwen3_coder`. The engine itself is parser-agnostic — any parser that makes
|
|
76
76
|
the server emit OpenAI-format tool calls works.
|
|
77
77
|
|
|
78
|
+
> **Tip (anecdotal).** With an NVFP4 Qwen3 checkpoint, `qwen3_coder` handled
|
|
79
|
+
> tool-argument escaping more reliably than `hermes` in our testing: a `hermes`
|
|
80
|
+
> run over-escaped the triple-quotes in a generated docstring (writing `\"\"\"`
|
|
81
|
+
> instead of `"""`), producing a `SyntaxError`, where `qwen3_coder` wrote the
|
|
82
|
+
> same file cleanly. This is a single observation, not a benchmark — but if a
|
|
83
|
+
> parser garbles quote-heavy edits, trying the other one is worth a shot.
|
|
84
|
+
|
|
78
85
|
Then point Convertible at it (defaults already target `localhost:8001`):
|
|
79
86
|
|
|
80
87
|
```bash
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/cicd/scripts/_resolve-nick.sh
RENAMED
|
File without changes
|
{convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/cicd/scripts/portability-lint.sh
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/communicate/scripts/fetch-issues.sh
RENAMED
|
File without changes
|
{convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/communicate/scripts/mesh-message.sh
RENAMED
|
File without changes
|
{convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/communicate/scripts/post-comment.sh
RENAMED
|
File without changes
|
{convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/communicate/scripts/post-issue.sh
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/doc-test-alignment/scripts/check.sh
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{convertible_cli-0.2.1 → convertible_cli-0.2.2}/.claude/skills/spec-to-plan/scripts/spec-to-plan.sh
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|