harness-everything 0.21.0 → 0.22.1
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/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +18 -0
- package/README.md +30 -0
- package/benchmarks/results/system-one/cua-s1-forms-resident-async-cpu-2026-09-23/README.md +87 -0
- package/benchmarks/results/system-one/cua-s1-forms-resident-async-cpu-2026-09-23/paired-latency.json +107 -0
- package/benchmarks/results/system-one/cua-s1-forms-resident-async-cpu-2026-09-23/report.json +856 -0
- package/benchmarks/results/system-one/cua-s1-forms-resident-cpu-2026-09-23/README.md +74 -0
- package/benchmarks/results/system-one/cua-s1-forms-resident-cpu-2026-09-23/report.json +856 -0
- package/benchmarks/results/system-one/pre-merge-review-2026-09-23/README.md +92 -0
- package/benchmarks/results/system-one/pre-merge-review-2026-09-23/haiku-spec-conformance.md +241 -0
- package/benchmarks/results/system-one/pre-merge-review-2026-09-23/luna-adversarial.md +212 -0
- package/benchmarks/results/system-one/pre-merge-review-2026-09-23/skill-top1-probe.js +83 -0
- package/benchmarks/results/system-one/pre-merge-review-2026-09-23/skill-top1-probe.json +7700 -0
- package/ci/fixtures/system-one-resident-stub.py +28 -0
- package/ci/fixtures/system-one-worker-probe.js +15 -0
- package/ci/mechanism-packaging-bytecode.test.js +61 -0
- package/ci/mechanism-system-one-install.test.js +11 -0
- package/ci/mechanism-system-one-resident.test.js +296 -0
- package/ci/mechanism-system-one-router.test.js +25 -0
- package/ci/system-one-adapter-test.py +166 -0
- package/docs/platform-capabilities.md +8 -0
- package/docs/system-one-routing.md +91 -3
- package/evals/pilot-router-nonsoftware/graders/no-tier-language.md +6 -0
- package/evals/pilot-router-nonsoftware/graders/skill-not-fired.md +9 -0
- package/evals/pilot-router-nonsoftware/prompt.md +8 -0
- package/evals/pilot-router-tier3/graders/skill-fired.md +6 -0
- package/evals/pilot-router-tier3/prompt.md +8 -0
- package/evals/pilot-tdd-bugfix/graders/skill-fired.md +6 -0
- package/evals/pilot-tdd-bugfix/prompt.md +8 -0
- package/evals/pilot-tdd-trivia/graders/no-red-phase-claim.md +7 -0
- package/evals/pilot-tdd-trivia/graders/skill-not-fired.md +9 -0
- package/evals/pilot-tdd-trivia/prompt.md +8 -0
- package/evals/pilot-verify-discussion/graders/no-verification-claim.md +7 -0
- package/evals/pilot-verify-discussion/graders/skill-not-fired.md +9 -0
- package/evals/pilot-verify-discussion/prompt.md +8 -0
- package/evals/pilot-verify-preship/graders/skill-fired.md +6 -0
- package/evals/pilot-verify-preship/prompt.md +8 -0
- package/harness-everything/SKILL.md +1 -1
- package/harness-everything/scripts/system-one/cua_adapter.py +265 -6
- package/harness-everything/scripts/system-one/install.js +17 -8
- package/harness-everything/scripts/system-one/provider.js +18 -3
- package/harness-everything/scripts/system-one/resident.js +200 -0
- package/harness-everything/scripts/system-one/router.js +18 -2
- package/harness-everything/scripts/tier-router.js +13 -4
- package/opencode-plugin/plugin.json +1 -1
- package/package.json +1 -1
- package/plugins/harness-everything/.codex-plugin/plugin.json +1 -1
- package/plugins/harness-everything/plugin.json +1 -1
- package/plugins/harness-everything/scripts/lib/packaging-noise.js +6 -0
- package/plugins/harness-everything/scripts/lib/skills.js +2 -0
- package/plugins/harness-everything/skills/harness-everything/SKILL.md +1 -1
- package/plugins/harness-everything/skills/harness-everything/scripts/system-one/cua_adapter.py +265 -6
- package/plugins/harness-everything/skills/harness-everything/scripts/system-one/install.js +17 -8
- package/plugins/harness-everything/skills/harness-everything/scripts/system-one/provider.js +18 -3
- package/plugins/harness-everything/skills/harness-everything/scripts/system-one/resident.js +200 -0
- package/plugins/harness-everything/skills/harness-everything/scripts/system-one/router.js +18 -2
- package/plugins/harness-everything/skills/harness-everything/scripts/tier-router.js +13 -4
- package/sbom.cdx.json +7 -7
- package/scripts/build-openai-submission.js +2 -0
- package/scripts/evaluate-system-one.js +18 -9
- package/scripts/lib/packaging-noise.js +6 -0
- package/scripts/lib/skills.js +2 -0
- package/scripts/sync-openai-plugin.js +2 -1
|
@@ -231,7 +231,7 @@ function emitDynamicSkills(promptLower, context, recommendedGuides) {
|
|
|
231
231
|
}
|
|
232
232
|
}
|
|
233
233
|
|
|
234
|
-
function run(userPrompt, context) {
|
|
234
|
+
function run(userPrompt, context, options = {}) {
|
|
235
235
|
console.log(`[Tier Routing Pre-check]`);
|
|
236
236
|
|
|
237
237
|
const promptLower = userPrompt.toLowerCase();
|
|
@@ -317,7 +317,7 @@ function run(userPrompt, context) {
|
|
|
317
317
|
const structuralFloor = hasMacroSignal ? 'tier3'
|
|
318
318
|
: !isTrivialDocsEdit && hasMultipleTasks && hasMultipleSentences ? 'tier2' : null;
|
|
319
319
|
const semantic = selectTier({ prompt: userPrompt, tier: recommendedTier, floor: structuralFloor,
|
|
320
|
-
explicit: Boolean(detectExplicitStrategy(userPrompt, detectFableModel(userPrompt))) });
|
|
320
|
+
explicit: Boolean(detectExplicitStrategy(userPrompt, detectFableModel(userPrompt))) }, process.env, options.systemOneScorer || undefined);
|
|
321
321
|
if (semantic.diagnostic) console.log(`\n=> SYSTEM ONE: ${JSON.stringify(semantic.diagnostic)}`);
|
|
322
322
|
if (semantic.diagnostic?.applied) {
|
|
323
323
|
recommendedTier = semantic.tier;
|
|
@@ -460,12 +460,21 @@ function run(userPrompt, context) {
|
|
|
460
460
|
return contract;
|
|
461
461
|
}
|
|
462
462
|
|
|
463
|
+
// Entry point: pre-score System One asynchronously so routing never needs the sync worker bridge.
|
|
464
|
+
async function main(prompt, context) {
|
|
465
|
+
let systemOneScorer = null;
|
|
466
|
+
if (['shadow', 'prefer'].includes(process.env.HARNESS_SYSTEM_ONE_MODE)) {
|
|
467
|
+
try { systemOneScorer = await require('./system-one/router').prescoreTier(prompt); } catch (_) { /* the sync path still scores */ }
|
|
468
|
+
}
|
|
469
|
+
run(prompt, context, { systemOneScorer });
|
|
470
|
+
}
|
|
471
|
+
|
|
463
472
|
if (require.main === module) {
|
|
464
473
|
let userPrompt = process.argv[2] || '';
|
|
465
474
|
let hookContext = null;
|
|
466
475
|
|
|
467
476
|
if (process.argv[2]) {
|
|
468
|
-
|
|
477
|
+
main(userPrompt);
|
|
469
478
|
} else if (process.stdin.isTTY) {
|
|
470
479
|
run('');
|
|
471
480
|
} else {
|
|
@@ -482,7 +491,7 @@ if (process.argv[2]) {
|
|
|
482
491
|
} catch (err) {
|
|
483
492
|
// Not valid JSON on stdin - fall back to argv/manual behavior.
|
|
484
493
|
}
|
|
485
|
-
|
|
494
|
+
main(userPrompt, hookContext);
|
|
486
495
|
});
|
|
487
496
|
}
|
|
488
497
|
}
|
package/sbom.cdx.json
CHANGED
|
@@ -2,23 +2,23 @@
|
|
|
2
2
|
"$schema": "https://cyclonedx.org/schema/bom-1.7.schema.json",
|
|
3
3
|
"bomFormat": "CycloneDX",
|
|
4
4
|
"specVersion": "1.7",
|
|
5
|
-
"serialNumber": "urn:uuid:
|
|
5
|
+
"serialNumber": "urn:uuid:3cb9e1e8-a9f0-5bc4-87ab-794acb1e79c3",
|
|
6
6
|
"version": 1,
|
|
7
7
|
"metadata": {
|
|
8
|
-
"timestamp": "2026-09-
|
|
8
|
+
"timestamp": "2026-09-23T11:35:56.699Z",
|
|
9
9
|
"tools": [
|
|
10
10
|
{
|
|
11
11
|
"vendor": "Harness Everything",
|
|
12
12
|
"name": "generate-sbom.js",
|
|
13
|
-
"version": "0.
|
|
13
|
+
"version": "0.22.1"
|
|
14
14
|
}
|
|
15
15
|
],
|
|
16
16
|
"component": {
|
|
17
17
|
"type": "application",
|
|
18
|
-
"bom-ref": "pkg:npm/harness-everything@0.
|
|
18
|
+
"bom-ref": "pkg:npm/harness-everything@0.22.1",
|
|
19
19
|
"name": "harness-everything",
|
|
20
|
-
"version": "0.
|
|
21
|
-
"purl": "pkg:npm/harness-everything@0.
|
|
20
|
+
"version": "0.22.1",
|
|
21
|
+
"purl": "pkg:npm/harness-everything@0.22.1"
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
24
|
"components": [
|
|
@@ -1999,7 +1999,7 @@
|
|
|
1999
1999
|
]
|
|
2000
2000
|
},
|
|
2001
2001
|
{
|
|
2002
|
-
"ref": "pkg:npm/harness-everything@0.
|
|
2002
|
+
"ref": "pkg:npm/harness-everything@0.22.1",
|
|
2003
2003
|
"dependsOn": [
|
|
2004
2004
|
"pkg:npm/%40commitlint/cli@19.8.1",
|
|
2005
2005
|
"pkg:npm/%40commitlint/config-conventional@19.8.1",
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
const crypto = require('crypto');
|
|
5
5
|
const fs = require('fs');
|
|
6
6
|
const path = require('path');
|
|
7
|
+
const { isPackagingNoise } = require('./lib/packaging-noise');
|
|
7
8
|
|
|
8
9
|
const ROOT = path.resolve(__dirname, '..');
|
|
9
10
|
const SKILLS_ROOT = path.join(ROOT, 'plugins', 'harness-everything', 'skills');
|
|
@@ -24,6 +25,7 @@ function parseArgs(argv) {
|
|
|
24
25
|
|
|
25
26
|
function filesUnder(root, base = root, out = []) {
|
|
26
27
|
for (const entry of fs.readdirSync(root, { withFileTypes: true })) {
|
|
28
|
+
if (isPackagingNoise(entry.name)) continue;
|
|
27
29
|
const full = path.join(root, entry.name);
|
|
28
30
|
if (entry.isDirectory()) filesUnder(full, base, out);
|
|
29
31
|
else if (entry.isFile()) out.push(path.relative(base, full).replace(/\\/g, '/'));
|
|
@@ -4,12 +4,19 @@ const fs = require('node:fs');
|
|
|
4
4
|
const os = require('node:os');
|
|
5
5
|
const { performance } = require('node:perf_hooks');
|
|
6
6
|
const { validateCorpus, evaluate } = require('../harness-everything/scripts/system-one/evaluate');
|
|
7
|
-
const {
|
|
7
|
+
const { scoreAsync, provenance, readManifest } = require('../harness-everything/scripts/system-one/provider');
|
|
8
|
+
const resident = require('../harness-everything/scripts/system-one/resident');
|
|
8
9
|
const { decide } = require('../harness-everything/scripts/system-one/contract');
|
|
9
10
|
const { run: route } = require('../harness-everything/scripts/tier-router');
|
|
10
11
|
|
|
11
|
-
function run(corpus, manifest) {
|
|
12
|
+
async function run(corpus, manifest) {
|
|
12
13
|
validateCorpus(corpus);
|
|
14
|
+
let config = null;
|
|
15
|
+
try { config = readManifest(manifest); } catch (_) { /* Missing provider remains an explicit unavailable measurement. */ }
|
|
16
|
+
// Resident runs are measured only after readiness, so every sample is warm; one-shot samples are cold.
|
|
17
|
+
const warm = config?.transport === 'resident';
|
|
18
|
+
const wasRunning = warm && resident.status(config, manifest).running;
|
|
19
|
+
const ready = warm && resident.ensureReady(config, manifest, 60000);
|
|
13
20
|
const records = [];
|
|
14
21
|
const originalMode = process.env.HARNESS_SYSTEM_ONE_MODE;
|
|
15
22
|
const originalLog = console.log;
|
|
@@ -21,15 +28,16 @@ function run(corpus, manifest) {
|
|
|
21
28
|
const runs = [];
|
|
22
29
|
for (let i = 0; i < 2; i++) {
|
|
23
30
|
const start = performance.now();
|
|
24
|
-
const result =
|
|
31
|
+
const result = await scoreAsync(c.request, manifest);
|
|
25
32
|
const decision = result.status === 'scored' ? decide(c.request, result.response) : result;
|
|
26
33
|
if (decision.selectedId === 'unclassified') Object.assign(decision, { status: 'abstain', reason: 'unclassified', selectedId: null });
|
|
27
34
|
const scores = ['accepted', 'abstain'].includes(decision.status) ? result.response.scores.map(s => s.probability) : null;
|
|
28
|
-
runs.push({ decision, scores, latencyMs: performance.now() - start, coldStart:
|
|
35
|
+
runs.push({ decision, scores, latencyMs: performance.now() - start, coldStart: !warm });
|
|
29
36
|
}
|
|
30
37
|
records.push({ id: c.id, baseline: tier === 'unclassified' ? null : tier, runs });
|
|
31
38
|
}
|
|
32
39
|
} finally {
|
|
40
|
+
if (warm && !wasRunning) resident.stop(config, manifest);
|
|
33
41
|
console.log = originalLog;
|
|
34
42
|
if (originalMode === undefined) delete process.env.HARNESS_SYSTEM_ONE_MODE;
|
|
35
43
|
else process.env.HARNESS_SYSTEM_ONE_MODE = originalMode;
|
|
@@ -40,18 +48,19 @@ function run(corpus, manifest) {
|
|
|
40
48
|
artifact = { declaredModelId: m.modelId, declaredRevision: m.revision, weightsSha256: m.weightsSha256, configSha256: m.configSha256 };
|
|
41
49
|
} catch (_) { /* Missing provider remains an explicit unavailable measurement. */ }
|
|
42
50
|
const source = provenance(manifest);
|
|
43
|
-
return { ...evaluate(corpus, records, source), evidence: { kind: 'offline-one-shot', artifact, source,
|
|
51
|
+
return { ...evaluate(corpus, records, source), evidence: { kind: warm ? 'offline-resident' : 'offline-one-shot', artifact, source,
|
|
52
|
+
residentReady: warm ? ready : null,
|
|
44
53
|
environment: { cpu: os.cpus()[0]?.model || 'unknown', os: `${os.platform()} ${os.release()} ${os.arch()}`, node: process.version,
|
|
45
54
|
python: source.status === 'recorded' ? source.provenance.python : null, threads: 1 },
|
|
46
|
-
limitations: ['No independently verified holdout review', 'No warm inference measurement', 'No live-host or policy evidence'] }, records };
|
|
55
|
+
limitations: ['No independently verified holdout review', ...(warm ? [] : ['No warm inference measurement']), 'No live-host or policy evidence'] }, records };
|
|
47
56
|
}
|
|
48
57
|
if (require.main === module) {
|
|
49
|
-
|
|
58
|
+
(async () => {
|
|
50
59
|
const [input, manifest, output, extra] = process.argv.slice(2);
|
|
51
60
|
if (!input || !manifest || !output || extra) throw new Error('usage');
|
|
52
|
-
const report = run(JSON.parse(fs.readFileSync(input, 'utf8')), manifest);
|
|
61
|
+
const report = await run(JSON.parse(fs.readFileSync(input, 'utf8')), manifest);
|
|
53
62
|
fs.writeFileSync(output, JSON.stringify(report, null, 2) + '\n');
|
|
54
63
|
console.log(JSON.stringify({ cases: report.cases, coverage: report.model.coverage, rolloutReady: report.rolloutReady }));
|
|
55
|
-
}
|
|
64
|
+
})().catch(() => { console.error('System One evaluation failed: invalid corpus, arguments, or output path.'); process.exitCode = 1; });
|
|
56
65
|
}
|
|
57
66
|
module.exports = { run };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
// Untracked local/CI build artifacts that no distribution (installer copy, plugin mirror,
|
|
3
|
+
// public submission) may ship, even when they exist in the working tree.
|
|
4
|
+
const isPackagingNoise = name => name === '__pycache__' || /\.py[co]$/.test(name);
|
|
5
|
+
|
|
6
|
+
module.exports = { isPackagingNoise };
|
package/scripts/lib/skills.js
CHANGED
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
const fs = require('fs');
|
|
3
3
|
const path = require('path');
|
|
4
4
|
const manifest = require('./manifest');
|
|
5
|
+
const { isPackagingNoise } = require('./packaging-noise');
|
|
5
6
|
|
|
6
7
|
function copyDir(src, dest) {
|
|
7
8
|
fs.mkdirSync(dest, { recursive: true });
|
|
8
9
|
const entries = fs.readdirSync(src, { withFileTypes: true });
|
|
9
10
|
for (const entry of entries) {
|
|
11
|
+
if (isPackagingNoise(entry.name)) continue;
|
|
10
12
|
const srcPath = path.join(src, entry.name);
|
|
11
13
|
const destPath = path.join(dest, entry.name);
|
|
12
14
|
if (entry.isDirectory()) copyDir(srcPath, destPath);
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
const fs = require('fs');
|
|
5
5
|
const path = require('path');
|
|
6
|
+
const { isPackagingNoise } = require('./lib/packaging-noise');
|
|
6
7
|
|
|
7
8
|
const ROOT = path.resolve(__dirname, '..');
|
|
8
9
|
const manifest = JSON.parse(fs.readFileSync(path.join(ROOT, '.claude-plugin', 'plugin.json'), 'utf8'));
|
|
@@ -32,7 +33,7 @@ function syncTree(source, destination) {
|
|
|
32
33
|
fs.rmSync(destination, { recursive: true, force: true });
|
|
33
34
|
fs.mkdirSync(path.dirname(destination), { recursive: true });
|
|
34
35
|
if (fs.statSync(source).isDirectory()) {
|
|
35
|
-
fs.cpSync(source, destination, { recursive: true });
|
|
36
|
+
fs.cpSync(source, destination, { recursive: true, filter: src => !isPackagingNoise(path.basename(src)) });
|
|
36
37
|
normalizeTree(destination);
|
|
37
38
|
} else {
|
|
38
39
|
fs.copyFileSync(source, destination);
|