opencode-agent-skill 7.7.0 → 10.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.
- package/CHANGELOG.md +112 -3
- package/README.md +396 -281
- package/bin/ocskill.mjs +382 -156
- package/docs/DETERMINISTIC-TOOLS.md +25 -8
- package/docs/ENGINEERING-DESIGN.md +31 -13
- package/docs/EVALS.md +34 -12
- package/docs/NPM-PUBLISH.md +6 -6
- package/docs/OPENCODE-COMPAT.md +11 -8
- package/docs/TRACE-SCHEMA.md +15 -2
- package/docs/V8-INTELLIGENCE-RELIABILITY.md +206 -0
- package/docs/V9-SPEED-INTELLIGENCE.md +102 -0
- package/evals/live/tasks.json +6 -6
- package/evals/polyglot/fixtures/polyglot-bench/api/generated/client.ts +2 -0
- package/evals/polyglot/fixtures/polyglot-bench/api/openapi.json +25 -0
- package/evals/polyglot/fixtures/polyglot-bench/db/migrations/20260920_add_order_key.sql +1 -0
- package/evals/polyglot/fixtures/polyglot-bench/dotnet/OrderService.cs +8 -0
- package/evals/polyglot/fixtures/polyglot-bench/java/PriceService.java +5 -0
- package/evals/polyglot/fixtures/polyglot-bench/monorepo/package.json +6 -0
- package/evals/polyglot/fixtures/polyglot-bench/monorepo/packages/api/package.json +4 -0
- package/evals/polyglot/fixtures/polyglot-bench/monorepo/packages/web/package.json +7 -0
- package/evals/polyglot/fixtures/polyglot-bench/monorepo/pnpm-lock.yaml +5 -0
- package/evals/polyglot/fixtures/polyglot-bench/next/app/api/products/route.ts +7 -0
- package/evals/polyglot/fixtures/polyglot-bench/python/tenant_auth.py +4 -0
- package/evals/polyglot/fixtures/polyglot-bench/react-native/keyboard.ts +3 -0
- package/evals/polyglot/graders/polyglot-bench.mjs +101 -0
- package/evals/polyglot/tasks.json +54 -0
- package/global-config/AGENTS.md +78 -160
- package/global-config/agents/integration-verifier.md +1 -1
- package/global-config/agents/plan-checker.md +1 -1
- package/global-config/commands/run.md +9 -5
- package/global-config/plugins/ues-router/capabilities.js +4 -0
- package/global-config/plugins/ues-router/index.js +784 -37
- package/global-config/plugins/ues-router/router.js +175 -23
- package/global-config/plugins/ues-router/runtime-guard.js +265 -0
- package/global-config/skills/engineering-orchestrator/references/long-horizon.md +6 -4
- package/lib/aci.mjs +128 -0
- package/lib/benchmark-confidence.mjs +173 -0
- package/lib/cli-utils.mjs +41 -0
- package/lib/container-sandbox.mjs +102 -0
- package/lib/context-manifest.mjs +300 -22
- package/lib/control-center.mjs +36 -3
- package/lib/eval-ablation.mjs +104 -0
- package/lib/eval-order.mjs +9 -0
- package/lib/eval-report.mjs +11 -0
- package/lib/eval-telemetry.mjs +8 -2
- package/lib/gate-receipt.mjs +52 -0
- package/lib/installer.mjs +39 -25
- package/lib/learning-engine.mjs +236 -38
- package/lib/model-policy.mjs +6 -0
- package/lib/opencode-compat.mjs +25 -10
- package/lib/orchestrator-policy.mjs +195 -21
- package/lib/process-runner.mjs +30 -9
- package/lib/runtime-events.mjs +31 -0
- package/lib/semantic-index.mjs +318 -0
- package/lib/task-engine.mjs +557 -28
- package/lib/trajectory.mjs +89 -0
- package/lib/windows-shim.mjs +227 -0
- package/lib/worktree-sandbox.mjs +85 -3
- package/package.json +11 -4
- package/scripts/check-release-tag.mjs +22 -0
- package/scripts/control-center.mjs +25 -0
- package/scripts/eval-ablation.mjs +44 -0
- package/scripts/eval-live.mjs +39 -58
- package/scripts/eval-matrix.mjs +166 -0
- package/scripts/smoke-packed-install.mjs +138 -4
- package/scripts/smoke-plain-install.mjs +91 -0
- package/scripts/validate-live-suite.mjs +3 -3
- package/scripts/validate.mjs +27 -5
package/scripts/validate.mjs
CHANGED
|
@@ -111,13 +111,35 @@ if (existsSync(routerIndex)) {
|
|
|
111
111
|
if (!source.includes("ctx.session.switchAgent")) errors.push("v2 task dispatch must select ues-executor")
|
|
112
112
|
if (!source.includes("ctx.session.switchModel")) errors.push("v2 task dispatch must support configured model escalation")
|
|
113
113
|
if (!source.includes("ctx.session.wait")) errors.push("v2 task dispatch must wait for executor completion")
|
|
114
|
-
if (!source.includes('name: "capabilities"')) errors.push("
|
|
115
|
-
if (!source.includes('name: "task_policy"')) errors.push("
|
|
116
|
-
if (!source.includes('
|
|
114
|
+
if (!source.includes('name: "capabilities"')) errors.push("v8 router plugin must expose runtime capability inspection")
|
|
115
|
+
if (!source.includes('name: "task_policy"')) errors.push("v8 router plugin must expose adaptive task policy")
|
|
116
|
+
if (!source.includes('name: "cancel_task"')) errors.push("v8 router plugin must expose executor cancellation")
|
|
117
|
+
if (!source.includes('name: "recover_task"')) errors.push("v8 router plugin must expose task-scoped recovery")
|
|
118
|
+
if (!source.includes("ctx.session.interrupt")) errors.push("v8 task dispatch must interrupt timed-out executors")
|
|
119
|
+
if (!source.includes('"work", "heartbeat"')) errors.push("v8 task dispatch must refresh task leases")
|
|
117
120
|
}
|
|
118
121
|
|
|
119
|
-
|
|
120
|
-
|
|
122
|
+
const publishWorkflow = path.join(root, ".github", "workflows", "publish.yml")
|
|
123
|
+
if (!existsSync(publishWorkflow)) {
|
|
124
|
+
errors.push("missing npm publish workflow")
|
|
125
|
+
} else {
|
|
126
|
+
const source = await readFile(publishWorkflow, "utf8")
|
|
127
|
+
if (source.includes("workflow_dispatch")) errors.push("publish workflow must be tag-only")
|
|
128
|
+
if (!source.includes("id-token: write")) errors.push("publish workflow must enable OIDC id-token permission")
|
|
129
|
+
if (source.includes("NODE_AUTH_TOKEN")) errors.push("publish workflow must not inject long-lived npm tokens")
|
|
130
|
+
if (!source.includes("npm publish --access public --provenance")) errors.push("publish workflow must emit npm provenance")
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
const plainInstallSmoke = path.join(root, "scripts", "smoke-plain-install.mjs")
|
|
134
|
+
if (existsSync(plainInstallSmoke)) {
|
|
135
|
+
const source = await readFile(plainInstallSmoke, "utf8")
|
|
136
|
+
if (source.includes("ocskill install after plain npm install")) {
|
|
137
|
+
errors.push("plain install smoke must not recover with a second manual install command")
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
for (const name of ["process-runner.mjs","evidence-receipt.mjs","gate-receipt.mjs","runtime-events.mjs","context-manifest.mjs","orchestrator-policy.mjs","worktree-sandbox.mjs","learning-engine.mjs","hermes-bridge.mjs","control-center.mjs"]) {
|
|
142
|
+
if (!existsSync(path.join(root, "lib", name))) errors.push(`missing V8 core module ${name}`)
|
|
121
143
|
}
|
|
122
144
|
|
|
123
145
|
for (const name of ["codebase-mapper.md","plan-checker.md","executor.md","integration-verifier.md"]) {
|