opencode-agent-skill 7.7.0 → 9.0.0

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.
Files changed (63) hide show
  1. package/CHANGELOG.md +63 -3
  2. package/README.md +675 -581
  3. package/bin/ocskill.mjs +358 -156
  4. package/docs/DETERMINISTIC-TOOLS.md +25 -8
  5. package/docs/ENGINEERING-DESIGN.md +31 -13
  6. package/docs/EVALS.md +34 -12
  7. package/docs/NPM-PUBLISH.md +6 -6
  8. package/docs/OPENCODE-COMPAT.md +11 -8
  9. package/docs/TRACE-SCHEMA.md +15 -2
  10. package/docs/V8-INTELLIGENCE-RELIABILITY.md +206 -0
  11. package/docs/V9-SPEED-INTELLIGENCE.md +102 -0
  12. package/evals/live/tasks.json +6 -6
  13. package/evals/polyglot/fixtures/polyglot-bench/api/generated/client.ts +2 -0
  14. package/evals/polyglot/fixtures/polyglot-bench/api/openapi.json +25 -0
  15. package/evals/polyglot/fixtures/polyglot-bench/db/migrations/20260920_add_order_key.sql +1 -0
  16. package/evals/polyglot/fixtures/polyglot-bench/dotnet/OrderService.cs +8 -0
  17. package/evals/polyglot/fixtures/polyglot-bench/java/PriceService.java +5 -0
  18. package/evals/polyglot/fixtures/polyglot-bench/monorepo/package.json +6 -0
  19. package/evals/polyglot/fixtures/polyglot-bench/monorepo/packages/api/package.json +4 -0
  20. package/evals/polyglot/fixtures/polyglot-bench/monorepo/packages/web/package.json +7 -0
  21. package/evals/polyglot/fixtures/polyglot-bench/monorepo/pnpm-lock.yaml +5 -0
  22. package/evals/polyglot/fixtures/polyglot-bench/next/app/api/products/route.ts +7 -0
  23. package/evals/polyglot/fixtures/polyglot-bench/python/tenant_auth.py +4 -0
  24. package/evals/polyglot/fixtures/polyglot-bench/react-native/keyboard.ts +3 -0
  25. package/evals/polyglot/graders/polyglot-bench.mjs +101 -0
  26. package/evals/polyglot/tasks.json +54 -0
  27. package/global-config/AGENTS.md +10 -7
  28. package/global-config/agents/integration-verifier.md +1 -1
  29. package/global-config/agents/plan-checker.md +1 -1
  30. package/global-config/commands/run.md +9 -5
  31. package/global-config/plugins/ues-router/capabilities.js +4 -0
  32. package/global-config/plugins/ues-router/index.js +414 -21
  33. package/global-config/plugins/ues-router/router.js +140 -23
  34. package/global-config/skills/engineering-orchestrator/references/long-horizon.md +6 -4
  35. package/lib/aci.mjs +128 -0
  36. package/lib/benchmark-confidence.mjs +135 -0
  37. package/lib/cli-utils.mjs +41 -0
  38. package/lib/container-sandbox.mjs +102 -0
  39. package/lib/context-manifest.mjs +300 -22
  40. package/lib/control-center.mjs +36 -3
  41. package/lib/eval-order.mjs +9 -0
  42. package/lib/eval-telemetry.mjs +5 -2
  43. package/lib/gate-receipt.mjs +52 -0
  44. package/lib/installer.mjs +39 -25
  45. package/lib/learning-engine.mjs +236 -38
  46. package/lib/opencode-compat.mjs +25 -10
  47. package/lib/orchestrator-policy.mjs +101 -20
  48. package/lib/process-runner.mjs +30 -9
  49. package/lib/runtime-events.mjs +31 -0
  50. package/lib/semantic-index.mjs +318 -0
  51. package/lib/task-engine.mjs +416 -24
  52. package/lib/trajectory.mjs +89 -0
  53. package/lib/windows-shim.mjs +227 -0
  54. package/lib/worktree-sandbox.mjs +85 -3
  55. package/package.json +10 -4
  56. package/scripts/check-release-tag.mjs +22 -0
  57. package/scripts/control-center.mjs +25 -0
  58. package/scripts/eval-live.mjs +39 -58
  59. package/scripts/eval-matrix.mjs +155 -0
  60. package/scripts/smoke-packed-install.mjs +138 -4
  61. package/scripts/smoke-plain-install.mjs +91 -0
  62. package/scripts/validate-live-suite.mjs +3 -3
  63. package/scripts/validate.mjs +27 -5
package/CHANGELOG.md CHANGED
@@ -6,12 +6,69 @@ The project follows Semantic Versioning.
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [9.0.0] - 2026-09-22
10
+
11
+ ### Added
12
+ - Persistent incremental source index with bounded syntax-aware symbol/reference evidence and deterministic cache reuse.
13
+ - Weak-model-oriented ACI commands for semantic search, exact text search, bounded file viewing and reference lookup.
14
+ - FAST / STANDARD / DEEP execution profiles with adaptive context budgets, skill caps and verification depth.
15
+ - Redacted operational trajectory JSONL for replay/debugging without recording hidden chain-of-thought.
16
+ - Optional Docker/Podman verification sandbox with network-off, dropped capabilities, no-new-privileges and resource bounds.
17
+ - Paired baseline-vs-UES confidence analysis with exact sign-test evidence, per-suite no-regression checks and speed limits.
18
+ - Fail-closed `npm run evals:matrix:gate -- --model provider/model` release benchmark gate.
19
+ - Regression tests for semantic index, ACI, trajectory redaction, sandbox arguments, benchmark confidence and stale lock takeover.
20
+
9
21
  ### Changed
10
- - The public npm distribution name is now the unscoped `opencode-agent-skill`, so users install it with `npm install -g opencode-agent-skill`.
22
+ - Context Manifest v4 consumes the incremental evidence index before broader graph expansion and keeps evidence labels explicit.
23
+ - Learning promotion now requires complete paired benchmark evidence, statistically supported uplift and no suite regression.
24
+ - OpenCode V2 dispatch records bounded redacted operational traces and adaptive execution-profile metadata.
25
+ - Hardened live benchmark fairness by making previously implicit hidden-grader contract details explicit in task prompts without weakening hidden graders.
26
+ - Clarified webhook stale/duplicate handling to require returning the exact original state reference, matching the hidden contract.
27
+ - Counterbalanced paired live-eval execution order across tasks and trials to reduce provider order/throttling bias.
28
+ - Focused small/FAST fixes now follow literal acceptance-contract discipline and avoid repo-wide discovery unless evidence requires it.
29
+ - OpenCode live-eval telemetry now reads native `part.tokens` / `tokens` payloads in addition to `usage` payloads.
30
+ - Extracted shared CLI parsing/read/truncation/error helpers into `lib/cli-utils.mjs` and added smoke/unit regression coverage.
31
+ - Preserved documented CLI edge semantics while removing ad-hoc option parsing and unifying bounded output clipping.
32
+ - Resolved README version drift and documented V9 capabilities.
33
+ - Package version is 9.0.0.
11
34
 
12
35
  ### Fixed
13
- - Packed global-install smoke derives the package install path from package metadata instead of assuming the former scoped npm name.
14
- - The installer accepts the former `@laivannha0202/opencode-agent-skill` state owner as legacy UES ownership and re-owns it as `opencode-agent-skill` during the next install.
36
+ - State locks use unique ownership tokens, heartbeat refresh and rename-based stale takeover so an expired owner cannot delete a replacement lock.
37
+ - Generated `.ues-cache/` and `.ues-traces/` state no longer invalidates workspace verification fingerprints.
38
+ - Windows CLI/router execution no longer falls back to shell-based `.cmd/.bat` invocation for unrecognized shims.
39
+ - Windows doctor/OpenCode compatibility probing safely resolves extensionless Node-backed npm shims and fails closed instead of invoking `cmd.exe`.
40
+ - Live benchmark execution now uses the same shell-free Windows resolver as `doctor`, skips unsupported batch shims in favor of safe native executables, and normalizes shim paths cross-platform.
41
+ - Windows npm shim resolution can recover from non-standard `.cmd` formatting by resolving only an adjacent package's explicit `package.json` bin mapping, including extensionless Node launchers such as OpenCode.
42
+ - Windows shim resolution also accepts validated native PE targets declared by npm package metadata, covering `opencode-ai` installs whose `bin.opencode` points to `bin/opencode.exe`.
43
+
44
+
45
+ ## [8.0.0] - 2026-09-20
46
+
47
+ ### Added
48
+ - Structured plan and integration gate receipts bound to the current plan hash or workspace fingerprint, with gate receipts persisted in `EVIDENCE.json`.
49
+ - Strict long/high-risk task completion that requires a successful verification receipt for the active `runId` and the current workspace fingerprint.
50
+ - Append-only `EVENTS.jsonl` runtime journal for work initialization, plan import/approval, task start/heartbeat/session binding, verification receipts, failure/recovery, integration verification and finalization.
51
+ - Task-scoped stale recovery and OpenCode V2 runtime tools for bounded executor cancellation/recovery.
52
+ - Context manifest v3 with multilingual task terms, Git-change awareness, symbol hits, TF-IDF-style relevance scoring, related tests/instructions and adaptive centered excerpts.
53
+ - Conflict-aware Git worktree integration plus automatic isolation support for concurrent writing executors.
54
+ - Learning v2 with recurring failure clustering, explicit acceptance and shadow-benchmark promotion gates.
55
+ - UES benchmark matrix runner for baseline-vs-UES comparison across standard, long-horizon and polyglot suites.
56
+ - Eight polyglot benchmark tasks spanning Python, Java/Spring-style code, .NET, Next.js, React Native, SQL migration, monorepo boundaries and generated-contract discipline.
57
+ - Control Center runtime-event visibility, receipt inspection and stale-task recovery control.
58
+ - CodeQL, dependency review, Dependabot maintenance and release-tag/version consistency checks.
59
+
60
+ ### Changed
61
+ - Fresh OpenCode V2 executor sessions now use bounded waits and `session.interrupt` on timeout, with capability probing and graceful degradation when optional hooks are unavailable.
62
+ - Process execution escalates Unix process-tree cancellation from SIGTERM to SIGKILL after a bounded grace period and always reports cancelled runs as nonzero.
63
+ - Router/task policy adds multilingual and framework-aware signals while preserving deterministic caps.
64
+ - Managed resource ownership now uses `managed-by: opencode-agent-skill` while automatically recognizing and migrating the former scoped marker.
65
+ - Package version is 8.0.0. Existing `opencode-agent-skill@7.7.0` users remain on the same package name and can update normally.
66
+
67
+ ### Fixed
68
+ - Strict verification no longer accepts a receipt after the workspace changed.
69
+ - Sandbox cleanup refuses to delete non-UES branches and removes temporary UES branches after successful integration.
70
+ - Learning proposals cannot be promoted before explicit acceptance.
71
+ - Plain npm-install smoke now reports lifecycle-script auto-sync versus explicit `ocskill install` recovery accurately.
15
72
 
16
73
  ## [7.7.0] - 2026-09-20
17
74
 
@@ -27,12 +84,15 @@ The project follows Semantic Versioning.
27
84
  - V2 runtime capability probing tool and fail-closed fresh-dispatch checks.
28
85
 
29
86
  ### Changed
87
+ - The public npm distribution name is the unscoped `opencode-agent-skill`, so users install it with `npm install -g opencode-agent-skill`.
30
88
  - Live evaluation runs are asynchronous and observable: start messages, periodic heartbeats, hard timeout, idle timeout and Ctrl+C process-tree cancellation are supported.
31
89
  - V2 fresh task dispatch refreshes durable task leases while the executor session runs and reports task policy/runId alongside model policy.
32
90
  - Workspace fingerprints ignore UES runtime-only learning/dashboard/sandbox directories in addition to `.ues-work`.
33
91
  - Package version is 7.7.0.
34
92
 
35
93
  ### Fixed
94
+ - Packed global-install smoke derives the package install path from package metadata instead of assuming the former scoped npm name.
95
+ - The installer accepts the former `@laivannha0202/opencode-agent-skill` state owner as legacy UES ownership and re-owns it as `opencode-agent-skill` during the next install.
36
96
  - Live baseline/UES evaluation detects the OpenCode major version: OpenCode 1.x omits the V2-only `--standalone` flag, while OpenCode 2.x+ keeps it. Eval JSON records the detected OpenCode version/major for reproducibility.
37
97
  - The V2 automatic router retains domain/impact skills and `ues-engineering-orchestrator` ahead of generic process skills when the configured skill cap is exceeded.
38
98