release: v0.6.25 — re-verified remediation, tmux test stabilization, cc-X recipes#11
Merged
Conversation
Adversarial re-verification of d272042+03ae92d confirmed 4 real issues + 4 test gaps: - opencode host: treat companion exit 2 (health no-healthy / status --wait timeout, valid JSON on stdout) as a soft signal via isHardCompanionFailure, not a thrown tool error - cancelJob: kill the worker BEFORE deleting its runtime paths; skip runtime-path cleanup when the kill fails (worker may be alive); terminate is now injectable - grok: add maxtokens/max_tokens/length to SUCCESS_STOP_REASONS so a truncated-but-visible answer stays ok=true (real StopReason enum verified vs the installed binary) - run-ledger: ensureStateDir before the ndjson append so ~/.polycli/state/<slug> is created 0700, not world-traversable 0755, on the run_started event - tests: pre-existing-0755 dir hardening, dir-0700-after-append-only, grok stopReason-ALONE failure (json+streaming) + MaxTokens success, sync runProviderPrompt model fallback, opencode exit-2 contract. RED-proven for grok-1 and pwp-1. npm test 549/549, release:check green. Path B preserved (no adapter/base-class/parser-in-utils, timing four-state intact).
…ata)
Turn the two-pass cc-X research into a usable, honest, Path-B-compliant surface WITHOUT a
provider-adapter framework. cc-X = point the existing claude runtime (BYOK) or opencode at a
domestic vendor's Anthropic-compatible endpoint via ANTHROPIC_BASE_URL/AUTH_TOKEN/MODEL.
- docs/cc-x-recipes.json: machine-readable source of truth, 9 entries (MiniMax, Kimi, GLM,
Qwen, DeepSeek, Doubao, StepFun, Baidu, Tencent) with base URL, model-id family, native-CLI
grouping, autoCompactWindow, caching note, per-entry source{url,date}. Marketplace endpoints
(Baidu/Tencent) carry status marketplace-unstable + autoCompactWindow null (honest-default:
no fabricated model/version pin, mirrors the gemini attempted-vs-used-model caveat).
- docs/cc-x-endpoints.md: human page (what cc-X is, NOT a polycli provider, env recipe,
operational gotchas, minimax/mmx-cli disambiguation).
- scripts/validate-cc-x-recipes.mjs + paired test: pure structural + source-anchoring validator
(modeled on validate-fixture-metadata.mjs; auto-joined by the npm-test glob). npm run
validate:cc-x-recipes added.
- Cross-links in provider-paths.md / roadmap.md (closed Q10 + Explicit-non-goal) /
polycli-v1-public-surface.md.
Zero runtime/production-path code: claude.js already forwards the ANTHROPIC_* trio on both the
claude -p (full env) and tmux allowlist paths. validator 9 ok, test 5/5, npm test + release:check
green. Endpoint facts are a 2026-06-19 snapshot.
The 'submits folded Claude paste markers' test still used a hardcoded timeout: 2_000 while the other four tmux-tui tests use the shared TMUX_TEST_TIMEOUT_MS (5_000) introduced when the tmux fake-bin tests were stabilized. Under full-suite parallel load (16 workers) the node-based fake tmux bin could not spawn + flush its TMUX_ARGV_LOG within 2s, so the test read a not-yet-created tmux.jsonl and failed with ENOENT (~30% of full-suite runs). Aligning this last test to TMUX_TEST_TIMEOUT_MS removes the race; the other tmux tests already prove 5s is the stable budget.
Bump the published surface 0.6.24 -> 0.6.25 (marketplace manifests, polycli/codex/copilot plugins, polycli-opencode, polycli-terminal) for the re-verified workflow-review remediation + cc-X endpoint recipes. polycli-utils (1.0.2) and polycli-timing (1.0.1) keep their independent semver.
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.
Post-v0.6.24 batch, released together as v0.6.25. Four commits:
fix: harden re-verified workflow-review findings (
85bc112)Adversarial re-verification of d272042+03ae92d confirmed 4 real issues + 4 test gaps:
status --waittimeout, valid JSON on stdout) is a SOFT signal viaisHardCompanionFailure, not a thrown tool error; exit 1/4/5/crash still reject.cancelJob: kill the worker BEFORE deleting its runtime paths (a review job's live cwd); skip runtime-path cleanup when the kill fails;terminateis injectable.maxtokens/max_tokens/lengthtoSUCCESS_STOP_REASONSso a truncated-but-visible answer stays ok=true (real StopReason enum verified vs the installed binary).ensureStateDirbefore the ndjson append so~/.polycli/state/<slug>is created 0700, not world-traversable 0755, on the run_started event.runProviderPromptmodel fallback, opencode exit-2 contract.docs: cc-X domestic-model endpoint recipes (Path-B docs + reference data) (
8cde84f)docs/cc-x-recipes.json(machine-readable, 9 entries) +docs/cc-x-endpoints.md(human page) encode the cc-X pattern: point the EXISTINGclauderuntime (BYOK) oropencodeat a domestic vendor's Anthropic-compatible endpoint viaANTHROPIC_BASE_URL/AUTH_TOKEN/MODEL. Marketplace endpoints (Baidu/Tencent) carrystatus: marketplace-unstable+autoCompactWindow: null(honest-default, no fabricated pin).scripts/validate-cc-x-recipes.mjs+ paired test guard structure + source-anchoring (auto-joined by the npm-test glob);npm run validate:cc-x-recipesadded.claude.jsalready forwards theANTHROPIC_*trio.test: stabilize remaining tmux fake-bin test under parallel load (
38c4694)The last tmux-tui test used a hardcoded
timeout: 2_000while the other four use the sharedTMUX_TEST_TIMEOUT_MS(5_000); under full-suite parallel load the node fake-bin could not flush its log within 2s, causing an intermittenttmux.jsonlENOENT (~30% of runs). Aligned to the proven-stable 5s budget.release: prepare v0.6.25 (
fd4f999)Bump the published surface 0.6.24 -> 0.6.25 (marketplace manifests + polycli/codex/copilot plugins + polycli-opencode + polycli-terminal). polycli-utils/timing keep their independent semver.
Verification (local):
npm test549/549,npm run release:checkexit 0 (bundles 5, fixture metadata 17, codex adapter 5, plugin validation, publish/pack dry-runs). Path B preserved (no adapter/base-class/parser-in-utils; timing four-state intact).