Skip to content

Releases: ayleen/triss-coworker

v0.37.2

Choose a tag to compare

@github-actions github-actions released this 20 Aug 09:21
Immutable release. Only release title and notes can be modified.
97dc487

Standalone artifact for v0.37.2

v0.37.1

Choose a tag to compare

@github-actions github-actions released this 19 Aug 11:10
Immutable release. Only release title and notes can be modified.

Standalone artifact for v0.37.1

v0.37.0

Choose a tag to compare

@github-actions github-actions released this 18 Aug 15:22
f660c8f

Standalone artifact for v0.37.0

v0.36.0

Choose a tag to compare

@github-actions github-actions released this 18 Aug 01:03
7dae2a8

Standalone artifact for v0.36.0

v0.35.0

Choose a tag to compare

@github-actions github-actions released this 16 Aug 22:49
74aae0b

[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-ai adapter for opencode, opencode-go, and zai routes in a
    dsh profile without changing the Harness default provider or model.
  • Release gates publish and registry-verify both packages from one
    coordinated tag (scripts/publish-gate.js, updated publish.yml), and a
    dedicated CI bundle matrix covers Node 22.19.0, 24, and 26 plus
    pnpm-missing diagnostics.

Changed

  • test/coder-init-credential-gate-blocker.test.js pins
    TRISS_PROJECT_ROOT to 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 touched src/safety.js and 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
    main has moved past the tag (fresh releases require the exact
    origin/main tip; retries only require the tag to remain an ancestor,
    via publish-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-publish job behind the npm-production environment holds
    id-token: write. The publish job repacks with --ignore-scripts and
    byte-compares both tarballs against the gates artifact before publishing
    the same bytes with --provenance.
  • CI gains a required dsh plugin lifecycle job (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.providers object (exact provider set and apiKeyEnv
    mapping) plus the profile manifest at every phase. The job lives in a
    reusable bundle-checks workflow included by both PR CI and the tag
    publish flow, and a post-publish registry-acceptance job installs the
    published package from the registry on Node 22.19.0 and 24, exercises
    add/update/remove/reinstall, and records the compatibility tuple with
    registry integrity and provenance evidence.
  • npm test now runs scripts/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.jsprojectRoot() 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,
    integrity sha512-7NkUhHg+RruXEAJhMXr1nWlFv7g7N2iAh0z416oTS7yK/PPi4GnE8h8LqJOzFrGr86BUPHMhVmYinNe8cF6YZQ==
    (computed with the pinned release npm 11.6.2 via
    scripts/publish-gate.js pack-inspect; npm pack output 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.tgz sha256 is reproducible via
    npm pack at tag v0.35.0 (the root tarball ships CHANGELOG.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

Choose a tag to compare

@ayleen ayleen released this 13 Aug 16:00

Added

  • Added deterministic triss exec routing to ask, review, coder run, or chat, with a JSON --explain mode that performs no model, Git, integration, update-check, stdin, network, or filesystem work.
  • Added a shared evidence response contract for ask and review across 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 exec routing is conservative: ambiguous or read-only status wording remains chat, while explicit review or implementation intent selects an agentic route.

Fixed

  • Made managed AGENTS.md and CLAUDE.md initialization 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 --explain contract in interactive shells.

Full changelog: v0.33.0...v0.34.0

v0.33.0

Choose a tag to compare

@ayleen ayleen released this 13 Aug 13:24

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

Choose a tag to compare

@ayleen ayleen released this 12 Aug 15:03

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

Choose a tag to compare

@ayleen ayleen released this 09 Aug 12:04

Added

  • Added explicit --stream support to triss ask, triss chat, and triss review for piped or redirected output.
  • Added fail-safe TRISS_REQUEST_TIMEOUT_MS configuration 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

Choose a tag to compare

@ayleen ayleen released this 09 Aug 11:00

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_write so 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.