@zhivex-ai/harness 1.0.0 → 1.1.0-rc.2
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 +97 -1
- package/README.md +52 -306
- package/SECURITY.md +1 -1
- package/SUPPORT.md +7 -3
- package/benchmarks/README.md +3 -3
- package/contracts/client-protocol-v1.schema.json +341 -0
- package/contracts/public-api.json +100 -1
- package/contracts/stable-api-signatures.json +14 -14
- package/dist/approval-diff.d.ts +45 -0
- package/dist/approval-history.d.ts +38 -0
- package/dist/approval-preview.d.ts +26 -0
- package/dist/cli-credentials.d.ts +38 -0
- package/dist/cli-help.d.ts +3 -0
- package/dist/cli-options.d.ts +1 -1
- package/dist/cli-stream.d.ts +3 -3
- package/dist/cli.d.ts +15 -69
- package/dist/cli.js +13796 -10032
- package/dist/client-contract.d.ts +208 -0
- package/dist/console-commands.d.ts +6 -0
- package/dist/console-context.d.ts +5 -1
- package/dist/console-input.d.ts +44 -4
- package/dist/console-model-catalog.d.ts +25 -0
- package/dist/console-navigation.d.ts +27 -0
- package/dist/console-presentation.d.ts +18 -0
- package/dist/console-welcome.d.ts +13 -0
- package/dist/execution-environment.d.ts +4 -0
- package/dist/harness.d.ts +3 -0
- package/dist/hostile-repository-demo.js +1913 -798
- package/dist/index.d.ts +7 -0
- package/dist/index.js +7908 -6330
- package/dist/local-service.d.ts +34 -0
- package/dist/operations.d.ts +23 -1
- package/dist/orchestration.d.ts +3 -0
- package/dist/persistence-secrets.d.ts +2 -0
- package/dist/recorded-workspace.d.ts +4 -0
- package/dist/run-document.d.ts +91 -0
- package/dist/runtime-policy.d.ts +4 -4
- package/dist/service-cli.d.ts +2 -0
- package/dist/service-cli.js +10858 -0
- package/dist/service-client-cli.d.ts +2 -0
- package/dist/service-events.d.ts +50 -0
- package/dist/sessions.d.ts +3 -0
- package/dist/sqlite-access.d.ts +26 -0
- package/dist/sqlite-database.d.ts +2 -0
- package/dist/state-backup.d.ts +8 -0
- package/dist/task-memory.d.ts +2 -2
- package/dist/terminal-continuation.d.ts +3 -0
- package/dist/terminal-markdown.d.ts +1 -0
- package/dist/terminal-ui.d.ts +5 -0
- package/dist/usage-ledger.d.ts +84 -0
- package/dist/verify-historical-migrations.js +5699 -5191
- package/dist/workspace.d.ts +22 -0
- package/dist/zhx.js +13796 -10032
- package/docs/CLI.md +136 -30
- package/docs/CLIENT_PROTOCOL.md +212 -0
- package/docs/CREDENTIALS.md +59 -0
- package/docs/DURABLE_OPERATIONS.md +2 -2
- package/docs/FIRST_USE.md +82 -0
- package/docs/FIRST_USE_EXAMPLE.md +40 -0
- package/docs/HOSTILE_REPOSITORY_DEMO.md +1 -1
- package/docs/LOCAL_SERVICE.md +142 -0
- package/docs/README.md +24 -23
- package/docs/THREAT_MODEL.md +1 -1
- package/docs/TIME_TO_SAFE_FIX.md +2 -2
- package/docs/USAGE.md +181 -0
- package/evaluations/daily-cli-cohort.json +33 -0
- package/evaluations/representative-assembly-matrix.json +19 -1
- package/examples/README.md +26 -0
- package/examples/first-use/greeting.test.ts +3 -0
- package/examples/first-use/greeting.ts +1 -0
- package/examples/first-use/package.json +7 -0
- package/package.json +34 -9
- package/ROADMAP.md +0 -414
- package/benchmarks/baselines/context-navigation-2026-09-09.json +0 -94
- package/benchmarks/baselines/efficiency-2026-09-08.json +0 -233
- package/benchmarks/baselines/external-final-2026-09-08.json +0 -588
- package/benchmarks/baselines/external-intermediate-2026-09-08.json +0 -116
- package/benchmarks/baselines/external-matched-openai-2026-09-08.json +0 -1922
- package/benchmarks/baselines/external-matched-qwen-2026-09-08.json +0 -1706
- package/benchmarks/baselines/external-pilot-2026-09-08.json +0 -439
- package/benchmarks/baselines/external-qwen-flash-2026-09-08.json +0 -1570
- package/benchmarks/baselines/external-qwen-remediation-2026-09-09.json +0 -1509
- package/benchmarks/baselines/external-qwen-sdk-114-progress-2026-09-09.json +0 -2509
- package/benchmarks/baselines/external-sdk-upgrade-2026-09-08.json +0 -564
- package/benchmarks/baselines/external-verifier-recovery-2026-09-09.json +0 -794
- package/benchmarks/baselines/full-harness-review-2026-09-10.json +0 -134
- package/benchmarks/baselines/harness-audit-2026-09-09.json +0 -136
- package/benchmarks/baselines/harness-remediation-2026-09-09.json +0 -160
- package/benchmarks/baselines/oci-remediation-2026-09-10.json +0 -535
- package/benchmarks/baselines/rc14-holdout-2026-09-10.json +0 -854
- package/benchmarks/baselines/repair-architecture-audit-2026-09-09.json +0 -75
- package/benchmarks/baselines/time-to-safe-fix-live-expanded-2026-08-21.json +0 -186
- package/benchmarks/baselines/time-to-safe-fix-live-smoke-2026-08-21.json +0 -186
- package/docs/GA_READINESS.md +0 -29
- package/docs/GEMINI_1_0_DECISION.md +0 -9
- package/docs/LIVE_CERTIFICATION.md +0 -107
- package/docs/RC13_SECURITY_REVIEW.md +0 -28
- package/docs/RC14_DELEGATED_SECURITY_DECISION.md +0 -80
- package/docs/RC14_SECURITY_REVIEW.md +0 -40
- package/docs/RELEASE.md +0 -96
- package/docs/ROLLBACK.md +0 -9
- package/docs/SECURITY_REVIEW_EVIDENCE.md +0 -17
- package/docs/ga-readiness.json +0 -366
- package/docs/reports/EFFICIENCY_REVIEW.md +0 -156
- package/docs/reports/EXTERNAL_COMPARISON.md +0 -434
- package/docs/reports/FULL_HARNESS_REVIEW_2026-09-10.md +0 -200
- package/docs/reports/GA_BUDGET_REMEDIATION_2026-09-19.md +0 -38
- package/docs/reports/GA_REPAIR_RECOVERY_2026-09-19.md +0 -700
- package/docs/reports/GA_VALIDATION_2026-09-19.md +0 -111
- package/docs/reports/HARNESS_ARCHITECTURE_REVIEW_2026-09-09.md +0 -202
- package/docs/reports/HARNESS_AUDIT_2026-09-09.md +0 -306
- package/docs/reports/HARNESS_REMEDIATION_2026-09-09.md +0 -74
- package/docs/reports/HARNESS_REMEDIATION_2026-09-10.md +0 -90
- package/docs/reports/MODEL_COMPARISON_2026-09-09.md +0 -184
- package/docs/reports/QWEN_REMEDIATION_COMPARISON_2026-09-09.md +0 -142
- package/docs/reports/RC14_VALIDATION_2026-09-10.md +0 -45
- package/docs/reports/README.md +0 -26
- package/docs/reports/evidence/ga-budget-remediation-2026-09-19.json +0 -133
- package/docs/reports/evidence/ga-catalog-ablation-2026-09-19.json +0 -699
- package/docs/reports/evidence/ga-catalog-ablation-plan-2026-09-19.json +0 -40
- package/docs/reports/evidence/ga-catalog-observed-2026-09-19.json +0 -985
- package/docs/reports/evidence/ga-catalog-observed-plan-2026-09-19.json +0 -28
- package/docs/reports/evidence/ga-catalog-observed-status-2026-09-19.json +0 -15
- package/docs/reports/evidence/ga-complete-local-check-2026-09-19.json +0 -47
- package/docs/reports/evidence/ga-completion-reminder-2026-09-19.json +0 -22
- package/docs/reports/evidence/ga-fresh-cohort-plan-2026-09-19.json +0 -54
- package/docs/reports/evidence/ga-fresh-cohort-preparation-2026-09-19.json +0 -242
- package/docs/reports/evidence/ga-fresh-cohort-result-2026-09-19.json +0 -4318
- package/docs/reports/evidence/ga-local-validation-followup-2026-09-19.json +0 -66
- package/docs/reports/evidence/ga-node-consumers-2026-09-19.json +0 -31
- package/docs/reports/evidence/ga-package-content-validation-2026-09-19.json +0 -22
- package/docs/reports/evidence/ga-plan-completion-2026-09-19.json +0 -39
- package/docs/reports/evidence/ga-plan-reserve-2026-09-19.json +0 -573
- package/docs/reports/evidence/ga-plan-reserve-plan-2026-09-19.json +0 -24
- package/docs/reports/evidence/ga-plan-transition-2026-09-19.json +0 -19
- package/docs/reports/evidence/ga-private-verifier-plan-2026-09-19.json +0 -24
- package/docs/reports/evidence/ga-private-verifier-root-cause-2026-09-19.json +0 -41
- package/docs/reports/evidence/ga-published-sdk-2026-09-19.json +0 -35
- package/docs/reports/evidence/ga-python-checkout-imports-2026-09-19.json +0 -95
- package/docs/reports/evidence/ga-python-origin-delivery-2026-09-19.json +0 -211
- package/docs/reports/evidence/ga-python-origin-delivery-plan-2026-09-19.json +0 -27
- package/docs/reports/evidence/ga-qwen-patched-package-2026-09-19.json +0 -1092
- package/docs/reports/evidence/ga-qwen-patched-package-plan-2026-09-19.json +0 -18
- package/docs/reports/evidence/ga-qwen-published-2026-09-19.json +0 -571
- package/docs/reports/evidence/ga-qwen-published-plan-2026-09-19.json +0 -18
- package/docs/reports/evidence/ga-qwen-tool-choice-2026-09-19.json +0 -85
- package/docs/reports/evidence/ga-qwen-tool-choice-patched-2026-09-19.json +0 -85
- package/docs/reports/evidence/ga-recovery-development-2026-09-19.json +0 -1066
- package/docs/reports/evidence/ga-recovery-graded-development-2026-09-19.json +0 -1313
- package/docs/reports/evidence/ga-recovery-graded-v2-2026-09-19.json +0 -1151
- package/docs/reports/evidence/ga-recovery-v3-2026-09-19.json +0 -3943
- package/docs/reports/evidence/ga-recovery-v4-2026-09-19.json +0 -1055
- package/docs/reports/evidence/ga-recovery-v5-2026-09-19.json +0 -1245
- package/docs/reports/evidence/ga-recovery-v6-2026-09-19.json +0 -699
- package/docs/reports/evidence/ga-recovery-v7-2026-09-19.json +0 -854
- package/docs/reports/evidence/ga-recovery-v8-2026-09-19.json +0 -596
- package/docs/reports/evidence/ga-required-delivery-2026-09-19.json +0 -25
- package/docs/reports/evidence/ga-required-delivery-live-2026-09-19.json +0 -1337
- package/docs/reports/evidence/ga-required-delivery-live-plan-2026-09-19.json +0 -25
- package/docs/reports/evidence/ga-retained-candidate-grading-2026-09-19.json +0 -30
- package/docs/reports/evidence/ga-tool-selection-live-2026-09-19.json +0 -559
- package/docs/reports/evidence/ga-tool-selection-live-plan-2026-09-19.json +0 -28
- package/docs/reports/evidence/ga-tool-selection-recovery-2026-09-19.json +0 -27
- package/docs/reports/evidence/ga-validation-2026-09-19.json +0 -236
- package/docs/reports/evidence/ga-verifier-discovery-live-2026-09-19.json +0 -1369
- package/docs/reports/evidence/ga-verifier-discovery-plan-2026-09-19.json +0 -29
- package/docs/reports/evidence/ga-verifier-failure-identification-2026-09-19.json +0 -30
- package/docs/reports/evidence/ga-verifier-feedback-2026-09-19.json +0 -65
- package/docs/reports/evidence/ga-verifier-hints-live-2026-09-19.json +0 -1297
- package/docs/reports/evidence/ga-verifier-hints-plan-2026-09-19.json +0 -27
- package/docs/reports/evidence/ga-work-boundary-context-analysis-2026-09-19.json +0 -113
- package/docs/reports/evidence/ga-work-boundary-live-2026-09-19.json +0 -301
- package/docs/reports/evidence/ga-work-boundary-live-plan-2026-09-19.json +0 -84
- package/docs/reports/evidence/ga-work-budget-planning-2026-09-19.json +0 -32
- package/docs/reports/evidence/ga-working-context-2026-09-19.json +0 -22
- package/docs/reports/evidence/rc14-delegated-security-review-2026-09-20.json +0 -81
- package/docs/reports/evidence/rc14-ga-gate-2026-09-20.json +0 -18
- package/docs/reports/evidence/rc14-representative-2026-09-20.json +0 -509
- package/docs/reports/evidence/rc14-security-regressions-2026-09-20.json +0 -64
- package/docs/reports/evidence/security-current-2026-09-19.json +0 -91
- package/docs/reports/evidence/security-remediation-2026-09-19.json +0 -97
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
# Efficiency implementation evidence — 2026-09-08
|
|
2
|
-
|
|
3
|
-
> Historical snapshot: versions, findings and measurements below describe the recorded run, not the current checkout. See the [report index](README.md) for follow-up work and the [documentation index](../README.md) for maintained guides.
|
|
4
|
-
|
|
5
|
-
## SDK patch integration
|
|
6
|
-
|
|
7
|
-
The measured checkout pinned published Core 1.13.0, Agents 1.3.1 and OpenAI 0.11.2,
|
|
8
|
-
including the Core override and lockfile. The isolated three-response diagnostic
|
|
9
|
-
now reports 300 input tokens for 300 measured tokens. Consumer regressions exercise
|
|
10
|
-
persisted and unpersisted streams, compactor usage, per-step budgets, real approval
|
|
11
|
-
resumes and synthetic assistant serialization through mocked Responses HTTP.
|
|
12
|
-
|
|
13
|
-
The local usage-accounting correction and compacted-history transport projection
|
|
14
|
-
have been removed. The SDK preserves complete interaction groups and assistant
|
|
15
|
-
roles; the harness no longer drops orphan observations or changes summary roles.
|
|
16
|
-
The new runtime identity requires older paused runs to use their matching artifact.
|
|
17
|
-
Those checks are installed-package evidence. The subsequent live
|
|
18
|
-
[repeated-cohort comparison](./EXTERNAL_COMPARISON.md#sdk-upgrade-reevaluation--2026-09-08)
|
|
19
|
-
resolved 2/5 cases for Zhivex and 3/5 for mini-SWE-agent, with 19.4% fewer Zhivex
|
|
20
|
-
input tokens than its previous run. It does not establish general superiority.
|
|
21
|
-
The sections below describe the earlier development evidence and task creation.
|
|
22
|
-
|
|
23
|
-
Upgrade validation passed: 442 tests, documentation and contract checks, typecheck,
|
|
24
|
-
migrations, deterministic evaluations and local benchmark checks. MCP loopback
|
|
25
|
-
checks required execution outside the sandbox; both MCP smokes, real OCI execution
|
|
26
|
-
and installed-package smoke passed with that permission. The isolated SDK diagnostic
|
|
27
|
-
also passed with the published dependency versions and no provider calls.
|
|
28
|
-
|
|
29
|
-
## Follow-up: command selection and user corrections
|
|
30
|
-
|
|
31
|
-
Configured OCI executable allowlists now appear as enums in all four command
|
|
32
|
-
tool schemas, including batch and verified-edit transactions. Descriptions expose
|
|
33
|
-
the configured choices and the Python module invocation for pytest when Python is
|
|
34
|
-
allowed. This does not broaden process permissions or guarantee module installation;
|
|
35
|
-
the execution session still enforces policy and exact approval. Calls to the public
|
|
36
|
-
factory without a configuration retain the legacy schema and direct the model to
|
|
37
|
-
`environment_status`.
|
|
38
|
-
|
|
39
|
-
Compaction strategy `bounded-evidence-v2` retains three bounded user corrections
|
|
40
|
-
separately from assistant excerpts. A regression runs five compactions with twenty
|
|
41
|
-
assistant messages between each, preserving the correction inside the same 4,000
|
|
42
|
-
character summary ceiling. This is deterministic continuity evidence, not a new
|
|
43
|
-
external benchmark result. Previous paused runs require their matching artifact.
|
|
44
|
-
|
|
45
|
-
The SDK team backlog in Notion's Zhivex area contains these verified-created tasks:
|
|
46
|
-
|
|
47
|
-
- [Persisted stream usage duplication](https://app.notion.com/p/3d5777b104f6810a8e46df7186bf5e21):
|
|
48
|
-
reproducible offline using `bun --no-env-file run scripts/diagnose-sdk-compaction.ts`.
|
|
49
|
-
Core 1.11.0 reports 500 input tokens for three measured responses of 100 when a
|
|
50
|
-
store and compaction are enabled. Without a store the isolated control reports 300.
|
|
51
|
-
- [Synthetic assistant serialization](https://app.notion.com/p/3d5777b104f6818db026dea3738f9b5b):
|
|
52
|
-
OpenAI 0.10.0 transport contract issue; the earlier harness projected summaries
|
|
53
|
-
into user context.
|
|
54
|
-
- [Approval/tool group boundaries](https://app.notion.com/p/3d5777b104f6814b80f2d46269c9453c):
|
|
55
|
-
code inspection and transport regression; the SDK task explicitly requires an
|
|
56
|
-
integrated approval/compaction reproduction before implementing an upstream fix.
|
|
57
|
-
|
|
58
|
-
At creation all three were tagged SDK-Typescript, priority Alta, status Sin empezar.
|
|
59
|
-
Their SDK fixes are now integrated as described above; this historical record does
|
|
60
|
-
not assert their current Notion workflow status.
|
|
61
|
-
|
|
62
|
-
Follow-up validation: 429 tests passed, plus documentation, stable contracts,
|
|
63
|
-
typecheck, migrations, deterministic evaluations and local benchmark checks.
|
|
64
|
-
The sandbox blocked the loopback MCP listener; MCP interoperability (controlled
|
|
65
|
-
and official SDK), real Docker OCI and installed-package smoke subsequently passed
|
|
66
|
-
with the required local execution permission. The isolated SDK diagnostic was also
|
|
67
|
-
typechecked and executed without provider calls. No new external score is claimed.
|
|
68
|
-
|
|
69
|
-
Implemented on top of `0a7b69dddaa70a54b6b5b4097691c8112d4d76eb` as an
|
|
70
|
-
uncommitted development change. Compact source-report digests and aggregate
|
|
71
|
-
measurements are recorded in [the baseline](../../benchmarks/baselines/efficiency-2026-09-08.json).
|
|
72
|
-
Full reports remain local under `results/efficiency/2026-09-08/`.
|
|
73
|
-
|
|
74
|
-
| Measurement (p50) | Before | After |
|
|
75
|
-
| --- | ---: | ---: |
|
|
76
|
-
| Three searches, 10,000 small files | 1,136.79 ms | 492.41 ms |
|
|
77
|
-
| `searchMany`, 10,000 small files | 941.46 ms | 232.24 ms |
|
|
78
|
-
| Digest inventory, 10,000 small files | 970.63 ms | 245.74 ms |
|
|
79
|
-
| Reused topology inventory, 100 nested groups / 1,000 files | 27.61 ms | 10.32 ms |
|
|
80
|
-
| OCI session acquisition, 1,000 source files | 417.04 ms | 193.16 ms |
|
|
81
|
-
|
|
82
|
-
Three repetitions per measurement, Bun 1.4.0 on local macOS ARM64, filesystem
|
|
83
|
-
cache not flushed. These are sequential development observations, not randomized
|
|
84
|
-
paired trials. The nested and OCI before/after measurements isolate later stages:
|
|
85
|
-
both already include concurrent content reads; OCI after additionally includes
|
|
86
|
-
batched index freshness and snapshot construction. No model latency or human
|
|
87
|
-
approval time is represented by these workspace numbers. No p99 claim is warranted.
|
|
88
|
-
|
|
89
|
-
Validation: full `bun run check` passed, including 414 tests, historical migrations,
|
|
90
|
-
deterministic evaluations, workspace/safe-fix benchmarks, MCP interoperability,
|
|
91
|
-
real Docker 29.7.2 OCI smoke, and the installed package smoke. Tests exercise batch
|
|
92
|
-
failure draining, early termination, deduplication, aggregate limits, symlinks,
|
|
93
|
-
Unicode pagination, changed file contents, repeated compaction and redaction.
|
|
94
|
-
The Stable declaration snapshot update reflects only TypeScript's reordered
|
|
95
|
-
`fulfilled`/`rejected` enum members, checked against declarations emitted from the
|
|
96
|
-
base checkout. It does not add or remove a public API member.
|
|
97
|
-
|
|
98
|
-
Reproduce workspace scale with `bun run benchmark:workspace:scale`, continuity with
|
|
99
|
-
`bun run evaluate:continuity`, and OCI with `bun run benchmark:oci`. See the
|
|
100
|
-
[benchmark guide](../../benchmarks/README.md) for limits and competitive methodology.
|
|
101
|
-
|
|
102
|
-
Remaining research: persistent content indexing, semantic plans/constraint retention,
|
|
103
|
-
automatic model selection and cross-tool concurrency. Those mechanisms were not
|
|
104
|
-
introduced by this patch. External held-out agent evaluations still require a
|
|
105
|
-
selected competing implementation, dataset and matched runtime/model budgets; the
|
|
106
|
-
existing external-driver interface is available but no competitor was executed.
|
|
107
|
-
|
|
108
|
-
## External-pilot follow-up
|
|
109
|
-
|
|
110
|
-
The follow-up adds exact approved replacements to avoid generating full files,
|
|
111
|
-
reduces default read/search volume, preserves the objective through SDK-formatted
|
|
112
|
-
compaction, and fixes model-transport context at compaction boundaries. OCI's
|
|
113
|
-
inventory uses the snapshot byte budget independently of the model's file-read
|
|
114
|
-
limit, allowing large unchanged fixture files. The authority inventory and enforced
|
|
115
|
-
OCI tool list both include the new replacement tool.
|
|
116
|
-
|
|
117
|
-
One previously failing development task produced an officially accepted repair
|
|
118
|
-
with two compacted continuations after these fixes. That run subsequently exhausted
|
|
119
|
-
its input budget after already importing the patch; the frozen comparison ends on
|
|
120
|
-
the approved import receipt. This development result is not holdout evidence.
|
|
121
|
-
See [the external comparison](EXTERNAL_COMPARISON.md) for the independent selection.
|
|
122
|
-
|
|
123
|
-
## Qwen repair follow-up
|
|
124
|
-
|
|
125
|
-
The subsequent implementation adds exact-file batched searches, character-bounded
|
|
126
|
-
read output, earlier benchmark compaction, remaining-budget reminders and required
|
|
127
|
-
verification before native benchmark import. Command telemetry retains typed exit
|
|
128
|
-
codes and timeouts without raw logs. Qwen adapter 0.11.4 incorporates the upstream
|
|
129
|
-
streamed-usage fix. Validation passed 446 tests and the MCP, OCI and installed
|
|
130
|
-
package checks.
|
|
131
|
-
|
|
132
|
-
The repeated five-case comparison using `qwen3.8-flash` with thinking disabled
|
|
133
|
-
resolved 0/5 for Zhivex and 2/5 for mini-SWE-agent. Native input usage was 424,720
|
|
134
|
-
tokens: three attempts reached the budget, one failed argument validation and one
|
|
135
|
-
failed final verification (exit 4), preventing import. This is no demonstrated
|
|
136
|
-
competitive improvement. Model and harness changes are confounded, and the cases
|
|
137
|
-
are known development data. See the [full result and limitations](EXTERNAL_COMPARISON.md#qwen-flash-repair-reevaluation--2026-09-08).
|
|
138
|
-
|
|
139
|
-
## Navigation retention follow-up — 2026-09-09
|
|
140
|
-
|
|
141
|
-
The harness compactor previously ignored nested file references in batched search
|
|
142
|
-
and read outputs. Strategy `bounded-evidence-v3` now retains up to eight validated,
|
|
143
|
-
deduplicated path/digest/line references within the existing total summary budget.
|
|
144
|
-
New observations with a changed digest replace older locations for that file.
|
|
145
|
-
Current source must still be read before editing; historical locations do not
|
|
146
|
-
authorize edits or stand in for source content.
|
|
147
|
-
|
|
148
|
-
The [deterministic control](../../benchmarks/baselines/context-navigation-2026-09-09.json)
|
|
149
|
-
retains two locations through six successive compactions, compared with zero in
|
|
150
|
-
the archived v2 implementation. On this small fixture the summary grows from 225
|
|
151
|
-
to 553 characters, still below the 4,000-character cap. This is improved information
|
|
152
|
-
retention, not measured token savings. The intended benefit is avoiding repository
|
|
153
|
-
rediscovery after compaction; a fixed-model live comparison is still needed to
|
|
154
|
-
measure that benefit. Regression tests use actual workspace batched outputs and
|
|
155
|
-
cover redaction, stale references, clipped lines, hostile recalled metadata and
|
|
156
|
-
small summary budgets. The local suite passes 456 tests.
|
|
@@ -1,434 +0,0 @@
|
|
|
1
|
-
# Reproducible external comparison
|
|
2
|
-
|
|
3
|
-
> Historical snapshot: versions, findings and measurements below describe the recorded run, not the current checkout. See the [report index](README.md) for follow-up work and the [documentation index](../README.md) for maintained guides.
|
|
4
|
-
|
|
5
|
-
The latest [post-remediation Qwen reevaluation](QWEN_REMEDIATION_COMPARISON_2026-09-09.md)
|
|
6
|
-
completed twenty attempts on five known tasks, two repetitions per candidate:
|
|
7
|
-
Zhivex delivered 0/10 repairs and mini-SWE-agent 4/10. Three native candidates
|
|
8
|
-
passed independent grading but exhausted budget before verification/import;
|
|
9
|
-
they do not count as completed repairs. This is a development reevaluation,
|
|
10
|
-
not a new holdout. The [sanitized baseline](../../benchmarks/baselines/external-qwen-remediation-2026-09-09.json)
|
|
11
|
-
records complete usage, all samples and 60 verified source hashes.
|
|
12
|
-
|
|
13
|
-
The earlier [frozen model comparison and isolated recovery study](MODEL_COMPARISON_2026-09-09.md)
|
|
14
|
-
holds the harness version and per-candidate verification policy fixed across
|
|
15
|
-
OpenAI and Qwen. Earlier runs below retain their original configurations.
|
|
16
|
-
|
|
17
|
-
## Repair progress controls
|
|
18
|
-
|
|
19
|
-
The native driver opts into Core 1.14.0/Agents 1.4.0 schema-error recovery with
|
|
20
|
-
`toolExecution.validationErrorMode: "tool-result"`. Invalid arguments produce a
|
|
21
|
-
sanitized error observation, allowing the model to correct the call within the
|
|
22
|
-
existing step/error/token limits. Invalid calls are not executed or approved.
|
|
23
|
-
Consumer tests exercise real harness streaming, correction, error-budget stops,
|
|
24
|
-
and a mixed invalid-read/valid-write batch across approval. The normal CLI retains
|
|
25
|
-
the SDK's strict default unless the application explicitly selects recovery.
|
|
26
|
-
Structured validation issue paths are retained in sanitized benchmark diagnostics.
|
|
27
|
-
|
|
28
|
-
The native comparison driver now creates one isolated progress controller per run.
|
|
29
|
-
After 70% of either measured cumulative input or output allowance is consumed,
|
|
30
|
-
`list_files` and repository-root searches are rejected with a short instruction
|
|
31
|
-
to proceed with focused reads/searches, reproduction, repair and verification.
|
|
32
|
-
This reserves the remaining allowance from those discovery tools; it does not
|
|
33
|
-
guarantee that 30% will reach verification or prevent exploration inside an approved
|
|
34
|
-
shell command. Overall SDK/transport ceilings and approvals remain enforced.
|
|
35
|
-
|
|
36
|
-
For local read/search/list tools, the third identical request returning identical
|
|
37
|
-
data replaces the repeated payload with a recoverable tool error. The tool still
|
|
38
|
-
reads current data before comparing hashes: there is no cached source substitution.
|
|
39
|
-
Changed results are returned normally. Commands and mutations clear repetition
|
|
40
|
-
history before execution, including when they fail after effects. They are never
|
|
41
|
-
deduplicated. The per-run history holds at most 128 input/output hashes; diagnostics
|
|
42
|
-
contain only counters. This wrapper preserves each tool's schema and approval fields.
|
|
43
|
-
|
|
44
|
-
`repairProgress` reports repeated/suppressed results, blocked broad calls and entry
|
|
45
|
-
into the closure phase. `contextMetrics` records up to 128 outbound requests split
|
|
46
|
-
into serialized characters for system, user, assistant, tool-result and other
|
|
47
|
-
messages, plus provider-neutral tool names/descriptions/JSON schemas. Unsupported
|
|
48
|
-
schemas increment `unmeasuredToolDefinitions`; omitted requests are counted in
|
|
49
|
-
`omittedContextMeasurements`. These are character measurements, not billed tokens
|
|
50
|
-
or exact provider wire serialization. They contain no request text. Existing actual
|
|
51
|
-
token counters remain the basis for budget enforcement.
|
|
52
|
-
|
|
53
|
-
These controls are enabled in the SWE-bench native driver, not automatically in
|
|
54
|
-
normal CLI sessions. Existing frozen baselines predate this policy and must not be
|
|
55
|
-
attributed to it. The post-remediation reevaluation linked above measures this
|
|
56
|
-
newer policy; it did not improve final resolution. The upstream external
|
|
57
|
-
candidate's loop is unchanged.
|
|
58
|
-
|
|
59
|
-
The current checkout integrates Core 1.14.0, Agents 1.4.0, OpenAI 0.11.2 and Qwen 0.11.4 and
|
|
60
|
-
removes the earlier local compaction workarounds. Existing baseline results below
|
|
61
|
-
belong to their archived source snapshots and dependencies, not this upgraded
|
|
62
|
-
runtime. A repeated-cohort evaluation of the upgraded runtime is recorded below;
|
|
63
|
-
it is separate from the original held-out run.
|
|
64
|
-
|
|
65
|
-
## Qwen Flash repair reevaluation — 2026-09-08
|
|
66
|
-
|
|
67
|
-
The [Qwen baseline](../../benchmarks/baselines/external-qwen-flash-2026-09-08.json)
|
|
68
|
-
records all ten completed attempts on the same five known tasks, one repetition.
|
|
69
|
-
Both candidates requested `qwen3.8-flash` through the international DashScope Chat
|
|
70
|
-
Completions endpoint, with thinking disabled. Limits remain 24 steps, 2,048 output
|
|
71
|
-
tokens per response, 100,000 cumulative input tokens, 16,000 cumulative output
|
|
72
|
-
tokens and 300 seconds. Budget enforcement between requests can overshoot by one
|
|
73
|
-
response. Pricing was not supplied.
|
|
74
|
-
|
|
75
|
-
| Candidate | Resolved | Input tokens, all attempts | Output tokens, all attempts |
|
|
76
|
-
| --- | ---: | ---: | ---: |
|
|
77
|
-
| Zhivex | 0/5 | 424,720 | 5,868 |
|
|
78
|
-
| mini-SWE-agent | 2/5 | 359,481 | 6,404 |
|
|
79
|
-
|
|
80
|
-
The implemented fixes support exact-file `search_many`, limit rendered reads to
|
|
81
|
-
16,000 characters per slice and 32,000 per batch, request behavioral assertions,
|
|
82
|
-
compact at 10,000 estimated input tokens, and expose remaining cumulative budget
|
|
83
|
-
after half is consumed. Native submission now requires a successful verifier
|
|
84
|
-
through `verify_and_apply_environment_patch`; mini retains its upstream submission
|
|
85
|
-
loop. This verification-policy difference is part of the compared products.
|
|
86
|
-
|
|
87
|
-
Three native tasks (SymPy and both Django cases) exhausted the input budget.
|
|
88
|
-
Scikit-learn 10908 stopped on an invalid `files[0].endLine` argument; sanitized
|
|
89
|
-
evidence does not establish the offending value. Scikit-learn 14141 reached final
|
|
90
|
-
verification, which exited with code 4 and correctly prevented host import. Its
|
|
91
|
-
error fingerprint exactly matches the harness's verifier-failure message; the
|
|
92
|
-
retained evidence does not establish why the verifier exited with that code.
|
|
93
|
-
All five native exported patches were empty. Mini resolved both scikit-learn
|
|
94
|
-
cases and exported three empty patches. Empty patches count as unresolved without
|
|
95
|
-
running hidden tests. All ten attempts have complete usage, with no missing samples
|
|
96
|
-
or grading failures.
|
|
97
|
-
|
|
98
|
-
An earlier aborted attempt used Qwen adapter 0.11.1, which missed the trailing
|
|
99
|
-
streamed usage chunk. The already-published upstream fix was integrated by upgrading
|
|
100
|
-
to 0.11.4 and verified with a live streaming tool call before this complete run.
|
|
101
|
-
That aborted attempt is retained separately with unknown billed usage and is not
|
|
102
|
-
valid comparison evidence. No duplicate SDK story is needed for the existing fix.
|
|
103
|
-
|
|
104
|
-
All 52 source hashes matched the checkout and archived snapshot after execution.
|
|
105
|
-
Local receipts and reports are under
|
|
106
|
-
`results/swebench/qwen-flash-validated-2026-09-08/`. Validation passed 446 tests,
|
|
107
|
-
contract/docs/type checks, migrations, deterministic evaluations, MCP checks, real
|
|
108
|
-
OCI smoke and the installed package smoke; network/port/container checks ran with
|
|
109
|
-
the required sandbox escalation.
|
|
110
|
-
|
|
111
|
-
This run did not improve resolution. Model, transport, reasoning and harness
|
|
112
|
-
behavior changed together relative to the preceding GPT run; it does not isolate
|
|
113
|
-
model quality or the effect of any individual fix. These inspected cases are
|
|
114
|
-
development data, not a fresh holdout. Remaining observed bottlenecks are repeated
|
|
115
|
-
context consumption and recovery from invalid tool arguments or failed verification.
|
|
116
|
-
To prepare another Qwen selection, use `prepare.py --provider qwen --model
|
|
117
|
-
qwen3.8-flash` with the other preparation arguments. Supply `DASHSCOPE_API_KEY` or
|
|
118
|
-
`QWEN_API_KEY`; the matched runner requires the default international endpoint and
|
|
119
|
-
rejects custom Qwen region, workspace or base-URL overrides.
|
|
120
|
-
|
|
121
|
-
## SDK upgrade reevaluation — 2026-09-08
|
|
122
|
-
|
|
123
|
-
The [sanitized baseline](../../benchmarks/baselines/external-sdk-upgrade-2026-09-08.json)
|
|
124
|
-
records ten completed runs with Core 1.13.0, Agents 1.3.1 and OpenAI 0.11.2.
|
|
125
|
-
All five tasks, candidate and evaluator images, model and budgets match the previous
|
|
126
|
-
final cohort. This deliberately reuses known cases, so it is not a new holdout.
|
|
127
|
-
Command-schema and user-correction improvements are also present; this experiment
|
|
128
|
-
does not isolate the SDK's causal contribution.
|
|
129
|
-
|
|
130
|
-
| Candidate | Previous resolved | Current resolved | Previous input tokens | Current input tokens |
|
|
131
|
-
| --- | ---: | ---: | ---: | ---: |
|
|
132
|
-
| Zhivex | 1/5 | 2/5 | 422,592 | 340,685 |
|
|
133
|
-
| mini-SWE-agent | 2/5 | 3/5 | 331,554 | 297,407 |
|
|
134
|
-
|
|
135
|
-
Zhivex used 19.4% fewer input tokens in this run; mini used 10.3% fewer. Output
|
|
136
|
-
tokens were 5,260 and 8,832 respectively. These totals include unsuccessful attempts.
|
|
137
|
-
The unchanged external control also varied, so neither the score change nor token
|
|
138
|
-
reduction is a causal estimate. No pricing was supplied and monetary costs remain
|
|
139
|
-
unknown. Five tasks and one repetition do not establish general superiority.
|
|
140
|
-
|
|
141
|
-
| Task | Zhivex | mini-SWE-agent |
|
|
142
|
-
| --- | --- | --- |
|
|
143
|
-
| sympy__sympy-21930 | Incorrect patch | Incorrect patch |
|
|
144
|
-
| scikit-learn__scikit-learn-10908 | Resolved | Resolved |
|
|
145
|
-
| django__django-15554 | Input budget exceeded | Resolved |
|
|
146
|
-
| scikit-learn__scikit-learn-14141 | Resolved | Resolved |
|
|
147
|
-
| django__django-11265 | Incorrect patch | Incorrect patch |
|
|
148
|
-
|
|
149
|
-
Zhivex now solves scikit-learn-10908, previously blocked by command authorization.
|
|
150
|
-
It completes the SymPy and final Django attempts within budget, but their patches
|
|
151
|
-
do not pass the official evaluator. One other Django attempt reaches 101,980 input
|
|
152
|
-
tokens; ceilings allow the documented one-response overshoot. No command-denial or
|
|
153
|
-
provider-protocol failures were recorded. Remaining priorities are repair correctness
|
|
154
|
-
and repeated context consumption, not relaxing execution permissions.
|
|
155
|
-
|
|
156
|
-
All ten samples have complete usage and grading status, with no grading failures or
|
|
157
|
-
protected-file changes. All five preflights passed without provider calls. After
|
|
158
|
-
the run, all 52 source hashes matched both the checkout and archived snapshot.
|
|
159
|
-
Raw receipts are local under `results/swebench/sdk-upgrade-comparison-2026-09-08/`.
|
|
160
|
-
|
|
161
|
-
### Failure analysis of the upgraded run
|
|
162
|
-
|
|
163
|
-
The requested model identifier was `gpt-5.6-luna`, through OpenAI Responses with
|
|
164
|
-
low reasoning, for both candidates. Limits were 24 steps, 2,048 output tokens per
|
|
165
|
-
response, 100,000 cumulative input tokens, 16,000 cumulative output tokens and
|
|
166
|
-
300 seconds per agent run. This records the requested model, not an immutable
|
|
167
|
-
provider model snapshot.
|
|
168
|
-
|
|
169
|
-
- **SymPy 21930:** the submitted patch only wrapped `CreateBoson._latex` in braces.
|
|
170
|
-
Official grading passed two target tests but still failed `test_commutation`,
|
|
171
|
-
`test_create_f`, `test_NO` and `test_Tensors`. The repair did not cover related
|
|
172
|
-
rendering variants. Two exact-replacement attempts also failed because the
|
|
173
|
-
old text was not a unique match; those checks should remain enforced.
|
|
174
|
-
- **Django 11265:** copying annotations and filtered relations into the inner
|
|
175
|
-
query removed the original failure mode but did not implement correct exclusion
|
|
176
|
-
semantics. `test_with_exclude` expected an author and received an empty queryset.
|
|
177
|
-
One execution command is recorded, but the sanitized trace does not retain its
|
|
178
|
-
arguments or exit code; it cannot establish what the agent actually verified.
|
|
179
|
-
- **Django 15554:** 13 model calls consumed 101,980 input tokens with two compactions.
|
|
180
|
-
The recorded tools were eight searches, five reads and one listing; no edit or
|
|
181
|
-
verifier execution is recorded before the budget failure. Tool responses totaled
|
|
182
|
-
115,568 serialized characters. These are response characters, not unique source
|
|
183
|
-
bytes or a token estimate. The empty exported patch received no hidden test run.
|
|
184
|
-
|
|
185
|
-
A confirmed harness issue contributed avoidable tool failures: `search_many` accepts
|
|
186
|
-
an arbitrary relative `path` in its schema, but `Workspace.searchMany` requires a
|
|
187
|
-
directory and the tool description does not explain that restriction. Eight errors
|
|
188
|
-
across four tasks have the exact SHA-256 fingerprint of the fixed message
|
|
189
|
-
`searchMany requires a directory.` An isolated temporary-file reproduction matches
|
|
190
|
-
the fingerprint; searching the containing directory succeeds. Three such failures
|
|
191
|
-
occurred in Django 15554. This does not prove that fixing search alone would solve it.
|
|
192
|
-
|
|
193
|
-
Priorities are file-scoped search with the existing filesystem protections, explicit
|
|
194
|
-
behavioral reproduction plus regression verification before submission, and bounded
|
|
195
|
-
read output with earlier budget-aware progress checks. Verification telemetry should
|
|
196
|
-
retain typed command outcomes without raw logs or secrets. No new SDK defect is
|
|
197
|
-
established by these failures; the terminal budget guard is expected behavior.
|
|
198
|
-
Any future tuning using these inspected evaluator results must treat this cohort as
|
|
199
|
-
development data and use fresh cases for confirmatory claims.
|
|
200
|
-
|
|
201
|
-
This opt-in pipeline compares the actual Zhivex Harness native OCI execution path
|
|
202
|
-
with upstream mini-SWE-agent 2.4.6 on a pinned selection of SWE-bench Verified.
|
|
203
|
-
It does not relabel the internal `direct` profile as an external product.
|
|
204
|
-
|
|
205
|
-
The scorer is SWE-bench 4.1.0, which accepts the original Verified dataset columns.
|
|
206
|
-
SWE-bench 5.x expects precomputed evaluation metadata absent from this pinned
|
|
207
|
-
revision. The dependency lock includes hashes. See the upstream
|
|
208
|
-
[mini-SWE-agent integration](https://mini-swe-agent.com/latest/usage/swebench/) and
|
|
209
|
-
[SWE-bench 4.1.0 package](https://pypi.org/project/swebench/4.1.0/).
|
|
210
|
-
|
|
211
|
-
## Setup
|
|
212
|
-
|
|
213
|
-
Install the optional Python tools separately from the published JavaScript package:
|
|
214
|
-
|
|
215
|
-
```sh
|
|
216
|
-
uv venv --python 3.12 evaluations/external/.venv
|
|
217
|
-
uv pip sync --python evaluations/external/.venv/bin/python evaluations/external/requirements.lock
|
|
218
|
-
export ZHIVEX_SWEBENCH_PYTHON="$PWD/evaluations/external/.venv/bin/python"
|
|
219
|
-
```
|
|
220
|
-
|
|
221
|
-
Docker must be available. The images are Linux AMD64; an ARM host uses emulation,
|
|
222
|
-
which is recorded as a limitation of local timing. On macOS, ensure Docker Desktop's
|
|
223
|
-
credential helper is on PATH when pulling public images. Preparation can download
|
|
224
|
-
several gigabytes per task. It does not send model requests.
|
|
225
|
-
|
|
226
|
-
```sh
|
|
227
|
-
bun run benchmark:swebench prepare --output results/swebench/prepared --count 5
|
|
228
|
-
bun run benchmark:swebench preflight --prepared results/swebench/prepared
|
|
229
|
-
bun --env-file=.env run benchmark:swebench run \
|
|
230
|
-
--prepared results/swebench/prepared \
|
|
231
|
-
--output results/swebench/comparison --live
|
|
232
|
-
bun run benchmark:swebench report results/swebench/comparison
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
Every preparation/comparison output directory must be new. Failed attempts remain
|
|
236
|
-
separate. The default matrix is five seeded tasks, two candidates and one repetition;
|
|
237
|
-
`run` also caps the matrix at ten cases unless `--max-runs` explicitly increases it.
|
|
238
|
-
Do not choose replacements based on which agent succeeds. To expand, prepare a new
|
|
239
|
-
selection and exclude all development/pilot tasks from the confirmatory holdout.
|
|
240
|
-
|
|
241
|
-
## Identity and isolation
|
|
242
|
-
|
|
243
|
-
Preparation freezes the dataset revision, selected full-task digest, model, limits,
|
|
244
|
-
package versions, original evaluator image IDs and derived candidate image IDs.
|
|
245
|
-
The candidate image adds Node 22 to the official per-task image and sets Python's
|
|
246
|
-
search path to `/workspace:/workspace/src:/testbed:/testbed/src`. This prioritizes
|
|
247
|
-
the Harness snapshot while preserving the control's `/testbed` checkout. Preflight
|
|
248
|
-
checks top-level checkout package origins with the script-directory shortcut
|
|
249
|
-
excluded; an editable installation pointing to the original image must not silently
|
|
250
|
-
replace the candidate under test. Older prepared images without this binding must
|
|
251
|
-
be rebuilt before another comparison. Both agents use
|
|
252
|
-
that identical derived image; grading uses the pinned original image in a fresh
|
|
253
|
-
container. The run manifest records source hashes as well as the Git commit, so
|
|
254
|
-
uncommitted implementations are distinguishable.
|
|
255
|
-
|
|
256
|
-
Some official images squash Git history. The source tree is checked against the
|
|
257
|
-
upstream base commit. Where image packaging changes executable bits, preparation
|
|
258
|
-
requires identical paths and blob hashes and allows only regular-file 0644/0755
|
|
259
|
-
mode differences; the count and both tree identities are recorded. Changes in file
|
|
260
|
-
type or content fail preparation. Repository state must initially be clean.
|
|
261
|
-
|
|
262
|
-
Agent requests include only the problem statement and public task identity. Gold
|
|
263
|
-
patches, hidden test patches, hidden test names and hints stay in a private dataset
|
|
264
|
-
file outside agent workspaces. Official grading applies its hidden tests after the
|
|
265
|
-
agent exits. Actual workspace diffs, including new files, are exported independently
|
|
266
|
-
of model claims. Modifications to protected test/configuration files disqualify a
|
|
267
|
-
repair; raw official correctness is retained separately as `officialResolved`.
|
|
268
|
-
|
|
269
|
-
The comparison intentionally preserves product differences: Zhivex uses its read-only
|
|
270
|
-
OCI root, writable `/workspace` snapshot, durable approvals and explicit host import;
|
|
271
|
-
mini uses upstream prompts/control loop with a writable `/testbed` container.
|
|
272
|
-
Both agent environments deny network and use equal CPU/memory limits. Zhivex's
|
|
273
|
-
operator is automated with zero human wait, so this does not measure human review UX.
|
|
274
|
-
Shell/tool inventories and tool-call limits differ and are disclosed in the manifest.
|
|
275
|
-
The same Responses API model, low reasoning effort, per-response output cap, step
|
|
276
|
-
limit and cumulative token ceilings are used. Cumulative ceilings are checked between
|
|
277
|
-
requests and can overshoot by one response. Provider retries are disabled for the pilot.
|
|
278
|
-
|
|
279
|
-
## Reports and boundaries
|
|
280
|
-
|
|
281
|
-
`report.json` and `report.md` count every planned task/repetition. Missing samples,
|
|
282
|
-
agent failures and grading failures remain visible. Resolution requires independent
|
|
283
|
-
grading and adherence to the protected-file policy. Empty patches count as unresolved
|
|
284
|
-
without claiming that tests ran. Durations include preparation of each run and grading;
|
|
285
|
-
agent and grading durations are also retained in samples.
|
|
286
|
-
|
|
287
|
-
Prices are not invented. To estimate USD consistently from measured usage, supply
|
|
288
|
-
`--prices INPUT CACHED_INPUT OUTPUT` as USD per million tokens, using verified prices
|
|
289
|
-
for the exact provider/model at run time. The manifest records the supplied rates.
|
|
290
|
-
Without rates or complete usage, cost stays `null`. Cost per solved problem includes
|
|
291
|
-
spend on unsuccessful attempts. Interrupted requests can have unknown billed usage.
|
|
292
|
-
|
|
293
|
-
Intervals resample tasks, averaging repetitions within each task first. Five tasks
|
|
294
|
-
are an integration pilot, not credible evidence of general superiority. Correctness
|
|
295
|
-
on SWE-bench is not a security evaluation. Safety, hostile repositories, human review
|
|
296
|
-
and long-session continuity need separate suites. No leaderboard submission is made.
|
|
297
|
-
|
|
298
|
-
Run `bun run benchmark:swebench:test` for offline contract regressions; those tests
|
|
299
|
-
need only Python's standard library and do not install the optional evaluator or
|
|
300
|
-
call a provider. The preparatory OCI check and official positive/negative controls
|
|
301
|
-
are separate integration evidence.
|
|
302
|
-
|
|
303
|
-
## Recorded pilot: 2026-09-08
|
|
304
|
-
|
|
305
|
-
The [sanitized baseline](../../benchmarks/baselines/external-pilot-2026-09-08.json)
|
|
306
|
-
records ten runs: five seeded tasks, one repetition, `gpt-5.6-luna` with low
|
|
307
|
-
reasoning. Mini-SWE-agent resolved **5/5**; Zhivex resolved **0/5**. No samples
|
|
308
|
-
were missing and the official grader reported no grading failures. Empty native
|
|
309
|
-
patches counted as unresolved without invoking hidden tests. Before the pilot,
|
|
310
|
-
the grader rejected a neutral patch and accepted the reference repair on the first
|
|
311
|
-
task; these controls did not call a model.
|
|
312
|
-
|
|
313
|
-
Zhivex returned `EXECUTION_FAILED` on one case and lost that run's model telemetry.
|
|
314
|
-
Three other failed cases recorded 152,643, 119,718 and 110,074 cumulative input
|
|
315
|
-
tokens against a 100,000-token ceiling; the exact terminal reasons were not
|
|
316
|
-
retained, so a causal diagnosis remains open. The fifth case completed with one
|
|
317
|
-
model response, no tool calls and no repair. Unknown counters are `null` in the
|
|
318
|
-
sanitized baseline, even where the raw driver emitted zero with `usageComplete:false`.
|
|
319
|
-
Costs remain unknown because no rates were supplied and one run lacks usage.
|
|
320
|
-
|
|
321
|
-
The next improvement cycle should preserve sanitized terminal reasons and partial
|
|
322
|
-
usage, investigate context growth and approval resumption, and reproduce the
|
|
323
|
-
no-tool completion. Reuse these five cases for debugging, then measure the updated
|
|
324
|
-
system on an untouched holdout. This pilot supports no general superiority claim.
|
|
325
|
-
|
|
326
|
-
Raw local evidence is under `results/swebench/comparison-2026-09-08-fixed/`;
|
|
327
|
-
it includes manifests, predictions, official logs and a verified source snapshot.
|
|
328
|
-
An earlier interrupted integration attempt is kept separately and is excluded
|
|
329
|
-
from this fixed matrix; its unknown billed usage is not treated as zero. Source
|
|
330
|
-
snapshotting and between-case source verification were automated in the runner
|
|
331
|
-
after this pilot; the baseline retains hashes of the code actually executed.
|
|
332
|
-
The pilot's hash list omitted the shared telemetry helper and CLI launcher; future
|
|
333
|
-
runs include both. The final driver also adds a checked OCI type narrowing in the
|
|
334
|
-
preflight only; the paid agent path is unchanged.
|
|
335
|
-
|
|
336
|
-
## Follow-up implementation and untouched selection
|
|
337
|
-
|
|
338
|
-
Preparation accepts repeatable `--exclude-manifest` arguments. The intermediate follow-up uses
|
|
339
|
-
seed `20260909` and excludes all five original pilot tasks. The final selection uses
|
|
340
|
-
seed `20260910` and excludes all ten tasks from both earlier cohorts. Selection stays fixed
|
|
341
|
-
across preparation failures. One official Astropy image changed `pyproject.toml`:
|
|
342
|
-
preparation restores only that file from its verified public base-commit Git blob,
|
|
343
|
-
records both blob hashes and the packaged image ID, builds one candidate image
|
|
344
|
-
for both agents, and rechecks every source entry. Arbitrary source differences
|
|
345
|
-
still fail. Official grading continues to use the original pinned evaluator image.
|
|
346
|
-
|
|
347
|
-
The native follow-up uses exact digest-bound replacements, smaller default reads
|
|
348
|
-
and searches, and compaction at 16 messages or 16,000 estimated tokens with two
|
|
349
|
-
recent messages retained. An outbound model projection represents synthetic
|
|
350
|
-
summaries as user context (compatible with the pinned Responses adapter) and omits
|
|
351
|
-
orphan tool observations left by an approval/compaction boundary. Durable history
|
|
352
|
-
is retained. Snapshot inventory now has the configured total OCI byte limit,
|
|
353
|
-
independent of the 1 MiB model file-read limit; large fixtures are copied intact.
|
|
354
|
-
|
|
355
|
-
The benchmark allows recovery from ordinary tool execution errors within its
|
|
356
|
-
existing error budget, while approval and environment denials remain enforced.
|
|
357
|
-
It treats successful approved `apply_environment_patch` as the terminal receipt;
|
|
358
|
-
it does not spend another model turn after submission. The official grader still
|
|
359
|
-
decides resolution. Mini retains its upstream submission loop. These are disclosed
|
|
360
|
-
product/supervisor differences, not identical tool inventories.
|
|
361
|
-
|
|
362
|
-
Telemetry retains observed completed steps across thrown failures, deduplicates
|
|
363
|
-
approval continuations by step index, and projects guardrail limits, HTTP status,
|
|
364
|
-
error class, fixed diagnostic hints and fingerprints. No raw error messages,
|
|
365
|
-
provider bodies or repository contents enter diagnostics. When usage is incomplete,
|
|
366
|
-
recorded counters are partial measurements and cannot establish a total cost.
|
|
367
|
-
|
|
368
|
-
## Correct cumulative usage after compaction
|
|
369
|
-
|
|
370
|
-
An offline three-response control exposed SDK 1.11.0 counting 500 input tokens
|
|
371
|
-
when three measured responses each contained 100. The output budget guard now
|
|
372
|
-
reconstructs direct usage from complete, unique recorded steps plus explicit
|
|
373
|
-
compactor usage before evaluating the existing ceilings. Missing or invalid
|
|
374
|
-
measurements retain conservative accounting; child usage remains with the existing
|
|
375
|
-
child-budget logic. The regression also verifies that genuinely exceeding a
|
|
376
|
-
350-token ceiling still fails.
|
|
377
|
-
|
|
378
|
-
The native benchmark additionally counts usage at the model transport boundary
|
|
379
|
-
and refuses another request once either cumulative ceiling is reached, independent
|
|
380
|
-
of SDK approval/checkpoint bookkeeping. Reported counters use that transport
|
|
381
|
-
measurement. The intermediate 2/5 versus 4/5 run retains the old accounting defect
|
|
382
|
-
and is not valid evidence of equal effective budgets. It remains preserved as an
|
|
383
|
-
immutable diagnostic attempt. The final cohort is separate and excludes its tasks.
|
|
384
|
-
|
|
385
|
-
## Historical final cohort result: 2026-09-08
|
|
386
|
-
|
|
387
|
-
The [final baseline](../../benchmarks/baselines/external-final-2026-09-08.json) records five previously unused tasks (seed `20260910`), one repetition, and the corrected transport budget. All ten cases were recorded; there were no grading failures. All 54 recorded source hashes matched the checkout and archived source snapshot after execution.
|
|
388
|
-
|
|
389
|
-
| Candidate | Resolved | Input tokens, all attempts | Output tokens, all attempts |
|
|
390
|
-
| --- | ---: | ---: | ---: |
|
|
391
|
-
| zhivex | 1/5 | 422,592 | 5,463 |
|
|
392
|
-
| mini-swe-agent | 2/5 | 331,554 | 8,746 |
|
|
393
|
-
|
|
394
|
-
Zhivex resolved `scikit-learn__scikit-learn-14141`. Three unresolved native cases reached the input budget; `scikit-learn__scikit-learn-10908` stopped at the enforced executable allowlist. Mini resolved both scikit-learn cases. No HTTP 400 or snapshot setup failure occurred in this final native cohort.
|
|
395
|
-
|
|
396
|
-
Validation: `bun run check` passed with 427 tests, including migrations, deterministic evaluations, MCP, real OCI smoke and the installed package smoke. All five final preflights passed. Costs remain unknown because no price rates were supplied.
|
|
397
|
-
|
|
398
|
-
This result does not show superiority over the external baseline. The cohorts differ, so comparing the original 0/5, intermediate 2/5 and final 1/5 is not an improvement estimate. The remaining measured bottlenecks are search/context consumption and choosing commands within the declared environment policy. The source/approval/compaction/accounting corrections remain separately reproducible.
|
|
399
|
-
|
|
400
|
-
## Latest Qwen development rerun: 2026-09-09
|
|
401
|
-
|
|
402
|
-
With Core 1.14.0 / Agents 1.4.0 and the combined harness improvements, the same
|
|
403
|
-
five-task Qwen cohort remained at Zhivex 0/5 versus mini-SWE-agent 2/5. SDK schema
|
|
404
|
-
recovery worked in two live observations, but four native attempts exhausted the
|
|
405
|
-
input budget and one failed with incomplete usage. No token-saving claim follows
|
|
406
|
-
from this run. See the [detailed analysis](MODEL_COMPARISON_2026-09-09.md#qwen-rerun-with-core-114-and-progress-controls)
|
|
407
|
-
and [sanitized baseline](../../benchmarks/baselines/external-qwen-sdk-114-progress-2026-09-09.json).
|
|
408
|
-
|
|
409
|
-
## Diagnostic candidates and shared policy
|
|
410
|
-
|
|
411
|
-
The native driver now selects the product `repair` profile. Its tool catalog
|
|
412
|
-
includes original-task recovery, working plans and audit inspection; instructions
|
|
413
|
-
are rendered from that catalog. Command output is bounded to 20000 bytes in this
|
|
414
|
-
variant. Freeze a new manifest/preflight before comparison: these changes are a
|
|
415
|
-
new variant, not another repetition of the historical SDK-1.14 matrix.
|
|
416
|
-
|
|
417
|
-
Before deleting private state, the driver captures the final OCI candidate with
|
|
418
|
-
content/mode digests. Candidate text is private evaluator input (UTF-8, at most
|
|
419
|
-
1 MiB/file and 2 MiB aggregate); capture errors remain explicit and cannot erase
|
|
420
|
-
the imported patch result. The runner builds a separate disposable checkout and
|
|
421
|
-
grades that candidate independently. Candidate predictions are stored separately
|
|
422
|
-
from imported/final predictions; only imported/final grading contributes to the
|
|
423
|
-
original safe-resolution metric. Missing capture is unknown. Candidate results
|
|
424
|
-
that alter protected test/configuration paths do not count as resolved.
|
|
425
|
-
|
|
426
|
-
Sanitized telemetry records requested tool names, typed failures, finish reasons,
|
|
427
|
-
usage completeness, model durations, first text/tool-call latency when available,
|
|
428
|
-
aggregate tool timings, approval wait times, observed repair stages, OCI phase
|
|
429
|
-
latencies and grading time. Stream first-token timing refers to the first SDK
|
|
430
|
-
text delta or assembled tool-call event, not necessarily the first network byte.
|
|
431
|
-
Stages are observations (e.g. edit request/completion), not proof of semantic
|
|
432
|
-
progress. Model prompts, source, verifier output and arbitrary error messages are
|
|
433
|
-
not copied into public sample diagnostics. No new live superiority claim follows
|
|
434
|
-
from the offline remediation suite; run ablations and a fresh repeated holdout.
|