Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Unified diff evidence has significant single-space context lines.
benchmarks/results/**/*.patch -whitespace
14 changes: 14 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,20 @@ jobs:
node -e "JSON.parse(require('fs').readFileSync('$f','utf8'))" || exit 1
done

regression:
name: deterministic regressions
needs: lint
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
- run: npm ci --legacy-peer-deps
- run: npm run test:regression

# The gateway is the part that breaks per-platform: it runs on a real Node
# binary outside Electron, spawns child processes, and binds a port. Every
# macOS bug fixed in 0.9.1 would have been caught by running this on macOS.
Expand Down
11 changes: 11 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,18 @@ permissions:
contents: write

jobs:
regression:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
- run: npm ci --legacy-peer-deps
- run: npm run test:regression
build:
needs: regression
strategy:
fail-fast: false
matrix:
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,7 @@ build/
*.log
.DS_Store
data/
.gstack/

# Private session reviews, raw local experiments, and memory drafts.
reviews/
18 changes: 18 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,24 @@ project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Added
- Optional scoped OpenCode workers using the supported custom-agent API: model-specific instructions, local tools, preserved repository rules, no automatic skills catalog, and a fixed 24-step limit. The full `standard` agent remains the default; `focused` adds an experimental compact prompt.
- Separate engine uncached/cache-read/cache-write/reasoning/request metrics, accumulated across repairs. Paired repository-regression benchmark with withheld evaluator checks and a real-engine local request-size probe.
- Shared persistent coding worker service with eight MCP job tools and an `omniwork-jobs` CLI. Durable batch admission, reconnectable results, provider capacity and pacing, explicit free/paid policy, and paged artifacts.
- Isolated Git snapshots of current edits, bounded repository context, owned-path checks, same-worker repair, and verified patch application against the latest source.
- Multi-client daemon regression coverage and a repeatable opt-in live coding benchmark (`node scripts/benchmark-jobs.js --live`).
- Searchable desktop and MCP model catalogs with free/paid classification, tool support, context sizes, and access requirements. OpenCode engine models include all connected providers; paid models require explicit selection. `npm run providers -- login` uses OpenCode's official authentication flow.
- Structured MCP task outcomes and caller-supplied acceptance checks. Single and parallel delegations share deadlines, cancellation, usage reporting, and recovery; batches queue every task with bounded concurrency.
- Original tool-output retrieval and line-range file reads. Long single-task conversations can compact without orphaning tool results.
- Required deterministic regression jobs for CI and release builds.

### Fixed
- Failed writes and intermediate commentary no longer masquerade as completed delegations. Summary-only PASS/FAIL grading is replaced by explicit check results or an unverified label.
- Workers inherit parent permissions, memory, and skills. More than eight tasks are queued rather than silently dropped.
- Rate-limit cooldowns survive subsequent steps, honor Retry-After, and avoid duplicate streaming retries. Failed exact edits trigger escalation.
- Default fallback selection excludes arbitrary paid-only catalog entries; model switches refresh utility and tier policy.
- Lossy gateway compression is now opt-in per request. The earlier 68% figure did not establish answer correctness; default output paging preserves retrievable source and evidence.

## [0.12.0] — 2026-09-17

### Added
Expand Down
136 changes: 96 additions & 40 deletions README.md

Large diffs are not rendered by default.

49 changes: 49 additions & 0 deletions benchmarks/coding-cases.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading