Benchmark run luna6-multiswe-go-smoke-20261007-r3
This page contains exactly the publishable benchmark observations recorded in run luna6-multiswe-go-smoke-20261007-r3; it does not select or aggregate them. Return to the run index or view aggregate metrics.
Interactive browser
Rows are pre-aggregated by task, target, prompt variant, MCP-instruction mode, context, arm, and restriction. Numeric values show median (p50), IQR, p90, maximum, and sample count. Boolean checks show pass counts and success rates. Filters apply to these summary groups; per-run observations remain available on their run pages.
Loading benchmark results…
Baseline vs semedit
Comparison evaluates baseline and semedit values within each restriction policy, target, and context group. Negative changes mark improvements for these lower-is-better metrics; positive changes mark degradations.
Detailed observations
Empirical telemetry measuring wall-clock latency, token usage, tool turns, and compiler correctness when AI coding agents perform code modifications.
Every benchmark pairs Vanilla LLM (standard file editing tools) against Semedit MCP (deterministic AST compiler operations).
Benchmark Methodology & Transparency
- Reproducibility & Provenance: Self-contained txtar archives define test scenarios. Links below resolve to commit-anchored GitHub source files for published commits, or cryptographic SHA-256 fingerprints for uncommitted local fixtures.
- Model Cost: Tables report model-specific credit consumption where a target model has a declared schedule: (uncached input × input credits + cached input × cached credits + (reasoning + visible output) × output credits) / 1,000,000. Thinking tokens use the output rate. ADR-0043 defines the per-million-token credit rates.
- Multi-Level Correctness Oracle: Four validation levels evaluate each trial:
- Level 1 (Mutation Policy): Restricts file modifications strictly to authorized paths.
- Level 2 (AST Invariants): Compiler AST verification of required symbols, imports, and relative declaration ordering.
- Level 3 (Clean Build): Strict compilation validation with zero compiler or typecheck errors.
- Level 4 (Test Suite): Unit and integration test suite execution.
- Isolated Sandboxing: Each trial executes in an ephemeral directory with pristine git and module state.
Test case: grpc__grpc-go-2735
Target: codex/gpt-6-luna/high
default prompt · none MCP instructions · write semedit restriction
| Setting | Value |
|---|---|
| Test case | grpc__grpc-go-2735 |
| Target | codex/gpt-6-luna/high |
| Prompt variant | default |
| MCP server instructions | none |
| Semedit arm restriction | write |
| Run provenance | coding_network=disabled,oracle_patch_installation=checked |
| Fixture | testdata/bench/grpc__grpc-go-2735.txtar |
LLM Prompt:
Use case(s) - what problem will this feature solve?
In some cases we want to retry connections more aggressively compared to the default behavior (e.g. for health checkers in tests in order to detect that server is up faster).
Proposed Solution
Add tunable parameters as described in the documentation.
It can be done by extending
grpc.BackoffConfigstruct (and therefore is not a breaking change).
Target: codex/gpt-6-luna/medium
default prompt · none MCP instructions · write semedit restriction
| Setting | Value |
|---|---|
| Test case | grpc__grpc-go-2735 |
| Target | codex/gpt-6-luna/medium |
| Prompt variant | default |
| MCP server instructions | none |
| Semedit arm restriction | write |
| Run provenance | coding_network=disabled,oracle_patch_installation=checked |
| Fixture | testdata/bench/grpc__grpc-go-2735.txtar |
LLM Prompt:
Use case(s) - what problem will this feature solve?
In some cases we want to retry connections more aggressively compared to the default behavior (e.g. for health checkers in tests in order to detect that server is up faster).
Proposed Solution
Add tunable parameters as described in the documentation.
It can be done by extending
grpc.BackoffConfigstruct (and therefore is not a breaking change).
default prompt · none MCP instructions · write semedit restriction
| Setting | Value |
|---|---|
| Test case | grpc__grpc-go-2735 |
| Target | codex/gpt-6-luna/medium |
| Prompt variant | default |
| MCP server instructions | none |
| Semedit arm restriction | write |
| Run provenance | coding_network=disabled,oracle_patch_installation=checked |
| Fixture | testdata/bench/grpc__grpc-go-2735.txtar |
LLM Prompt:
Use case(s) - what problem will this feature solve?
In some cases we want to retry connections more aggressively compared to the default behavior (e.g. for health checkers in tests in order to detect that server is up faster).
Proposed Solution
Add tunable parameters as described in the documentation.
It can be done by extending
grpc.BackoffConfigstruct (and therefore is not a breaking change).
| Metric | Vanilla (Small) | ⚠ Semedit Agentic (Small) | Δ (Small) | Vanilla (Large) | MCP (Large) | Δ (Large) |
|---|---|---|---|---|---|---|
| Wall-Clock Latency | 43.86s | 69.75s | N/A | — | — | — |
| Process Start → First Event | 0.76s | 0.15s | — | — | — | — |
| First Event → First Tool Call | 3.23s | 4.93s | — | — | — | — |
| MCP Initialize → First Semantic Call | — | — | — | — | — | — |
| MCP Server Start → Initialize | — | — | — | — | — | — |
| Top-Level User Turns | 1 | 1 | N/A | — | — | — |
| Internal Tool Cycles | 11 | 9 | N/A | — | — | — |
| Initial Load / Discovery Turns | 5 | 3 | N/A | — | — | — |
| MCP Discovery / Schema Turns | 0 | 0 | — | — | — | — |
| Tool Invocations (per run) | 11 | 9 | N/A | — | — | — |
| Output Tokens | 2321 | 2576 | N/A | — | — | — |
| Reasoning / Thinking Tokens | 787 | 720 | N/A | — | — | — |
| Total Input Tokens | 296682 | 272839 | N/A | — | — | — |
| Cached Input Tokens | 268288 | 243968 | N/A | — | — | — |
| Uncached Input Tokens | 28394 | 28871 | N/A | — | — | — |
| Cost | 0.1769 | 0.1744 | N/A | — | — | — |
| Cached vs Uncached Token Ratio | 9.45:1 | 8.45:1 | N/A | — | — | — |
| Oracle L1: Mutation Policy | PASS | PASS | — | — | — | — |
| Oracle L2: AST Invariants | PASS | PASS | — | — | — | — |
| Oracle L3: Clean Build | PASS | PASS | — | — | — | — |
| Oracle L4: Verification Test | FAIL | FAIL | — | — | — | — |
| Semantic Tool Invocation Verified (per run) | N/A | FAIL | — | — | — | — |
Baseline vs Semedit Agentic in Small Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | ✓ ✓ | ✓ ✓ |
| 2 | ✓ ✓ | ✓ ✓ |
| 3 | ✓ ✓ | ✓ ✓ |
| 4 | ✓ ✓ | file_change (✓ ✓) |
| 5 | ✓ ✓ | file_change (✓ ✓) |
| 6 | file_change (✓ ✓) | file_change (✓ ✓) |
| 7 | file_change (✓ ✓) | file_change (✓ ✓) |
| 8 | file_change (✓ ✓) | ✓ ✓ |
| 9 | file_change (✓ ✓) | file_change (✓ ✓) |
| 10 | file_change (✓ ✓) | — |
| 11 | ✓ ✓ | — |
Baseline vs Semedit Agentic in Large Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | not published | not published |
Test case: grpc__grpc-go-2951
Target: codex/gpt-6-luna/medium
default prompt · none MCP instructions · write semedit restriction
| Setting | Value |
|---|---|
| Test case | grpc__grpc-go-2951 |
| Target | codex/gpt-6-luna/medium |
| Prompt variant | default |
| MCP server instructions | none |
| Semedit arm restriction | write |
| Run provenance | coding_network=disabled,oracle_patch_installation=checked |
| Fixture | testdata/bench/grpc__grpc-go-2951.txtar |
LLM Prompt:
If a resolver could not resolve a name, there’s currently no way to report error back to ClientConn, and RPCs on the ClientConn will fail with timeout.
This method allows resolver to report error to ClientConn, and failfast RPCs should fail with this error (or RPC errors that contain info from this error).
default prompt · none MCP instructions · write semedit restriction
| Setting | Value |
|---|---|
| Test case | grpc__grpc-go-2951 |
| Target | codex/gpt-6-luna/medium |
| Prompt variant | default |
| MCP server instructions | none |
| Semedit arm restriction | write |
| Run provenance | coding_network=disabled,oracle_patch_installation=checked |
| Fixture | testdata/bench/grpc__grpc-go-2951.txtar |
LLM Prompt:
If a resolver could not resolve a name, there’s currently no way to report error back to ClientConn, and RPCs on the ClientConn will fail with timeout.
This method allows resolver to report error to ClientConn, and failfast RPCs should fail with this error (or RPC errors that contain info from this error).
default prompt · none MCP instructions · write semedit restriction
| Setting | Value |
|---|---|
| Test case | grpc__grpc-go-2951 |
| Target | codex/gpt-6-luna/medium |
| Prompt variant | default |
| MCP server instructions | none |
| Semedit arm restriction | write |
| Run provenance | coding_network=disabled,oracle_patch_installation=checked |
| Fixture | testdata/bench/grpc__grpc-go-2951.txtar |
LLM Prompt:
If a resolver could not resolve a name, there’s currently no way to report error back to ClientConn, and RPCs on the ClientConn will fail with timeout.
This method allows resolver to report error to ClientConn, and failfast RPCs should fail with this error (or RPC errors that contain info from this error).
Test case: grpc__grpc-go-3361
Target: codex/gpt-6-luna/high
default prompt · none MCP instructions · write semedit restriction
| Setting | Value |
|---|---|
| Test case | grpc__grpc-go-3361 |
| Target | codex/gpt-6-luna/high |
| Prompt variant | default |
| MCP server instructions | none |
| Semedit arm restriction | write |
| Run provenance | coding_network=disabled,oracle_patch_installation=checked |
| Fixture | testdata/bench/grpc__grpc-go-3361.txtar |
LLM Prompt:
What version of gRPC are you using?
1.26
What version of Go are you using (
go version)?1.13.4
What operating system (Linux, Windows, …) and version?
Linux / Kubernetes / Docker - various.
What did you do?
When using
grpc.WithBalancerName(roundrobin.Name), with adns:///Dial target, errors do not trigger re-resolve.Detail: a client starts with
dns:///my-serviceas a dial target and the round_robin load balancer.my-serviceDNS returns an IP192.168.0.19. Due to an operational change,my-serviceis moved and DNS is updated to return192.168.0.20. The service stops running on192.168.0.19, refusing connections.This is approximately the workflow that would occur when using Kubernetes and a headless service if a pod is replaced. This happens for a variety of reasons, including routine updates and rescheduling.
What did you expect to see?
(a) Upon receiving a connection refused, DNS should be re-queried for an updated endpoint list (b) Without receiving an error from an existing endpoint, the load balancer should be repopulated occasionally with the latest records in DNS as endpoint sets change
This was the behavior previous to 1.26. By rolling code back to grpc 1.25.1, we were able to restore this behavior.
https://github.com/grpc/grpc-go/pull/3165 is likely the culprit.What did you see instead?
(a) Endpoint list is never re-queried and the client simply throws a persistent error:
rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp 10.1.5.253:443: connect: connection refused"(b) Since every subsequent request fails, the endpoint list does not seem to getting updated with new records in DNS at all.
Additional
I recognize the API around DNS and load balancing may have changed recently (and are evolving) but I’m not seeing any clear indication of how to retain the expected behavior.
| Metric | Vanilla (Small) | ⚠ Semedit Agentic (Small) | Δ (Small) | Vanilla (Large) | MCP (Large) | Δ (Large) |
|---|---|---|---|---|---|---|
| Wall-Clock Latency | 720.41s | 679.28s | N/A | — | — | — |
| Process Start → First Event | 0.82s | 0.57s | — | — | — | — |
| First Event → First Tool Call | 7.78s | 4.60s | — | — | — | — |
| MCP Initialize → First Semantic Call | — | — | — | — | — | — |
| MCP Server Start → Initialize | — | — | — | — | — | — |
| Top-Level User Turns | 1 | 1 | N/A | — | — | — |
| Internal Tool Cycles | 14 | 18 | N/A | — | — | — |
| Initial Load / Discovery Turns | 10 | 12 | N/A | — | — | — |
| MCP Discovery / Schema Turns | 0 | 0 | — | — | — | — |
| Tool Invocations (per run) | 14 | 18 | N/A | — | — | — |
| Output Tokens | 7410 | 6701 | N/A | — | — | — |
| Reasoning / Thinking Tokens | 5048 | 4375 | N/A | — | — | — |
| Total Input Tokens | 500637 | 680260 | N/A | — | — | — |
| Cached Input Tokens | 461056 | 622592 | N/A | — | — | — |
| Uncached Input Tokens | 39581 | 57668 | N/A | — | — | — |
| Cost | 0.3699 | 0.4383 | N/A | — | — | — |
| Cached vs Uncached Token Ratio | 11.65:1 | 10.80:1 | N/A | — | — | — |
| Oracle L1: Mutation Policy | PASS | PASS | — | — | — | — |
| Oracle L2: AST Invariants | PASS | PASS | — | — | — | — |
| Oracle L3: Clean Build | PASS | PASS | — | — | — | — |
| Oracle L4: Verification Test | FAIL | FAIL | — | — | — | — |
| Semantic Tool Invocation Verified (per run) | N/A | FAIL | — | — | — | — |
Baseline vs Semedit Agentic in Small Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | ✓ ✓ | ✓ ✓ |
| 2 | ✓ ✓ | ✓ ✓ |
| 3 | ✓ ✓ | ✓ ✓ |
| 4 | ? ✗ | ✓ ✓ |
| 5 | ✓ ✓ | ✓ ✓ |
| 6 | ✓ ✓ | ✓ ✓ |
| 7 | ? ✗ | ✓ ✓ |
| 8 | ? ✗ | ? ✗ |
| 9 | ✓ ✓ | ✓ ✓ |
| 10 | ✓ ✓ | ✓ ✓ |
| 11 | file_change (✓ ✓) | ✓ ✓ |
| 12 | file_change (✓ ✓) | ✓ ✓ |
| 13 | ✓ ✓ | file_change (✓ ✓) |
| 14 | ✓ ✓ | file_change (✓ ✓) |
| 15 | — | file_change (✓ ✓) |
| 16 | — | ✓ ✓ |
| 17 | — | file_change (✓ ✓) |
| 18 | — | ✓ ✓ |
Baseline vs Semedit Agentic in Large Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | not published | not published |
default prompt · none MCP instructions · write semedit restriction
| Setting | Value |
|---|---|
| Test case | grpc__grpc-go-3361 |
| Target | codex/gpt-6-luna/high |
| Prompt variant | default |
| MCP server instructions | none |
| Semedit arm restriction | write |
| Run provenance | coding_network=disabled,oracle_patch_installation=checked |
| Fixture | testdata/bench/grpc__grpc-go-3361.txtar |
LLM Prompt:
What version of gRPC are you using?
1.26
What version of Go are you using (
go version)?1.13.4
What operating system (Linux, Windows, …) and version?
Linux / Kubernetes / Docker - various.
What did you do?
When using
grpc.WithBalancerName(roundrobin.Name), with adns:///Dial target, errors do not trigger re-resolve.Detail: a client starts with
dns:///my-serviceas a dial target and the round_robin load balancer.my-serviceDNS returns an IP192.168.0.19. Due to an operational change,my-serviceis moved and DNS is updated to return192.168.0.20. The service stops running on192.168.0.19, refusing connections.This is approximately the workflow that would occur when using Kubernetes and a headless service if a pod is replaced. This happens for a variety of reasons, including routine updates and rescheduling.
What did you expect to see?
(a) Upon receiving a connection refused, DNS should be re-queried for an updated endpoint list (b) Without receiving an error from an existing endpoint, the load balancer should be repopulated occasionally with the latest records in DNS as endpoint sets change
This was the behavior previous to 1.26. By rolling code back to grpc 1.25.1, we were able to restore this behavior.
https://github.com/grpc/grpc-go/pull/3165 is likely the culprit.What did you see instead?
(a) Endpoint list is never re-queried and the client simply throws a persistent error:
rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp 10.1.5.253:443: connect: connection refused"(b) Since every subsequent request fails, the endpoint list does not seem to getting updated with new records in DNS at all.
Additional
I recognize the API around DNS and load balancing may have changed recently (and are evolving) but I’m not seeing any clear indication of how to retain the expected behavior.
| Metric | Vanilla (Small) | ⚠ Semedit Agentic (Small) | Δ (Small) | Vanilla (Large) | MCP (Large) | Δ (Large) |
|---|---|---|---|---|---|---|
| Wall-Clock Latency | 720.51s | 720.88s | N/A | — | — | — |
| Process Start → First Event | 0.76s | 0.83s | — | — | — | — |
| First Event → First Tool Call | 6.23s | 6.48s | — | — | — | — |
| MCP Initialize → First Semantic Call | — | — | — | — | — | — |
| MCP Server Start → Initialize | — | — | — | — | — | — |
| Top-Level User Turns | 1 | 1 | N/A | — | — | — |
| Internal Tool Cycles | 9 | 14 | N/A | — | — | — |
| Initial Load / Discovery Turns | 7 | 11 | N/A | — | — | — |
| MCP Discovery / Schema Turns | 0 | 0 | — | — | — | — |
| Tool Invocations (per run) | 9 | 14 | N/A | — | — | — |
| Output Tokens | 5633 | 4894 | N/A | — | — | — |
| Reasoning / Thinking Tokens | 4072 | 3260 | N/A | — | — | — |
| Total Input Tokens | 660234 | 624103 | N/A | — | — | — |
| Cached Input Tokens | 570624 | 567040 | N/A | — | — | — |
| Uncached Input Tokens | 89610 | 57063 | N/A | — | — | — |
| Cost | 0.4880 | 0.3863 | N/A | — | — | — |
| Cached vs Uncached Token Ratio | 6.37:1 | 9.94:1 | N/A | — | — | — |
| Oracle L1: Mutation Policy | PASS | PASS | — | — | — | — |
| Oracle L2: AST Invariants | PASS | PASS | — | — | — | — |
| Oracle L3: Clean Build | PASS | PASS | — | — | — | — |
| Oracle L4: Verification Test | FAIL | FAIL | — | — | — | — |
| Semantic Tool Invocation Verified (per run) | N/A | FAIL | — | — | — | — |
Baseline vs Semedit Agentic in Small Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | ✓ ✓ | ✓ ✓ |
| 2 | ✓ ✓ | ✓ ✓ |
| 3 | ? ✗ | ✓ ✓ |
| 4 | ✓ ✓ | ✓ ✓ |
| 5 | ✓ ✓ | ✓ ✓ |
| 6 | ✓ ✓ | ✓ ✓ |
| 7 | ✓ ✓ | ? ✗ |
| 8 | file_change (✓ ✓) | ✓ ✓ |
| 9 | ✓ ✓ | ? ✗ |
| 10 | — | ✓ ✓ |
| 11 | — | ✓ ✓ |
| 12 | — | file_change (✓ ✓) |
| 13 | — | ✓ ✓ |
| 14 | — | ✓ ✓ |
Baseline vs Semedit Agentic in Large Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | not published | not published |
default prompt · none MCP instructions · write semedit restriction
| Setting | Value |
|---|---|
| Test case | grpc__grpc-go-3361 |
| Target | codex/gpt-6-luna/high |
| Prompt variant | default |
| MCP server instructions | none |
| Semedit arm restriction | write |
| Run provenance | coding_network=disabled,oracle_patch_installation=checked |
| Fixture | testdata/bench/grpc__grpc-go-3361.txtar |
LLM Prompt:
What version of gRPC are you using?
1.26
What version of Go are you using (
go version)?1.13.4
What operating system (Linux, Windows, …) and version?
Linux / Kubernetes / Docker - various.
What did you do?
When using
grpc.WithBalancerName(roundrobin.Name), with adns:///Dial target, errors do not trigger re-resolve.Detail: a client starts with
dns:///my-serviceas a dial target and the round_robin load balancer.my-serviceDNS returns an IP192.168.0.19. Due to an operational change,my-serviceis moved and DNS is updated to return192.168.0.20. The service stops running on192.168.0.19, refusing connections.This is approximately the workflow that would occur when using Kubernetes and a headless service if a pod is replaced. This happens for a variety of reasons, including routine updates and rescheduling.
What did you expect to see?
(a) Upon receiving a connection refused, DNS should be re-queried for an updated endpoint list (b) Without receiving an error from an existing endpoint, the load balancer should be repopulated occasionally with the latest records in DNS as endpoint sets change
This was the behavior previous to 1.26. By rolling code back to grpc 1.25.1, we were able to restore this behavior.
https://github.com/grpc/grpc-go/pull/3165 is likely the culprit.What did you see instead?
(a) Endpoint list is never re-queried and the client simply throws a persistent error:
rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp 10.1.5.253:443: connect: connection refused"(b) Since every subsequent request fails, the endpoint list does not seem to getting updated with new records in DNS at all.
Additional
I recognize the API around DNS and load balancing may have changed recently (and are evolving) but I’m not seeing any clear indication of how to retain the expected behavior.
| Metric | Vanilla (Small) | ⚠ Semedit Agentic (Small) | Δ (Small) | Vanilla (Large) | MCP (Large) | Δ (Large) |
|---|---|---|---|---|---|---|
| Wall-Clock Latency | 678.80s | 712.90s | N/A | — | — | — |
| Process Start → First Event | 0.68s | 0.78s | — | — | — | — |
| First Event → First Tool Call | 3.85s | 6.80s | — | — | — | — |
| MCP Initialize → First Semantic Call | — | — | — | — | — | — |
| MCP Server Start → Initialize | — | — | — | — | — | — |
| Top-Level User Turns | 1 | 1 | N/A | — | — | — |
| Internal Tool Cycles | 21 | 13 | N/A | — | — | — |
| Initial Load / Discovery Turns | 7 | 9 | N/A | — | — | — |
| MCP Discovery / Schema Turns | 0 | 0 | — | — | — | — |
| Tool Invocations (per run) | 21 | 13 | N/A | — | — | — |
| Output Tokens | 5931 | 4266 | N/A | — | — | — |
| Reasoning / Thinking Tokens | 3707 | 2664 | N/A | — | — | — |
| Total Input Tokens | 673055 | 459355 | N/A | — | — | — |
| Cached Input Tokens | 605696 | 379392 | N/A | — | — | — |
| Uncached Input Tokens | 67359 | 79963 | N/A | — | — | — |
| Cost | 0.4403 | 0.3814 | N/A | — | — | — |
| Cached vs Uncached Token Ratio | 8.99:1 | 4.74:1 | N/A | — | — | — |
| Oracle L1: Mutation Policy | PASS | PASS | — | — | — | — |
| Oracle L2: AST Invariants | PASS | PASS | — | — | — | — |
| Oracle L3: Clean Build | PASS | PASS | — | — | — | — |
| Oracle L4: Verification Test | FAIL | FAIL | — | — | — | — |
| Semantic Tool Invocation Verified (per run) | N/A | FAIL | — | — | — | — |
Baseline vs Semedit Agentic in Small Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | ✓ ✓ | ✓ ✓ |
| 2 | ✓ ✓ | ✓ ✓ |
| 3 | ✓ ✓ | ✓ ✓ |
| 4 | ✓ ✓ | ✓ ✓ |
| 5 | ✓ ✓ | ? ✗ |
| 6 | ✓ ✓ | ✓ ✓ |
| 7 | ? ✗ | ✓ ✓ |
| 8 | ? ✗ | ✓ ✓ |
| 9 | ✓ ✓ | ? ✗ |
| 10 | ✓ ✓ | ? ✗ |
| 11 | ? ✗ | file_change (✓ ✓) |
| 12 | ✓ ✓ | ✓ ✓ |
| 13 | ✓ ✓ | ✓ ✓ |
| 14 | ? ✗ | — |
| 15 | ✓ ✓ | — |
| 16 | ✓ ✓ | — |
| 17 | ✓ ✓ | — |
| 18 | file_change (✓ ✓) | — |
| 19 | file_change (✓ ✓) | — |
| 20 | ✓ ✓ | — |
| 21 | file_change (✓ ✓) | — |
Baseline vs Semedit Agentic in Large Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | not published | not published |
Target: codex/gpt-6-luna/medium
default prompt · none MCP instructions · write semedit restriction
| Setting | Value |
|---|---|
| Test case | grpc__grpc-go-3361 |
| Target | codex/gpt-6-luna/medium |
| Prompt variant | default |
| MCP server instructions | none |
| Semedit arm restriction | write |
| Run provenance | coding_network=disabled,oracle_patch_installation=checked |
| Fixture | testdata/bench/grpc__grpc-go-3361.txtar |
LLM Prompt:
What version of gRPC are you using?
1.26
What version of Go are you using (
go version)?1.13.4
What operating system (Linux, Windows, …) and version?
Linux / Kubernetes / Docker - various.
What did you do?
When using
grpc.WithBalancerName(roundrobin.Name), with adns:///Dial target, errors do not trigger re-resolve.Detail: a client starts with
dns:///my-serviceas a dial target and the round_robin load balancer.my-serviceDNS returns an IP192.168.0.19. Due to an operational change,my-serviceis moved and DNS is updated to return192.168.0.20. The service stops running on192.168.0.19, refusing connections.This is approximately the workflow that would occur when using Kubernetes and a headless service if a pod is replaced. This happens for a variety of reasons, including routine updates and rescheduling.
What did you expect to see?
(a) Upon receiving a connection refused, DNS should be re-queried for an updated endpoint list (b) Without receiving an error from an existing endpoint, the load balancer should be repopulated occasionally with the latest records in DNS as endpoint sets change
This was the behavior previous to 1.26. By rolling code back to grpc 1.25.1, we were able to restore this behavior.
https://github.com/grpc/grpc-go/pull/3165 is likely the culprit.What did you see instead?
(a) Endpoint list is never re-queried and the client simply throws a persistent error:
rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp 10.1.5.253:443: connect: connection refused"(b) Since every subsequent request fails, the endpoint list does not seem to getting updated with new records in DNS at all.
Additional
I recognize the API around DNS and load balancing may have changed recently (and are evolving) but I’m not seeing any clear indication of how to retain the expected behavior.
| Metric | Vanilla (Small) | ⚠ Semedit Agentic (Small) | Δ (Small) | Vanilla (Large) | MCP (Large) | Δ (Large) |
|---|---|---|---|---|---|---|
| Wall-Clock Latency | 673.14s | 638.53s | N/A | — | — | — |
| Process Start → First Event | 0.66s | 0.15s | — | — | — | — |
| First Event → First Tool Call | 5.63s | 3.50s | — | — | — | — |
| MCP Initialize → First Semantic Call | — | — | — | — | — | — |
| MCP Server Start → Initialize | — | — | — | — | — | — |
| Top-Level User Turns | 1 | 1 | N/A | — | — | — |
| Internal Tool Cycles | 11 | 11 | N/A | — | — | — |
| Initial Load / Discovery Turns | 9 | 9 | N/A | — | — | — |
| MCP Discovery / Schema Turns | 0 | 0 | — | — | — | — |
| Tool Invocations (per run) | 11 | 11 | N/A | — | — | — |
| Output Tokens | 2469 | 1864 | N/A | — | — | — |
| Reasoning / Thinking Tokens | 1436 | 736 | N/A | — | — | — |
| Total Input Tokens | 318037 | 310343 | N/A | — | — | — |
| Cached Input Tokens | 263424 | 275200 | N/A | — | — | — |
| Uncached Input Tokens | 54613 | 35143 | N/A | — | — | — |
| Cost | 0.2512 | 0.1892 | N/A | — | — | — |
| Cached vs Uncached Token Ratio | 4.82:1 | 7.83:1 | N/A | — | — | — |
| Oracle L1: Mutation Policy | PASS | PASS | — | — | — | — |
| Oracle L2: AST Invariants | PASS | PASS | — | — | — | — |
| Oracle L3: Clean Build | PASS | PASS | — | — | — | — |
| Oracle L4: Verification Test | FAIL | FAIL | — | — | — | — |
| Semantic Tool Invocation Verified (per run) | N/A | FAIL | — | — | — | — |
Baseline vs Semedit Agentic in Small Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | ✓ ✓ | ✓ ✓ |
| 2 | ✓ ✓ | ✓ ✓ |
| 3 | ✓ ✓ | ✓ ✓ |
| 4 | ? ✗ | ✓ ✓ |
| 5 | ✓ ✓ | ✓ ✓ |
| 6 | ✓ ✓ | ✓ ✓ |
| 7 | ✓ ✓ | ✓ ✓ |
| 8 | ✓ ✓ | ✓ ✓ |
| 9 | ✓ ✓ | ✓ ✓ |
| 10 | file_change (✓ ✓) | file_change (✓ ✓) |
| 11 | ✓ ✓ | ✓ ✓ |
Baseline vs Semedit Agentic in Large Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | not published | not published |
default prompt · none MCP instructions · write semedit restriction
| Setting | Value |
|---|---|
| Test case | grpc__grpc-go-3361 |
| Target | codex/gpt-6-luna/medium |
| Prompt variant | default |
| MCP server instructions | none |
| Semedit arm restriction | write |
| Run provenance | coding_network=disabled,oracle_patch_installation=checked |
| Fixture | testdata/bench/grpc__grpc-go-3361.txtar |
LLM Prompt:
What version of gRPC are you using?
1.26
What version of Go are you using (
go version)?1.13.4
What operating system (Linux, Windows, …) and version?
Linux / Kubernetes / Docker - various.
What did you do?
When using
grpc.WithBalancerName(roundrobin.Name), with adns:///Dial target, errors do not trigger re-resolve.Detail: a client starts with
dns:///my-serviceas a dial target and the round_robin load balancer.my-serviceDNS returns an IP192.168.0.19. Due to an operational change,my-serviceis moved and DNS is updated to return192.168.0.20. The service stops running on192.168.0.19, refusing connections.This is approximately the workflow that would occur when using Kubernetes and a headless service if a pod is replaced. This happens for a variety of reasons, including routine updates and rescheduling.
What did you expect to see?
(a) Upon receiving a connection refused, DNS should be re-queried for an updated endpoint list (b) Without receiving an error from an existing endpoint, the load balancer should be repopulated occasionally with the latest records in DNS as endpoint sets change
This was the behavior previous to 1.26. By rolling code back to grpc 1.25.1, we were able to restore this behavior.
https://github.com/grpc/grpc-go/pull/3165 is likely the culprit.What did you see instead?
(a) Endpoint list is never re-queried and the client simply throws a persistent error:
rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp 10.1.5.253:443: connect: connection refused"(b) Since every subsequent request fails, the endpoint list does not seem to getting updated with new records in DNS at all.
Additional
I recognize the API around DNS and load balancing may have changed recently (and are evolving) but I’m not seeing any clear indication of how to retain the expected behavior.
| Metric | Vanilla (Small) | ⚠ Semedit Agentic (Small) | Δ (Small) | Vanilla (Large) | MCP (Large) | Δ (Large) |
|---|---|---|---|---|---|---|
| Wall-Clock Latency | 638.59s | 720.58s | N/A | — | — | — |
| Process Start → First Event | 0.67s | 0.79s | — | — | — | — |
| First Event → First Tool Call | 4.36s | 6.29s | — | — | — | — |
| MCP Initialize → First Semantic Call | — | — | — | — | — | — |
| MCP Server Start → Initialize | — | — | — | — | — | — |
| Top-Level User Turns | 1 | 1 | N/A | — | — | — |
| Internal Tool Cycles | 8 | 15 | N/A | — | — | — |
| Initial Load / Discovery Turns | 8 | 7 | N/A | — | — | — |
| MCP Discovery / Schema Turns | 0 | 0 | — | — | — | — |
| Tool Invocations (per run) | 8 | 15 | N/A | — | — | — |
| Output Tokens | 1820 | 4078 | N/A | — | — | — |
| Reasoning / Thinking Tokens | 1060 | 2068 | N/A | — | — | — |
| Total Input Tokens | 247489 | 416938 | N/A | — | — | — |
| Cached Input Tokens | 212736 | 388096 | N/A | — | — | — |
| Uncached Input Tokens | 34753 | 28842 | N/A | — | — | — |
| Cost | 0.1761 | 0.2460 | N/A | — | — | — |
| Cached vs Uncached Token Ratio | 6.12:1 | 13.46:1 | N/A | — | — | — |
| Oracle L1: Mutation Policy | PASS | PASS | — | — | — | — |
| Oracle L2: AST Invariants | PASS | PASS | — | — | — | — |
| Oracle L3: Clean Build | PASS | PASS | — | — | — | — |
| Oracle L4: Verification Test | FAIL | FAIL | — | — | — | — |
| Semantic Tool Invocation Verified (per run) | N/A | FAIL | — | — | — | — |
Baseline vs Semedit Agentic in Small Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | ✓ ✓ | ✓ ✓ |
| 2 | ✓ ✓ | ✓ ✓ |
| 3 | ✓ ✓ | ✓ ✓ |
| 4 | ✓ ✓ | ✓ ✓ |
| 5 | ✓ ✓ | ✓ ✓ |
| 6 | ✓ ✓ | ✓ ✓ |
| 7 | ✓ ✓ | ✓ ✓ |
| 8 | ✓ ✓ | file_change (✓ ✓) |
| 9 | — | file_change (✓ ✓) |
| 10 | — | file_change (✓ ✓) |
| 11 | — | file_change (✓ ✓) |
| 12 | — | ✓ ✓ |
| 13 | — | ✓ ✓ |
| 14 | — | file_change (✓ ✓) |
| 15 | — | ✓ ✓ |
Baseline vs Semedit Agentic in Large Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | not published | not published |
default prompt · none MCP instructions · write semedit restriction
| Setting | Value |
|---|---|
| Test case | grpc__grpc-go-3361 |
| Target | codex/gpt-6-luna/medium |
| Prompt variant | default |
| MCP server instructions | none |
| Semedit arm restriction | write |
| Run provenance | coding_network=disabled,oracle_patch_installation=checked |
| Fixture | testdata/bench/grpc__grpc-go-3361.txtar |
LLM Prompt:
What version of gRPC are you using?
1.26
What version of Go are you using (
go version)?1.13.4
What operating system (Linux, Windows, …) and version?
Linux / Kubernetes / Docker - various.
What did you do?
When using
grpc.WithBalancerName(roundrobin.Name), with adns:///Dial target, errors do not trigger re-resolve.Detail: a client starts with
dns:///my-serviceas a dial target and the round_robin load balancer.my-serviceDNS returns an IP192.168.0.19. Due to an operational change,my-serviceis moved and DNS is updated to return192.168.0.20. The service stops running on192.168.0.19, refusing connections.This is approximately the workflow that would occur when using Kubernetes and a headless service if a pod is replaced. This happens for a variety of reasons, including routine updates and rescheduling.
What did you expect to see?
(a) Upon receiving a connection refused, DNS should be re-queried for an updated endpoint list (b) Without receiving an error from an existing endpoint, the load balancer should be repopulated occasionally with the latest records in DNS as endpoint sets change
This was the behavior previous to 1.26. By rolling code back to grpc 1.25.1, we were able to restore this behavior.
https://github.com/grpc/grpc-go/pull/3165 is likely the culprit.What did you see instead?
(a) Endpoint list is never re-queried and the client simply throws a persistent error:
rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp 10.1.5.253:443: connect: connection refused"(b) Since every subsequent request fails, the endpoint list does not seem to getting updated with new records in DNS at all.
Additional
I recognize the API around DNS and load balancing may have changed recently (and are evolving) but I’m not seeing any clear indication of how to retain the expected behavior.
| Metric | Vanilla (Small) | ⚠ Semedit Agentic (Small) | Δ (Small) | Vanilla (Large) | MCP (Large) | Δ (Large) |
|---|---|---|---|---|---|---|
| Wall-Clock Latency | 640.91s | 634.26s | N/A | — | — | — |
| Process Start → First Event | 0.14s | 0.23s | — | — | — | — |
| First Event → First Tool Call | 3.46s | 4.08s | — | — | — | — |
| MCP Initialize → First Semantic Call | — | — | — | — | — | — |
| MCP Server Start → Initialize | — | — | — | — | — | — |
| Top-Level User Turns | 1 | 1 | N/A | — | — | — |
| Internal Tool Cycles | 8 | 8 | N/A | — | — | — |
| Initial Load / Discovery Turns | 6 | 8 | N/A | — | — | — |
| MCP Discovery / Schema Turns | 0 | 0 | — | — | — | — |
| Tool Invocations (per run) | 8 | 8 | N/A | — | — | — |
| Output Tokens | 2103 | 1364 | N/A | — | — | — |
| Reasoning / Thinking Tokens | 1121 | 599 | N/A | — | — | — |
| Total Input Tokens | 256357 | 226278 | N/A | — | — | — |
| Cached Input Tokens | 231168 | 199424 | N/A | — | — | — |
| Uncached Input Tokens | 25189 | 26854 | N/A | — | — | — |
| Cost | 0.1611 | 0.1415 | N/A | — | — | — |
| Cached vs Uncached Token Ratio | 9.18:1 | 7.43:1 | N/A | — | — | — |
| Oracle L1: Mutation Policy | PASS | PASS | — | — | — | — |
| Oracle L2: AST Invariants | PASS | PASS | — | — | — | — |
| Oracle L3: Clean Build | PASS | PASS | — | — | — | — |
| Oracle L4: Verification Test | FAIL | FAIL | — | — | — | — |
| Semantic Tool Invocation Verified (per run) | N/A | FAIL | — | — | — | — |
Baseline vs Semedit Agentic in Small Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | ✓ ✓ | ✓ ✓ |
| 2 | ✓ ✓ | ✓ ✓ |
| 3 | ✓ ✓ | ✓ ✓ |
| 4 | ✓ ✓ | ? ✗ |
| 5 | ? ✗ | ✓ ✓ |
| 6 | ? ✗ | ✓ ✓ |
| 7 | file_change (✓ ✓) | ✓ ✓ |
| 8 | ✓ ✓ | ? ✗ |
Baseline vs Semedit Agentic in Large Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | not published | not published |
Test case: zeromicro__go-zero-2463
Target: codex/gpt-6-luna/high
default prompt · none MCP instructions · write semedit restriction
| Setting | Value |
|---|---|
| Test case | zeromicro__go-zero-2463 |
| Target | codex/gpt-6-luna/high |
| Prompt variant | default |
| MCP server instructions | none |
| Semedit arm restriction | write |
| Run provenance | coding_network=disabled,oracle_patch_installation=checked |
| Fixture | testdata/bench/zeromicro__go-zero-2463.txtar |
LLM Prompt:
logx能否支持一下全局添加field功能,或默认加一个serviceName,收集日志想根据服务分索引很不方便
| Metric | Vanilla (Small) | ⚠ Semedit Agentic (Small) | Δ (Small) | Vanilla (Large) | MCP (Large) | Δ (Large) |
|---|---|---|---|---|---|---|
| Wall-Clock Latency | 94.39s | 142.52s | N/A | — | — | — |
| Process Start → First Event | 0.39s | 0.51s | — | — | — | — |
| First Event → First Tool Call | 3.75s | 5.72s | — | — | — | — |
| MCP Initialize → First Semantic Call | — | — | — | — | — | — |
| MCP Server Start → Initialize | — | — | — | — | — | — |
| Top-Level User Turns | 1 | 1 | N/A | — | — | — |
| Internal Tool Cycles | 22 | 15 | N/A | — | — | — |
| Initial Load / Discovery Turns | 5 | 3 | N/A | — | — | — |
| MCP Discovery / Schema Turns | 0 | 0 | — | — | — | — |
| Tool Invocations (per run) | 22 | 15 | N/A | — | — | — |
| Output Tokens | 7080 | 5927 | N/A | — | — | — |
| Reasoning / Thinking Tokens | 3500 | 3460 | N/A | — | — | — |
| Total Input Tokens | 790428 | 512587 | N/A | — | — | — |
| Cached Input Tokens | 716800 | 473088 | N/A | — | — | — |
| Uncached Input Tokens | 73628 | 39499 | N/A | — | — | — |
| Cost | 0.4955 | 0.3344 | N/A | — | — | — |
| Cached vs Uncached Token Ratio | 9.74:1 | 11.98:1 | N/A | — | — | — |
| Oracle L1: Mutation Policy | PASS | PASS | — | — | — | — |
| Oracle L2: AST Invariants | PASS | PASS | — | — | — | — |
| Oracle L3: Clean Build | PASS | PASS | — | — | — | — |
| Oracle L4: Verification Test | FAIL | FAIL | — | — | — | — |
| Semantic Tool Invocation Verified (per run) | N/A | FAIL | — | — | — | — |
Baseline vs Semedit Agentic in Small Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | ✓ ✓ | ✓ ✓ |
| 2 | ? ✗ | ? ✗ |
| 3 | ✓ ✓ | ✓ ✓ |
| 4 | ✓ ✓ | ✓ ✓ |
| 5 | ✓ ✓ | ✓ ✓ |
| 6 | ✓ ✓ | ✓ ✓ |
| 7 | ✓ ✓ | ✓ ✓ |
| 8 | ✓ ✓ | file_change (✓ ✓) |
| 9 | ✓ ✓ | file_change (✓ ✓) |
| 10 | file_change (✓ ✓) | file_change (✓ ✓) |
| 11 | file_change (✓ ✓) | file_change (✓ ✓) |
| 12 | file_change (✓ ✓) | file_change (✓ ✓) |
| 13 | ✓ ✓ | ✓ ✓ |
| 14 | file_change (✓ ✓) | file_change (✓ ✓) |
| 15 | file_change (✓ ✓) | ✓ ✓ |
| 16 | file_change (✓ ✓) | — |
| 17 | file_change (✓ ✓) | — |
| 18 | file_change (✓ ✓) | — |
| 19 | ✓ ✓ | — |
| 20 | file_change (✓ ✓) | — |
| 21 | file_change (✓ ✓) | — |
| 22 | ✓ ✓ | — |
Baseline vs Semedit Agentic in Large Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | not published | not published |
default prompt · none MCP instructions · write semedit restriction
| Setting | Value |
|---|---|
| Test case | zeromicro__go-zero-2463 |
| Target | codex/gpt-6-luna/high |
| Prompt variant | default |
| MCP server instructions | none |
| Semedit arm restriction | write |
| Run provenance | coding_network=disabled,oracle_patch_installation=checked |
| Fixture | testdata/bench/zeromicro__go-zero-2463.txtar |
LLM Prompt:
logx能否支持一下全局添加field功能,或默认加一个serviceName,收集日志想根据服务分索引很不方便
| Metric | Vanilla (Small) | ⚠ Semedit Agentic (Small) | Δ (Small) | Vanilla (Large) | MCP (Large) | Δ (Large) |
|---|---|---|---|---|---|---|
| Wall-Clock Latency | 72.57s | 126.71s | N/A | — | — | — |
| Process Start → First Event | 0.65s | 0.64s | — | — | — | — |
| First Event → First Tool Call | 4.14s | 5.69s | — | — | — | — |
| MCP Initialize → First Semantic Call | — | — | — | — | — | — |
| MCP Server Start → Initialize | — | — | — | — | — | — |
| Top-Level User Turns | 1 | 1 | N/A | — | — | — |
| Internal Tool Cycles | 13 | 14 | N/A | — | — | — |
| Initial Load / Discovery Turns | 3 | 5 | N/A | — | — | — |
| MCP Discovery / Schema Turns | 0 | 0 | — | — | — | — |
| Tool Invocations (per run) | 13 | 14 | N/A | — | — | — |
| Output Tokens | 5699 | 5524 | N/A | — | — | — |
| Reasoning / Thinking Tokens | 3540 | 3204 | N/A | — | — | — |
| Total Input Tokens | 427362 | 410651 | N/A | — | — | — |
| Cached Input Tokens | 380416 | 374528 | N/A | — | — | — |
| Uncached Input Tokens | 46946 | 36123 | N/A | — | — | — |
| Cost | 0.3280 | 0.2930 | N/A | — | — | — |
| Cached vs Uncached Token Ratio | 8.10:1 | 10.37:1 | N/A | — | — | — |
| Oracle L1: Mutation Policy | PASS | PASS | — | — | — | — |
| Oracle L2: AST Invariants | PASS | PASS | — | — | — | — |
| Oracle L3: Clean Build | PASS | PASS | — | — | — | — |
| Oracle L4: Verification Test | FAIL | FAIL | — | — | — | — |
| Semantic Tool Invocation Verified (per run) | N/A | FAIL | — | — | — | — |
Baseline vs Semedit Agentic in Small Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | ✓ ✓ | ? ✗ |
| 2 | ✓ ✓ | ✓ ✓ |
| 3 | ✓ ✓ | ✓ ✓ |
| 4 | ✓ ✓ | ✓ ✓ |
| 5 | ✓ ✓ | ✓ ✓ |
| 6 | ✓ ✓ | ✓ ✓ |
| 7 | ? ✗ | ✓ ✓ |
| 8 | ✓ ✓ | file_change (✓ ✓) |
| 9 | file_change (✓ ✓) | file_change (✓ ✓) |
| 10 | ✓ ✓ | file_change (✓ ✓) |
| 11 | ? ✗ | file_change (✓ ✓) |
| 12 | file_change (✓ ✓) | ✓ ✓ |
| 13 | ✓ ✓ | file_change (✓ ✓) |
| 14 | — | ✓ ✓ |
Baseline vs Semedit Agentic in Large Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | not published | not published |
default prompt · none MCP instructions · write semedit restriction
| Setting | Value |
|---|---|
| Test case | zeromicro__go-zero-2463 |
| Target | codex/gpt-6-luna/high |
| Prompt variant | default |
| MCP server instructions | none |
| Semedit arm restriction | write |
| Run provenance | coding_network=disabled,oracle_patch_installation=checked |
| Fixture | testdata/bench/zeromicro__go-zero-2463.txtar |
LLM Prompt:
logx能否支持一下全局添加field功能,或默认加一个serviceName,收集日志想根据服务分索引很不方便
| Metric | Vanilla (Small) | ⚠ Semedit Agentic (Small) | Δ (Small) | Vanilla (Large) | MCP (Large) | Δ (Large) |
|---|---|---|---|---|---|---|
| Wall-Clock Latency | 184.42s | 102.88s | N/A | — | — | — |
| Process Start → First Event | 0.23s | 0.52s | — | — | — | — |
| First Event → First Tool Call | 7.24s | 5.41s | — | — | — | — |
| MCP Initialize → First Semantic Call | — | — | — | — | — | — |
| MCP Server Start → Initialize | — | — | — | — | — | — |
| Top-Level User Turns | 1 | 1 | N/A | — | — | — |
| Internal Tool Cycles | 17 | 12 | N/A | — | — | — |
| Initial Load / Discovery Turns | 6 | 4 | N/A | — | — | — |
| MCP Discovery / Schema Turns | 0 | 0 | — | — | — | — |
| Tool Invocations (per run) | 17 | 12 | N/A | — | — | — |
| Output Tokens | 7887 | 4005 | N/A | — | — | — |
| Reasoning / Thinking Tokens | 4032 | 2305 | N/A | — | — | — |
| Total Input Tokens | 649536 | 384575 | N/A | — | — | — |
| Cached Input Tokens | 588544 | 330496 | N/A | — | — | — |
| Uncached Input Tokens | 60992 | 54079 | N/A | — | — | — |
| Cost | 0.4486 | 0.2967 | N/A | — | — | — |
| Cached vs Uncached Token Ratio | 9.65:1 | 6.11:1 | N/A | — | — | — |
| Oracle L1: Mutation Policy | PASS | PASS | — | — | — | — |
| Oracle L2: AST Invariants | PASS | PASS | — | — | — | — |
| Oracle L3: Clean Build | PASS | PASS | — | — | — | — |
| Oracle L4: Verification Test | FAIL | FAIL | — | — | — | — |
| Semantic Tool Invocation Verified (per run) | N/A | FAIL | — | — | — | — |
Baseline vs Semedit Agentic in Small Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | ✓ ✓ | ✓ ✓ |
| 2 | ✓ ✓ | ? ✗ |
| 3 | ? ✗ | ✓ ✓ |
| 4 | ✓ ✓ | ✓ ✓ |
| 5 | ✓ ✓ | ✓ ✓ |
| 6 | ✓ ✓ | ✓ ✓ |
| 7 | ✓ ✓ | ✓ ✓ |
| 8 | ✓ ✓ | ? ✗ |
| 9 | file_change (✓ ✓) | ✓ ✓ |
| 10 | ✓ ✓ | file_change (✓ ✓) |
| 11 | file_change (✓ ✓) | ✓ ✓ |
| 12 | ✓ ✓ | ✓ ✓ |
| 13 | file_change (✓ ✓) | — |
| 14 | ✓ ✓ | — |
| 15 | ✓ ✓ | — |
| 16 | file_change (✓ ✓) | — |
| 17 | ✓ ✓ | — |
Baseline vs Semedit Agentic in Large Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | not published | not published |
Target: codex/gpt-6-luna/medium
default prompt · none MCP instructions · write semedit restriction
| Setting | Value |
|---|---|
| Test case | zeromicro__go-zero-2463 |
| Target | codex/gpt-6-luna/medium |
| Prompt variant | default |
| MCP server instructions | none |
| Semedit arm restriction | write |
| Run provenance | coding_network=disabled,oracle_patch_installation=checked |
| Fixture | testdata/bench/zeromicro__go-zero-2463.txtar |
LLM Prompt:
logx能否支持一下全局添加field功能,或默认加一个serviceName,收集日志想根据服务分索引很不方便
| Metric | Vanilla (Small) | ⚠ Semedit Agentic (Small) | Δ (Small) | Vanilla (Large) | MCP (Large) | Δ (Large) |
|---|---|---|---|---|---|---|
| Wall-Clock Latency | 53.10s | 54.02s | N/A | — | — | — |
| Process Start → First Event | 1.15s | 0.20s | — | — | — | — |
| First Event → First Tool Call | 5.50s | 3.76s | — | — | — | — |
| MCP Initialize → First Semantic Call | — | — | — | — | — | — |
| MCP Server Start → Initialize | — | — | — | — | — | — |
| Top-Level User Turns | 1 | 1 | N/A | — | — | — |
| Internal Tool Cycles | 13 | 15 | N/A | — | — | — |
| Initial Load / Discovery Turns | 4 | 5 | N/A | — | — | — |
| MCP Discovery / Schema Turns | 0 | 0 | — | — | — | — |
| Tool Invocations (per run) | 13 | 15 | N/A | — | — | — |
| Output Tokens | 2496 | 3190 | N/A | — | — | — |
| Reasoning / Thinking Tokens | 695 | 896 | N/A | — | — | — |
| Total Input Tokens | 403840 | 415648 | N/A | — | — | — |
| Cached Input Tokens | 372224 | 382976 | N/A | — | — | — |
| Uncached Input Tokens | 31616 | 32672 | N/A | — | — | — |
| Cost | 0.2120 | 0.2285 | N/A | — | — | — |
| Cached vs Uncached Token Ratio | 11.77:1 | 11.72:1 | N/A | — | — | — |
| Oracle L1: Mutation Policy | PASS | PASS | — | — | — | — |
| Oracle L2: AST Invariants | PASS | PASS | — | — | — | — |
| Oracle L3: Clean Build | PASS | PASS | — | — | — | — |
| Oracle L4: Verification Test | FAIL | FAIL | — | — | — | — |
| Semantic Tool Invocation Verified (per run) | N/A | FAIL | — | — | — | — |
Baseline vs Semedit Agentic in Small Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | ✓ ✓ | ✓ ✓ |
| 2 | ✓ ✓ | ✓ ✓ |
| 3 | ✓ ✓ | ✓ ✓ |
| 4 | ✓ ✓ | ✓ ✓ |
| 5 | ✓ ✓ | ? ✗ |
| 6 | ✓ ✓ | ✓ ✓ |
| 7 | ✓ ✓ | ✓ ✓ |
| 8 | file_change (✓ ✓) | ✓ ✓ |
| 9 | file_change (✓ ✓) | ✓ ✓ |
| 10 | file_change (✓ ✓) | file_change (✓ ✓) |
| 11 | file_change (✓ ✓) | file_change (✓ ✓) |
| 12 | file_change (✓ ✓) | file_change (✓ ✓) |
| 13 | ✓ ✓ | file_change (✓ ✓) |
| 14 | — | file_change (✓ ✓) |
| 15 | — | ✓ ✓ |
Baseline vs Semedit Agentic in Large Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | not published | not published |
default prompt · none MCP instructions · write semedit restriction
| Setting | Value |
|---|---|
| Test case | zeromicro__go-zero-2463 |
| Target | codex/gpt-6-luna/medium |
| Prompt variant | default |
| MCP server instructions | none |
| Semedit arm restriction | write |
| Run provenance | coding_network=disabled,oracle_patch_installation=checked |
| Fixture | testdata/bench/zeromicro__go-zero-2463.txtar |
LLM Prompt:
logx能否支持一下全局添加field功能,或默认加一个serviceName,收集日志想根据服务分索引很不方便
| Metric | Vanilla (Small) | ⚠ Semedit Agentic (Small) | Δ (Small) | Vanilla (Large) | MCP (Large) | Δ (Large) |
|---|---|---|---|---|---|---|
| Wall-Clock Latency | 69.19s | 68.45s | N/A | — | — | — |
| Process Start → First Event | 0.15s | 0.15s | — | — | — | — |
| First Event → First Tool Call | 5.54s | 5.54s | — | — | — | — |
| MCP Initialize → First Semantic Call | — | — | — | — | — | — |
| MCP Server Start → Initialize | — | — | — | — | — | — |
| Top-Level User Turns | 1 | 1 | N/A | — | — | — |
| Internal Tool Cycles | 11 | 11 | N/A | — | — | — |
| Initial Load / Discovery Turns | 4 | 3 | N/A | — | — | — |
| MCP Discovery / Schema Turns | 0 | 0 | — | — | — | — |
| Tool Invocations (per run) | 11 | 11 | N/A | — | — | — |
| Output Tokens | 2068 | 2403 | N/A | — | — | — |
| Reasoning / Thinking Tokens | 756 | 781 | N/A | — | — | — |
| Total Input Tokens | 281112 | 355682 | N/A | — | — | — |
| Cached Input Tokens | 257024 | 315392 | N/A | — | — | — |
| Uncached Input Tokens | 24088 | 40290 | N/A | — | — | — |
| Cost | 0.1598 | 0.2194 | N/A | — | — | — |
| Cached vs Uncached Token Ratio | 10.67:1 | 7.83:1 | N/A | — | — | — |
| Oracle L1: Mutation Policy | PASS | PASS | — | — | — | — |
| Oracle L2: AST Invariants | PASS | PASS | — | — | — | — |
| Oracle L3: Clean Build | PASS | PASS | — | — | — | — |
| Oracle L4: Verification Test | FAIL | FAIL | — | — | — | — |
| Semantic Tool Invocation Verified (per run) | N/A | FAIL | — | — | — | — |
Baseline vs Semedit Agentic in Small Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | ✓ ✓ | ✓ ✓ |
| 2 | ✓ ✓ | ✓ ✓ |
| 3 | ? ✗ | ✓ ✓ |
| 4 | ✓ ✓ | file_change (✓ ✓) |
| 5 | ✓ ✓ | file_change (✓ ✓) |
| 6 | ? ✗ | ✓ ✓ |
| 7 | ✓ ✓ | ✓ ✓ |
| 8 | file_change (✓ ✓) | file_change (✓ ✓) |
| 9 | file_change (✓ ✓) | ✓ ✓ |
| 10 | file_change (✓ ✓) | file_change (✓ ✓) |
| 11 | ✓ ✓ | ✓ ✓ |
Baseline vs Semedit Agentic in Large Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | not published | not published |
default prompt · none MCP instructions · write semedit restriction
| Setting | Value |
|---|---|
| Test case | zeromicro__go-zero-2463 |
| Target | codex/gpt-6-luna/medium |
| Prompt variant | default |
| MCP server instructions | none |
| Semedit arm restriction | write |
| Run provenance | coding_network=disabled,oracle_patch_installation=checked |
| Fixture | testdata/bench/zeromicro__go-zero-2463.txtar |
LLM Prompt:
logx能否支持一下全局添加field功能,或默认加一个serviceName,收集日志想根据服务分索引很不方便
| Metric | Vanilla (Small) | ⚠ Semedit Agentic (Small) | Δ (Small) | Vanilla (Large) | MCP (Large) | Δ (Large) |
|---|---|---|---|---|---|---|
| Wall-Clock Latency | 92.99s | 54.75s | N/A | — | — | — |
| Process Start → First Event | 0.60s | 0.14s | — | — | — | — |
| First Event → First Tool Call | 6.22s | 3.70s | — | — | — | — |
| MCP Initialize → First Semantic Call | — | — | — | — | — | — |
| MCP Server Start → Initialize | — | — | — | — | — | — |
| Top-Level User Turns | 1 | 1 | N/A | — | — | — |
| Internal Tool Cycles | 14 | 13 | N/A | — | — | — |
| Initial Load / Discovery Turns | 5 | 6 | N/A | — | — | — |
| MCP Discovery / Schema Turns | 0 | 0 | — | — | — | — |
| Tool Invocations (per run) | 14 | 13 | N/A | — | — | — |
| Output Tokens | 3157 | 3314 | N/A | — | — | — |
| Reasoning / Thinking Tokens | 1095 | 1147 | N/A | — | — | — |
| Total Input Tokens | 498457 | 430528 | N/A | — | — | — |
| Cached Input Tokens | 456704 | 399360 | N/A | — | — | — |
| Uncached Input Tokens | 41753 | 31168 | N/A | — | — | — |
| Cost | 0.2717 | 0.2335 | N/A | — | — | — |
| Cached vs Uncached Token Ratio | 10.94:1 | 12.81:1 | N/A | — | — | — |
| Oracle L1: Mutation Policy | PASS | PASS | — | — | — | — |
| Oracle L2: AST Invariants | PASS | PASS | — | — | — | — |
| Oracle L3: Clean Build | PASS | PASS | — | — | — | — |
| Oracle L4: Verification Test | FAIL | FAIL | — | — | — | — |
| Semantic Tool Invocation Verified (per run) | N/A | FAIL | — | — | — | — |
Baseline vs Semedit Agentic in Small Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | ✓ ✓ | ✓ ✓ |
| 2 | ? ✗ | ? ✗ |
| 3 | ✓ ✓ | ✓ ✓ |
| 4 | ✓ ✓ | ✓ ✓ |
| 5 | ✓ ✓ | ✓ ✓ |
| 6 | ✓ ✓ | ✓ ✓ |
| 7 | ✓ ✓ | file_change (✓ ✓) |
| 8 | ✓ ✓ | file_change (✓ ✓) |
| 9 | ✓ ✓ | ✓ ✓ |
| 10 | ✓ ✓ | file_change (✓ ✓) |
| 11 | file_change (✓ ✓) | file_change (✓ ✓) |
| 12 | file_change (✓ ✓) | ✓ ✓ |
| 13 | file_change (✓ ✓) | ✓ ✓ |
| 14 | ✓ ✓ | — |
Baseline vs Semedit Agentic in Large Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | not published | not published |
Test case: zeromicro__go-zero-964
Target: codex/gpt-6-luna/high
default prompt · none MCP instructions · write semedit restriction
| Setting | Value |
|---|---|
| Test case | zeromicro__go-zero-964 |
| Target | codex/gpt-6-luna/high |
| Prompt variant | default |
| MCP server instructions | none |
| Semedit arm restriction | write |
| Run provenance | coding_network=disabled,oracle_patch_installation=checked |
| Fixture | testdata/bench/zeromicro__go-zero-964.txtar |
LLM Prompt:
如题。 etcd打开了rbac authentication。但discov.EtcdConf中没有user等字段,无法进行身份认证。连接etcd时会报错: etcdserver: user name is empty
default prompt · none MCP instructions · write semedit restriction
| Setting | Value |
|---|---|
| Test case | zeromicro__go-zero-964 |
| Target | codex/gpt-6-luna/high |
| Prompt variant | default |
| MCP server instructions | none |
| Semedit arm restriction | write |
| Run provenance | coding_network=disabled,oracle_patch_installation=checked |
| Fixture | testdata/bench/zeromicro__go-zero-964.txtar |
LLM Prompt:
如题。 etcd打开了rbac authentication。但discov.EtcdConf中没有user等字段,无法进行身份认证。连接etcd时会报错: etcdserver: user name is empty
| Metric | Vanilla (Small) | ⚠ Semedit Agentic (Small) | Δ (Small) | Vanilla (Large) | MCP (Large) | Δ (Large) |
|---|---|---|---|---|---|---|
| Wall-Clock Latency | — | 206.30s | — | — | — | — |
| Process Start → First Event | — | 0.27s | — | — | — | — |
| First Event → First Tool Call | — | 5.86s | — | — | — | — |
| MCP Initialize → First Semantic Call | — | — | — | — | — | — |
| MCP Server Start → Initialize | — | — | — | — | — | — |
| Top-Level User Turns | — | 1 | — | — | — | — |
| Internal Tool Cycles | — | 19 | — | — | — | — |
| Initial Load / Discovery Turns | — | 8 | — | — | — | — |
| MCP Discovery / Schema Turns | — | 0 | — | — | — | — |
| Tool Invocations (per run) | — | 19 | — | — | — | — |
| Output Tokens | — | 8238 | — | — | — | — |
| Reasoning / Thinking Tokens | — | 3058 | — | — | — | — |
| Total Input Tokens | — | 572191 | — | — | — | — |
| Cached Input Tokens | — | 531456 | — | — | — | — |
| Uncached Input Tokens | — | 40735 | — | — | — | — |
| Cost | — | 0.3759 | — | — | — | — |
| Cached vs Uncached Token Ratio | — | 13.05:1 | — | — | — | — |
| Oracle L1: Mutation Policy | — | PASS | — | — | — | — |
| Oracle L2: AST Invariants | — | PASS | — | — | — | — |
| Oracle L3: Clean Build | — | PASS | — | — | — | — |
| Oracle L4: Verification Test | — | FAIL | — | — | — | — |
| Semantic Tool Invocation Verified (per run) | — | FAIL | — | — | — | — |
Baseline vs Semedit Agentic in Small Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | not published | ✓ ✓ |
| 2 | not published | ✓ ✓ |
| 3 | not published | ✓ ✓ |
| 4 | not published | ✓ ✓ |
| 5 | not published | ✓ ✓ |
| 6 | not published | ✓ ✓ |
| 7 | not published | ✓ ✓ |
| 8 | not published | ✓ ✓ |
| 9 | not published | file_change (✓ ✓) |
| 10 | not published | ✓ ✓ |
| 11 | not published | file_change (✓ ✓) |
| 12 | not published | file_change (✓ ✓) |
| 13 | not published | file_change (✓ ✓) |
| 14 | not published | file_change (✓ ✓) |
| 15 | not published | file_change (✓ ✓) |
| 16 | not published | ✓ ✓ |
| 17 | not published | file_change (✓ ✓) |
| 18 | not published | ✓ ✓ |
| 19 | not published | ✓ ✓ |
Baseline vs Semedit Agentic in Large Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | not published | not published |
default prompt · none MCP instructions · write semedit restriction
| Setting | Value |
|---|---|
| Test case | zeromicro__go-zero-964 |
| Target | codex/gpt-6-luna/high |
| Prompt variant | default |
| MCP server instructions | none |
| Semedit arm restriction | write |
| Run provenance | coding_network=disabled,oracle_patch_installation=checked |
| Fixture | testdata/bench/zeromicro__go-zero-964.txtar |
LLM Prompt:
如题。 etcd打开了rbac authentication。但discov.EtcdConf中没有user等字段,无法进行身份认证。连接etcd时会报错: etcdserver: user name is empty
| Metric | Vanilla (Small) | ⚠ Semedit Agentic (Small) | Δ (Small) | Vanilla (Large) | MCP (Large) | Δ (Large) |
|---|---|---|---|---|---|---|
| Wall-Clock Latency | 278.83s | 129.45s | N/A | — | — | — |
| Process Start → First Event | 0.50s | 0.54s | — | — | — | — |
| First Event → First Tool Call | 5.32s | 4.41s | — | — | — | — |
| MCP Initialize → First Semantic Call | — | — | — | — | — | — |
| MCP Server Start → Initialize | — | — | — | — | — | — |
| Top-Level User Turns | 1 | 1 | N/A | — | — | — |
| Internal Tool Cycles | 28 | 32 | N/A | — | — | — |
| Initial Load / Discovery Turns | 9 | 8 | N/A | — | — | — |
| MCP Discovery / Schema Turns | 0 | 0 | — | — | — | — |
| Tool Invocations (per run) | 28 | 32 | N/A | — | — | — |
| Output Tokens | 11934 | 11307 | N/A | — | — | — |
| Reasoning / Thinking Tokens | 5954 | 4244 | N/A | — | — | — |
| Total Input Tokens | 964808 | 1309415 | N/A | — | — | — |
| Cached Input Tokens | 914176 | 1250048 | N/A | — | — | — |
| Uncached Input Tokens | 50632 | 59367 | N/A | — | — | — |
| Cost | 0.5787 | 0.6553 | N/A | — | — | — |
| Cached vs Uncached Token Ratio | 18.06:1 | 21.06:1 | N/A | — | — | — |
| Oracle L1: Mutation Policy | PASS | PASS | — | — | — | — |
| Oracle L2: AST Invariants | PASS | PASS | — | — | — | — |
| Oracle L3: Clean Build | PASS | PASS | — | — | — | — |
| Oracle L4: Verification Test | FAIL | FAIL | — | — | — | — |
| Semantic Tool Invocation Verified (per run) | N/A | FAIL | — | — | — | — |
Baseline vs Semedit Agentic in Small Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | ✓ ✓ | ✓ ✓ |
| 2 | ✓ ✓ | ✓ ✓ |
| 3 | ✓ ✓ | ? ✗ |
| 4 | ✓ ✓ | ✓ ✓ |
| 5 | ✓ ✓ | ✓ ✓ |
| 6 | ✓ ✓ | ✓ ✓ |
| 7 | ✓ ✓ | ✓ ✓ |
| 8 | ✓ ✓ | ✓ ✓ |
| 9 | ✓ ✓ | file_change (✓ ✓) |
| 10 | file_change (✓ ✓) | file_change (✓ ✓) |
| 11 | ✓ ✓ | file_change (✓ ✓) |
| 12 | file_change (✓ ✓) | file_change (✓ ✓) |
| 13 | file_change (✓ ✓) | file_change (✓ ✓) |
| 14 | file_change (✓ ✓) | file_change (✓ ✓) |
| 15 | ✓ ✓ | file_change (✓ ✓) |
| 16 | ✓ ✓ | file_change (✓ ✓) |
| 17 | ✓ ✓ | file_change (✓ ✓) |
| 18 | ? ✗ | ? ✗ |
| 19 | ✓ ✓ | ✓ ✓ |
| 20 | ✓ ✓ | file_change (✓ ✓) |
| 21 | file_change (✓ ✓) | ✓ ✓ |
| 22 | file_change (✓ ✓) | ✓ ✓ |
| 23 | ✓ ✓ | file_change (✓ ✓) |
| 24 | file_change (✓ ✓) | ✓ ✓ |
| 25 | file_change (✓ ✓) | ✓ ✓ |
| 26 | ✓ ✓ | file_change (✓ ✓) |
| 27 | file_change (✓ ✓) | file_change (✓ ✓) |
| 28 | ✓ ✓ | ✓ ✓ |
| 29 | — | ✓ ✓ |
| 30 | — | ✓ ✓ |
| 31 | — | file_change (✓ ✓) |
| 32 | — | ✓ ✓ |
Baseline vs Semedit Agentic in Large Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | not published | not published |
Target: codex/gpt-6-luna/medium
default prompt · none MCP instructions · write semedit restriction
| Setting | Value |
|---|---|
| Test case | zeromicro__go-zero-964 |
| Target | codex/gpt-6-luna/medium |
| Prompt variant | default |
| MCP server instructions | none |
| Semedit arm restriction | write |
| Run provenance | coding_network=disabled,oracle_patch_installation=checked |
| Fixture | testdata/bench/zeromicro__go-zero-964.txtar |
LLM Prompt:
如题。 etcd打开了rbac authentication。但discov.EtcdConf中没有user等字段,无法进行身份认证。连接etcd时会报错: etcdserver: user name is empty
| Metric | Vanilla (Small) | ⚠ Semedit Agentic (Small) | Δ (Small) | Vanilla (Large) | MCP (Large) | Δ (Large) |
|---|---|---|---|---|---|---|
| Wall-Clock Latency | 63.43s | 67.00s | N/A | — | — | — |
| Process Start → First Event | 0.58s | 0.15s | — | — | — | — |
| First Event → First Tool Call | 5.36s | 4.97s | — | — | — | — |
| MCP Initialize → First Semantic Call | — | — | — | — | — | — |
| MCP Server Start → Initialize | — | — | — | — | — | — |
| Top-Level User Turns | 1 | 1 | N/A | — | — | — |
| Internal Tool Cycles | 9 | 11 | N/A | — | — | — |
| Initial Load / Discovery Turns | 8 | 9 | N/A | — | — | — |
| MCP Discovery / Schema Turns | 0 | 0 | — | — | — | — |
| Tool Invocations (per run) | 9 | 11 | N/A | — | — | — |
| Output Tokens | 1360 | 1511 | N/A | — | — | — |
| Reasoning / Thinking Tokens | 486 | 443 | N/A | — | — | — |
| Total Input Tokens | 220315 | 270066 | N/A | — | — | — |
| Cached Input Tokens | 181760 | 243712 | N/A | — | — | — |
| Uncached Input Tokens | 38555 | 26354 | N/A | — | — | — |
| Cost | 0.1649 | 0.1512 | N/A | — | — | — |
| Cached vs Uncached Token Ratio | 4.71:1 | 9.25:1 | N/A | — | — | — |
| Oracle L1: Mutation Policy | PASS | PASS | — | — | — | — |
| Oracle L2: AST Invariants | PASS | PASS | — | — | — | — |
| Oracle L3: Clean Build | PASS | PASS | — | — | — | — |
| Oracle L4: Verification Test | FAIL | FAIL | — | — | — | — |
| Semantic Tool Invocation Verified (per run) | N/A | FAIL | — | — | — | — |
Baseline vs Semedit Agentic in Small Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | ✓ ✓ | ✓ ✓ |
| 2 | ✓ ✓ | ✓ ✓ |
| 3 | ✓ ✓ | ✓ ✓ |
| 4 | ✓ ✓ | ✓ ✓ |
| 5 | ✓ ✓ | ✓ ✓ |
| 6 | ✓ ✓ | ✓ ✓ |
| 7 | ✓ ✓ | ✓ ✓ |
| 8 | ✓ ✓ | ✓ ✓ |
| 9 | file_change (✓ ✓) | ✓ ✓ |
| 10 | — | file_change (✓ ✓) |
| 11 | — | ✓ ✓ |
Baseline vs Semedit Agentic in Large Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | not published | not published |
default prompt · none MCP instructions · write semedit restriction
| Setting | Value |
|---|---|
| Test case | zeromicro__go-zero-964 |
| Target | codex/gpt-6-luna/medium |
| Prompt variant | default |
| MCP server instructions | none |
| Semedit arm restriction | write |
| Run provenance | coding_network=disabled,oracle_patch_installation=checked |
| Fixture | testdata/bench/zeromicro__go-zero-964.txtar |
LLM Prompt:
如题。 etcd打开了rbac authentication。但discov.EtcdConf中没有user等字段,无法进行身份认证。连接etcd时会报错: etcdserver: user name is empty
| Metric | Vanilla (Small) | ⚠ Semedit Agentic (Small) | Δ (Small) | Vanilla (Large) | MCP (Large) | Δ (Large) |
|---|---|---|---|---|---|---|
| Wall-Clock Latency | 65.01s | 115.28s | N/A | — | — | — |
| Process Start → First Event | 0.15s | 0.24s | — | — | — | — |
| First Event → First Tool Call | 4.76s | 5.06s | — | — | — | — |
| MCP Initialize → First Semantic Call | — | — | — | — | — | — |
| MCP Server Start → Initialize | — | — | — | — | — | — |
| Top-Level User Turns | 1 | 1 | N/A | — | — | — |
| Internal Tool Cycles | 15 | 18 | N/A | — | — | — |
| Initial Load / Discovery Turns | 15 | 7 | N/A | — | — | — |
| MCP Discovery / Schema Turns | 0 | 0 | — | — | — | — |
| Tool Invocations (per run) | 15 | 18 | N/A | — | — | — |
| Output Tokens | 1461 | 3966 | N/A | — | — | — |
| Reasoning / Thinking Tokens | 413 | 933 | N/A | — | — | — |
| Total Input Tokens | 365064 | 483687 | N/A | — | — | — |
| Cached Input Tokens | 310528 | 452864 | N/A | — | — | — |
| Uncached Input Tokens | 54536 | 30823 | N/A | — | — | — |
| Cost | 0.2374 | 0.2515 | N/A | — | — | — |
| Cached vs Uncached Token Ratio | 5.69:1 | 14.69:1 | N/A | — | — | — |
| Oracle L1: Mutation Policy | PASS | PASS | — | — | — | — |
| Oracle L2: AST Invariants | PASS | PASS | — | — | — | — |
| Oracle L3: Clean Build | PASS | PASS | — | — | — | — |
| Oracle L4: Verification Test | FAIL | FAIL | — | — | — | — |
| Semantic Tool Invocation Verified (per run) | N/A | FAIL | — | — | — | — |
Baseline vs Semedit Agentic in Small Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | ✓ ✓ | ✓ ✓ |
| 2 | ✓ ✓ | ✓ ✓ |
| 3 | ✓ ✓ | ✓ ✓ |
| 4 | ✓ ✓ | ✓ ✓ |
| 5 | ✓ ✓ | ? ✗ |
| 6 | ✓ ✓ | ✓ ✓ |
| 7 | ? ✗ | ✓ ✓ |
| 8 | ? ✗ | file_change (✓ ✓) |
| 9 | ✓ ✓ | file_change (✓ ✓) |
| 10 | ✓ ✓ | ✓ ✓ |
| 11 | ✓ ✓ | ✓ ✓ |
| 12 | ✓ ✓ | ✓ ✓ |
| 13 | ✓ ✓ | file_change (✓ ✓) |
| 14 | ✓ ✓ | file_change (✓ ✓) |
| 15 | ✓ ✓ | file_change (✓ ✓) |
| 16 | — | file_change (✓ ✓) |
| 17 | — | file_change (✓ ✓) |
| 18 | — | ✓ ✓ |
Baseline vs Semedit Agentic in Large Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | not published | not published |
default prompt · none MCP instructions · write semedit restriction
| Setting | Value |
|---|---|
| Test case | zeromicro__go-zero-964 |
| Target | codex/gpt-6-luna/medium |
| Prompt variant | default |
| MCP server instructions | none |
| Semedit arm restriction | write |
| Run provenance | coding_network=disabled,oracle_patch_installation=checked |
| Fixture | testdata/bench/zeromicro__go-zero-964.txtar |
LLM Prompt:
如题。 etcd打开了rbac authentication。但discov.EtcdConf中没有user等字段,无法进行身份认证。连接etcd时会报错: etcdserver: user name is empty
| Metric | Vanilla (Small) | ⚠ Semedit Agentic (Small) | Δ (Small) | Vanilla (Large) | MCP (Large) | Δ (Large) |
|---|---|---|---|---|---|---|
| Wall-Clock Latency | 70.06s | 138.13s | N/A | — | — | — |
| Process Start → First Event | 0.61s | 0.14s | — | — | — | — |
| First Event → First Tool Call | 5.39s | 6.19s | — | — | — | — |
| MCP Initialize → First Semantic Call | — | — | — | — | — | — |
| MCP Server Start → Initialize | — | — | — | — | — | — |
| Top-Level User Turns | 1 | 1 | N/A | — | — | — |
| Internal Tool Cycles | 10 | 26 | N/A | — | — | — |
| Initial Load / Discovery Turns | 8 | 11 | N/A | — | — | — |
| MCP Discovery / Schema Turns | 0 | 0 | — | — | — | — |
| Tool Invocations (per run) | 10 | 26 | N/A | — | — | — |
| Output Tokens | 1750 | 4296 | N/A | — | — | — |
| Reasoning / Thinking Tokens | 674 | 1132 | N/A | — | — | — |
| Total Input Tokens | 277076 | 725728 | N/A | — | — | — |
| Cached Input Tokens | 247040 | 662784 | N/A | — | — | — |
| Uncached Input Tokens | 30036 | 62944 | N/A | — | — | — |
| Cost | 0.1671 | 0.3909 | N/A | — | — | — |
| Cached vs Uncached Token Ratio | 8.22:1 | 10.53:1 | N/A | — | — | — |
| Oracle L1: Mutation Policy | PASS | PASS | — | — | — | — |
| Oracle L2: AST Invariants | PASS | PASS | — | — | — | — |
| Oracle L3: Clean Build | PASS | PASS | — | — | — | — |
| Oracle L4: Verification Test | FAIL | FAIL | — | — | — | — |
| Semantic Tool Invocation Verified (per run) | N/A | FAIL | — | — | — | — |
Baseline vs Semedit Agentic in Small Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | ✓ ✓ | ✓ ✓ |
| 2 | ✓ ✓ | ? ✗ |
| 3 | ✓ ✓ | ✓ ✓ |
| 4 | ✓ ✓ | ✓ ✓ |
| 5 | ✓ ✓ | ✓ ✓ |
| 6 | ✓ ✓ | ✓ ✓ |
| 7 | ✓ ✓ | ✓ ✓ |
| 8 | ✓ ✓ | ✓ ✓ |
| 9 | file_change (✓ ✓) | ✓ ✓ |
| 10 | file_change (✓ ✓) | ✓ ✓ |
| 11 | — | ✓ ✓ |
| 12 | — | file_change (✓ ✓) |
| 13 | — | ✓ ✓ |
| 14 | — | file_change (✓ ✓) |
| 15 | — | file_change (✓ ✓) |
| 16 | — | file_change (✓ ✓) |
| 17 | — | file_change (✓ ✓) |
| 18 | — | ✓ ✓ |
| 19 | — | file_change (✓ ✓) |
| 20 | — | ✓ ✓ |
| 21 | — | file_change (✓ ✓) |
| 22 | — | file_change (✓ ✓) |
| 23 | — | file_change (✓ ✓) |
| 24 | — | ✓ ✓ |
| 25 | — | ✓ ✓ |
| 26 | — | file_change (✓ ✓) |
Baseline vs Semedit Agentic in Large Context
| # | Vanilla | Semedit MCP |
|---|---|---|
| 1 | not published | not published |