Releases: ayleen/triss-coworker
Release list
v0.37.2
v0.37.1
Standalone artifact for v0.37.1
v0.37.0
v0.36.0
v0.35.0
[0.35.0] — 2026-08-14
Added
triss-dsh-provider-bundle, a standalone npm package (workspace
packages/dsh-provider-bundle) that activates the DeepSeek Harness
llm-pi-aiadapter foropencode,opencode-go, andzairoutes in a
dshprofile without changing the Harness default provider or model.- Release gates publish and registry-verify both packages from one
coordinated tag (scripts/publish-gate.js, updatedpublish.yml), and a
dedicated CI bundle matrix covers Node22.19.0,24, and26plus
pnpm-missing diagnostics.
Changed
test/coder-init-credential-gate-blocker.test.jspins
TRISS_PROJECT_ROOTto the temp HOME so credential-gate isolation no
longer depends on cwd lookups; no runtime code changed in this release
train (an earlier iteration of this PR touchedsrc/safety.jsand was
reverted for expanding the sandbox boundary).- The publish workflow plans publication from live registry state for BOTH
packages (plan-publish), skips a publish step when the registry already
holds the byte-identical tarball, and registry-verifies both packages again
after publication — a partial-failure rerun is now safe, including after
mainhas moved past the tag (fresh releases require the exact
origin/maintip; retries only require the tag to remain an ancestor,
viapublish-gate.js authorize-tag). - The tag workflow separates privileges: an unprivileged
release-gates
job runs every repository-script verification (versions, tarball
inspection, registry planning, tag authorization) and only a minimal
npm-publishjob behind thenpm-productionenvironment holds
id-token: write. The publish job repacks with--ignore-scriptsand
byte-compares both tarballs against the gates artifact before publishing
the same bytes with--provenance. - CI gains a required
dsh plugin lifecyclejob (real@deepseek-ai/dsh
0.1.0-rc.6 + pnpm 9): add → real in-place update (add v2 over v1, no
remove) → remove → reinstall → npx-style anchor, asserting the dumped
llm-pi-ai.config.providersobject (exact provider set andapiKeyEnv
mapping) plus the profile manifest at every phase. The job lives in a
reusablebundle-checksworkflow included by both PR CI and the tag
publish flow, and a post-publishregistry-acceptancejob installs the
published package from the registry on Node22.19.0and24, exercises
add/update/remove/reinstall, and records the compatibility tuple with
registry integrity and provenance evidence. npm testnow runsscripts/check-lockfile-gate.cjs, which asserts the
workspace name/version/engines against the live manifests plus the
pinned@deepseek-ai/dsh-app-boot.
Unchanged
- Triss runtime code, CLI, MCP schemas, and the root
triss-coworker
published-file allowlist; the root tarball contains no companion manifest
or patch. (Correction, review finding: the follow-up fix commit DID touch
src/safety.js—projectRoot()was extended to.codex/worktrees,
widening the restricted-mode sandbox boundary to sibling worktrees. That
change is REVERTED in this corrective release; only the test-isolation
env pin from that commit remains.)
Artifact integrity (0.35.0)
triss-dsh-provider-bundle-0.35.0.tgz— sha256
25d9d80417c7955ac29d933cdb9c3c5e412e0a6a3ebc2f73de852985ce2a4900,
integritysha512-7NkUhHg+RruXEAJhMXr1nWlFv7g7N2iAh0z416oTS7yK/PPi4GnE8h8LqJOzFrGr86BUPHMhVmYinNe8cF6YZQ==
(computed with the pinned release npm 11.6.2 via
scripts/publish-gate.js pack-inspect;npm packoutput is
byte-deterministic — tar entries carry the fixed npm epoch mtime — so a
test pins this value against every future pack of the same content).- Root
triss-coworker-0.35.0.tgzsha256 is reproducible via
npm packat tagv0.35.0(the root tarball shipsCHANGELOG.md, so its
hash cannot be recorded inside this file); registry verification compares
the packed artifact against the published tarball byte-for-byte
(scripts/publish-gate.js pack-inspect).
Full acceptance evidence: compatibility tuple, registry integrity, provenance attestations, and the live provider-route smokes are recorded in docs/deepseek-harness-provider-bundle-plan.md and in the registry-acceptance-node-* workflow artifacts.
v0.34.0
Added
- Added deterministic
triss execrouting toask,review,coder run, orchat, with a JSON--explainmode that performs no model, Git, integration, update-check, stdin, network, or filesystem work. - Added a shared
evidenceresponse contract foraskandreviewacross CLI and MCP. - Extended help, shell completion, README, MCP documentation, and generated agent instructions for the new interfaces.
Changed
- Core CLI and MCP token budgets and coder timeouts now use strict shared positive-number validation.
- Lexical
execrouting is conservative: ambiguous or read-only status wording remains chat, while explicit review or implementation intent selects an agentic route.
Fixed
- Made managed
AGENTS.mdandCLAUDE.mdinitialization transactional and fail-closed across collisions, aliases, symlink changes, partial writes, and rollback races while preserving unrelated bytes and file modes. - Preserved the legacy clean-review text with terminal colors enabled.
- Prevented passive update checks from violating the side-effect-free
exec --explaincontract in interactive shells.
Full changelog: v0.33.0...v0.34.0
v0.33.0
Added
- Automatic, cached stable-release notices for interactive CLI and initialized MCP sessions, with TRISS_UPDATE_CHECK=0 as the passive-check opt-out.
- triss update text/JSON status plus explicit receipt-backed standalone apply and verified offline rollback. Package-manager, source, legacy, and unknown installations remain read-only.
- An npm-free standalone artifact/installer with per-version integrity inventories, journaled activation/recovery, retained-size reporting, and guarded public Release promotion.
Security
- Update endpoints are fixed and strictly allowlisted, downloads and extraction are bounded, and standalone writes require validated receipt ownership.
v0.32.0 — Review diffs from stdin
Added\n\n- triss review --stdin now accepts an explicitly piped diff without Git, GitHub, changed-file, or linked-ticket discovery.\n- Stdin review preserves valid UTF-8 exactly, rejects malformed bytes, TTY input, empty input, and conflicting PR/--base sources before provider or model resolution.\n\n## Security\n\n- CLI and MCP reviews now share the same untrusted-data system prompt and per-request boundary markers for metadata, ticket text, and diffs.\n\n## Verification\n\n- Node.js 22 and 24 test suites passed.\n- pnpm package-consumer smoke test passed.\n- CodeQL passed.\n\nChanges: PR #36\nRelease preparation: PR #38
v0.31.1
Added
- Added explicit
--streamsupport totriss ask,triss chat, andtriss reviewfor piped or redirected output. - Added fail-safe
TRISS_REQUEST_TIMEOUT_MSconfiguration for worker, GLM, and Kimi OpenAI-compatible clients.
Invalid, non-positive, or timer-overflow values retain the OpenAI SDK default. The release includes Commander, production CLI, environment-precedence, provider-routing, and timeout-boundary regression coverage.
v0.31.0 — Usage accounting v2
Highlights
- Added canonical usage accounting v2 with separate uncached input, cache-read,
cache-write, visible-output, reasoning, combined, and reported/derived total
fields. - Preserved the native usage detail reported by DeepSeek, Z.AI, Kimi, generic
OpenAI-compatible APIs, OpenCode, and Crush instead of collapsing it into the
legacy three-counter shape. - Made unknown distinct from zero across JSONL persistence, aggregation, CLI,
coder envelopes, MCP responses, and cost calculation. - Added fail-closed counter/provenance validation and complete-vs-evidence cost
semantics, while retaining v1 compatibility for one transition release. - Re-verified and updated current Kimi K3, K2.7 Code, K2.7 Code HighSpeed, and
K2.6 PAYG/cache-hit prices. - Fixed
triss_writeso usage reports can no longer be copied into generated
files or truncate model output that resembles a display marker. - Increased the default active usage-log rotation threshold from 10 MiB to
40 MiB to preserve a comparable reporting horizon for larger v2 records.
See the changelog and the usage accounting contract for complete details.
Release verification: Node 22/24 CI, consumer package smoke, CodeQL, full
publish tests, npm audit with zero vulnerabilities, and npm provenance publish
all passed on the release lineage.