Skip to content

fix(backlog): stop orchestrator-inferred DONE from forcing premature review#222

Draft
tstapler wants to merge 1 commit into
mainfrom
fix/premature-review-trigger-orchestrator-done
Draft

fix(backlog): stop orchestrator-inferred DONE from forcing premature review#222
tstapler wants to merge 1 commit into
mainfrom
fix/premature-review-trigger-orchestrator-done

Conversation

@tstapler

Copy link
Copy Markdown
Owner

Root cause (confirmed live in production, two independent items in the same session)

AutonomousDriver.run() (session/autonomous_driver.go) polls a separate, minimal orchestrator LLM every time the driven session goes idle, asking it to judge whether "the goal is complete" from nothing but a raw terminal-tail snapshot (buildOrchestrationPrompt). This orchestrator has zero visibility into acceptance criteria, committed diff state, or whether the work session's own agent ever called request_review.

onAutonomousDriverComplete (server/services/autonomous_orchestration_service.go) trusted that orchestrator's Done=true signal to force the backlog item's in_progressreview transition and spawn a review session — a second, much weaker path racing the legitimate one: the request_review MCP tool (server/mcp/tools_backlog.go), which rejects uncommitted changes and requires the work session's own agent to explicitly decide the goal is met.

Live evidence: two SDD-pipeline backlog items each had a review session spawn within 1-9 minutes of their work session starting, right after nothing but a requirements.md commit — the orchestrator hallucinated DONE during a natural pause between SDD phases. Both reviews correctly returned FAIL ("no implementation exists"), but the underlying work sessions kept running under their own steam and landed real implementation commits 40+ minutes later, unaware a stale FAIL verdict had already been recorded against them.

Fix

For SessionRoleWork, the orchestrator's Done signal no longer sets toStatus = BacklogStatusReview:

  • If request_review already fired, the item is no longer in_progress — nothing to do, the legitimate mechanism already handled it.
  • If it hasn't, leave the item in_progress (request_review remains the sole path to review) and log it for diagnosability instead of silently forcing a wrong transition.

The orchestrator's Done reply is still real evidence the driver itself isn't stuck (looping on malformed responses, hitting the turn cap) — that's a narrower, still-useful claim independent of "ready for review" — so the autonomous_stuck row is still resolved, just called directly rather than gated behind the now-removed status transition.

Test plan

  • go build ./server/services/... ./session/...
  • go test ./server/services/... ./session/...
  • New regression test TestAutonomousOrchestrationService_OnAutonomousDriverComplete_DoesNotForceReview_When_OrchestratorClaimsDoneWithoutRequestReview — reproduces the exact failure shape (SessionRoleWork, Done=true, item still in_progress) and asserts the item stays in_progress with no review spawned
  • Confirmed the new test is load-bearing: temporarily reverted just the source fix and re-ran the test — it fails with the exact symptoms from the live incident (expected: in_progress, actual: review, review trigger called)
  • All pre-existing tests in the package still pass (one unrelated flaky test, TestRemoveHooksConfig_should_StripOnlyTheNamedHook_When_MultipleHooksPresent, confirmed to fail/pass identically with and without this change — pre-existing test-ordering flakiness, not a regression)

Claude-Session: https://claude.ai/code/session_01NnUqFpFJid7USqmi7CJQJ7

… forcing premature review

Root cause (confirmed live, two independent items in one session):
AutonomousDriver.run() (session/autonomous_driver.go) polls a separate,
minimal orchestrator LLM every time the driven session goes idle, asking it
to judge whether "the goal is complete" from nothing but a raw terminal-tail
snapshot (buildOrchestrationPrompt) — no visibility into acceptance
criteria, committed diff state, or whether the work session's own agent
ever called request_review.

onAutonomousDriverComplete (server/services/autonomous_orchestration_service.go)
trusted that orchestrator's Done=true signal to force the backlog item's
in_progress→review transition and spawn a review session — a second,
much weaker path racing the legitimate one (the request_review MCP tool
in server/mcp/tools_backlog.go, which rejects uncommitted changes and
requires the work session's own agent to explicitly decide the goal is met).

Live evidence: two SDD-pipeline backlog items each had a review session
spawn within 1-9 minutes of their work session starting, right after
nothing but a requirements.md commit — the orchestrator hallucinated DONE
during a natural pause between SDD phases. Both reviews correctly returned
FAIL ("no implementation exists"), but the underlying work sessions kept
running under their own steam and landed real implementation commits
40+ minutes later, unaware a stale FAIL verdict had already been recorded.

Fix: for SessionRoleWork, no longer let the orchestrator's Done signal set
toStatus=BacklogStatusReview. If request_review already fired, the item is
no longer in_progress and there's nothing to do. If it hasn't, leave the
item in_progress (request_review remains the sole path to review) and log
it for diagnosability. The orchestrator's Done reply is still real evidence
the driver itself isn't stuck (looping/hitting the turn cap), so the
autonomous_stuck row is still resolved directly, decoupled from the
now-removed status transition.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NnUqFpFJid7USqmi7CJQJ7
@github-actions

Copy link
Copy Markdown
Contributor

✅ Registry Validation

Registry Validation
===================

Building backend scanner...
Scanning backend features...
Wrote 117 feature files to /tmp/tmp.048CFvDg9d/backend
Wrote 15 feature files to /tmp/tmp.048CFvDg9d/backend
Wrote 45 feature files to /tmp/tmp.048CFvDg9d/backend
Wrote 7 feature files to /tmp/tmp.048CFvDg9d/backend
Wrote 11 feature files to /tmp/tmp.048CFvDg9d/backend

=== Backend Registry Diff ===
Committed: 179  Generated: 179  Divergence: 0.0%
⚠️  110 feature(s) missing // +api: marker (markerFound: false)

✅ Registry validation passed. Divergence: 0.0%

Test Coverage: 19/179 features have testIds (10.6%)

Divergence > 2% blocks merges. Coverage reporting is advisory only.

@github-actions

Copy link
Copy Markdown
Contributor

Go Benchmarks (Tier 1)

benchmarks/go/tier1-baseline.txt:98: missing iteration count
benchmarks/go/tier1-baseline.txt:197: missing iteration count
tier1-bench.txt:98: missing iteration count
tier1-bench.txt:198: missing iteration count
goos: linux
goarch: amd64
pkg: github.com/tstapler/stapler-squad/session
cpu: AMD EPYC 7763 64-Core Processor                
                                            │ tier1-bench.txt │
                                            │     sec/op      │
CircularBufferWrite_4KB-4                         80.61n ± 3%
CircularBufferWrite_4KB_Allocs-4                  82.98n ± 2%
CircularBufferGetRecent_4KB-4                     506.6n ± 2%
CircularBufferGetAll-4                            3.865µ ± 1%
GetTimeSinceLastMeaningfulOutput_HotPath-4        65.83n ± 0%
GetTimeSinceLastMeaningfulOutput_ColdPath-4       32.77n ± 0%
geomean                                           174.5n

                                            │ tier1-bench.txt │
                                            │      B/op       │
CircularBufferWrite_4KB-4                        0.000 ± 0%
CircularBufferWrite_4KB_Allocs-4                 0.000 ± 0%
CircularBufferGetRecent_4KB-4                  4.000Ki ± 0%
CircularBufferGetAll-4                         40.00Ki ± 0%
GetTimeSinceLastMeaningfulOutput_HotPath-4       0.000 ± 0%
GetTimeSinceLastMeaningfulOutput_ColdPath-4      0.000 ± 0%
geomean                                                     ¹
¹ summaries must be >0 to compute geomean

                                            │ tier1-bench.txt │
                                            │    allocs/op    │
CircularBufferWrite_4KB-4                        0.000 ± 0%
CircularBufferWrite_4KB_Allocs-4                 0.000 ± 0%
CircularBufferGetRecent_4KB-4                    1.000 ± 0%
CircularBufferGetAll-4                           1.000 ± 0%
GetTimeSinceLastMeaningfulOutput_HotPath-4       0.000 ± 0%
GetTimeSinceLastMeaningfulOutput_ColdPath-4      0.000 ± 0%
geomean                                                     ¹
¹ summaries must be >0 to compute geomean

                              │ tier1-bench.txt │
                              │       B/s       │
CircularBufferWrite_4KB-4          47.32Gi ± 4%
CircularBufferGetRecent_4KB-4      7.530Gi ± 2%
geomean                            18.88Gi

cpu: AMD EPYC 9V74 80-Core Processor                
                                            │ benchmarks/go/tier1-baseline.txt │
                                            │              sec/op              │
CircularBufferWrite_4KB-4                                         80.20n ±  1%
CircularBufferWrite_4KB_Allocs-4                                  79.84n ±  1%
CircularBufferGetRecent_4KB-4                                     508.3n ±  2%
CircularBufferGetAll-4                                            4.484µ ± 15%
GetTimeSinceLastMeaningfulOutput_HotPath-4                        70.09n ±  0%
GetTimeSinceLastMeaningfulOutput_ColdPath-4                       34.52n ±  0%
geomean                                                           181.1n

                                            │ benchmarks/go/tier1-baseline.txt │
                                            │               B/op               │
CircularBufferWrite_4KB-4                                         0.000 ± 0%
CircularBufferWrite_4KB_Allocs-4                                  0.000 ± 0%
CircularBufferGetRecent_4KB-4                                   4.000Ki ± 0%
CircularBufferGetAll-4                                          40.00Ki ± 0%
GetTimeSinceLastMeaningfulOutput_HotPath-4                        0.000 ± 0%
GetTimeSinceLastMeaningfulOutput_ColdPath-4                       0.000 ± 0%
geomean                                                                      ¹
¹ summaries must be >0 to compute geomean

                                            │ benchmarks/go/tier1-baseline.txt │
                                            │            allocs/op             │
CircularBufferWrite_4KB-4                                         0.000 ± 0%
CircularBufferWrite_4KB_Allocs-4                                  0.000 ± 0%
CircularBufferGetRecent_4KB-4                                     1.000 ± 0%
CircularBufferGetAll-4                                            1.000 ± 0%
GetTimeSinceLastMeaningfulOutput_HotPath-4                        0.000 ± 0%
GetTimeSinceLastMeaningfulOutput_ColdPath-4                       0.000 ± 0%
geomean                                                                      ¹
¹ summaries must be >0 to compute geomean

                              │ benchmarks/go/tier1-baseline.txt │
                              │               B/s                │
CircularBufferWrite_4KB-4                           47.56Gi ± 1%
CircularBufferGetRecent_4KB-4                       7.505Gi ± 2%
geomean                                             18.89Gi

pkg: github.com/tstapler/stapler-squad/session/detection/ratelimit
cpu: AMD EPYC 7763 64-Core Processor                
                              │ tier1-bench.txt │
                              │     sec/op      │
StripANSI_PlainText-4               6.865n ± 0%
StripANSI_WithEscapes-4             746.5n ± 1%
ProcessOutput_InactiveState-4       6.346n ± 1%
geomean                             31.92n

                              │ tier1-bench.txt │
                              │      B/op       │
StripANSI_PlainText-4              0.000 ± 0%
StripANSI_WithEscapes-4            136.0 ± 0%
ProcessOutput_InactiveState-4      0.000 ± 0%
geomean                                       ¹
¹ summaries must be >0 to compute geomean

                              │ tier1-bench.txt │
                              │    allocs/op    │
StripANSI_PlainText-4              0.000 ± 0%
StripANSI_WithEscapes-4            5.000 ± 0%
ProcessOutput_InactiveState-4      0.000 ± 0%
geomean                                       ¹
¹ summaries must be >0 to compute geomean

cpu: AMD EPYC 9V74 80-Core Processor                
                              │ benchmarks/go/tier1-baseline.txt │
                              │              sec/op              │
StripANSI_PlainText-4                                7.048n ± 5%
StripANSI_WithEscapes-4                              652.0n ± 2%
ProcessOutput_InactiveState-4                        6.644n ± 1%
geomean                                              31.26n

                              │ benchmarks/go/tier1-baseline.txt │
                              │               B/op               │
StripANSI_PlainText-4                               0.000 ± 0%
StripANSI_WithEscapes-4                             136.0 ± 0%
ProcessOutput_InactiveState-4                       0.000 ± 0%
geomean                                                        ¹
¹ summaries must be >0 to compute geomean

                              │ benchmarks/go/tier1-baseline.txt │
                              │            allocs/op             │
StripANSI_PlainText-4                               0.000 ± 0%
StripANSI_WithEscapes-4                             5.000 ± 0%
ProcessOutput_InactiveState-4                       0.000 ± 0%
geomean                                                        ¹
¹ summaries must be >0 to compute geomean

pkg: github.com/tstapler/stapler-squad/session/queue
cpu: AMD EPYC 7763 64-Core Processor                
                              │ tier1-bench.txt │
                              │     sec/op      │
ReviewQueue_ConcurrentReads-4       90.50n ± 5%
ReviewQueue_Add-4                   499.9n ± 1%
geomean                             212.7n

                              │ tier1-bench.txt │
                              │      B/op       │
ReviewQueue_ConcurrentReads-4      0.000 ± 0%
ReviewQueue_Add-4                  640.0 ± 0%
geomean                                       ¹
¹ summaries must be >0 to compute geomean

                              │ tier1-bench.txt │
                              │    allocs/op    │
ReviewQueue_ConcurrentReads-4      0.000 ± 0%
ReviewQueue_Add-4                  4.000 ± 0%
geomean                                       ¹
¹ summaries must be >0 to compute geomean

cpu: AMD EPYC 9V74 80-Core Processor                
                              │ benchmarks/go/tier1-baseline.txt │
                              │              sec/op              │
ReviewQueue_ConcurrentReads-4                       90.44n ± 15%
ReviewQueue_Add-4                                   551.0n ±  9%
geomean                                             223.2n

                              │ benchmarks/go/tier1-baseline.txt │
                              │               B/op               │
ReviewQueue_ConcurrentReads-4                       0.000 ± 0%
ReviewQueue_Add-4                                   640.0 ± 0%
geomean                                                        ¹
¹ summaries must be >0 to compute geomean

                              │ benchmarks/go/tier1-baseline.txt │
                              │            allocs/op             │
ReviewQueue_ConcurrentReads-4                       0.000 ± 0%
ReviewQueue_Add-4                                   4.000 ± 0%
geomean                                                        ¹
¹ summaries must be >0 to compute geomean

pkg: github.com/tstapler/stapler-squad/session/scrollback
cpu: AMD EPYC 7763 64-Core Processor                
                                      │ tier1-bench.txt │
                                      │     sec/op      │
CircularBuffer_ConcurrentReadWrite-4        3.945µ ± 1%
CircularBuffer_BurstAppend-4                102.5µ ± 0%
CircularBuffer_GetLastN_LargeBuffer-4       20.07µ ± 1%
CircularBuffer_GetRange_Sequential-4        11.20µ ± 2%
CircularBufferAppend-4                      97.97n ± 0%
CircularBufferGetLastN-4                    2.198µ ± 4%
CircularBufferConcurrentAppend-4            129.5n ± 1%
geomean                                     3.064µ

                                      │ tier1-bench.txt │
                                      │      B/op       │
CircularBuffer_ConcurrentReadWrite-4       6.062Ki ± 0%
CircularBuffer_BurstAppend-4               62.50Ki ± 0%
CircularBuffer_GetLastN_LargeBuffer-4      56.00Ki ± 0%
CircularBuffer_GetRange_Sequential-4       28.00Ki ± 0%
CircularBufferAppend-4                       24.00 ± 0%
CircularBufferGetLastN-4                   6.000Ki ± 0%
CircularBufferConcurrentAppend-4             32.00 ± 0%
geomean                                    3.077Ki

                                      │ tier1-bench.txt │
                                      │    allocs/op    │
CircularBuffer_ConcurrentReadWrite-4         2.000 ± 0%
CircularBuffer_BurstAppend-4                1.000k ± 0%
CircularBuffer_GetLastN_LargeBuffer-4        1.000 ± 0%
CircularBuffer_GetRange_Sequential-4         1.000 ± 0%
CircularBufferAppend-4                       1.000 ± 0%
CircularBufferGetLastN-4                     1.000 ± 0%
CircularBufferConcurrentAppend-4             1.000 ± 0%
geomean                                      2.962

                             │ tier1-bench.txt │
                             │       B/s       │
CircularBuffer_BurstAppend-4      595.4Mi ± 0%

cpu: AMD EPYC 9V74 80-Core Processor                
                                      │ benchmarks/go/tier1-baseline.txt │
                                      │              sec/op              │
CircularBuffer_ConcurrentReadWrite-4                         3.518µ ± 3%
CircularBuffer_BurstAppend-4                                 108.1µ ± 1%
CircularBuffer_GetLastN_LargeBuffer-4                        19.59µ ± 1%
CircularBuffer_GetRange_Sequential-4                         10.53µ ± 2%
CircularBufferAppend-4                                       103.0n ± 0%
CircularBufferGetLastN-4                                     2.298µ ± 1%
CircularBufferConcurrentAppend-4                             135.7n ± 1%
geomean                                                      3.061µ

                                      │ benchmarks/go/tier1-baseline.txt │
                                      │               B/op               │
CircularBuffer_ConcurrentReadWrite-4                        6.062Ki ± 0%
CircularBuffer_BurstAppend-4                                62.50Ki ± 0%
CircularBuffer_GetLastN_LargeBuffer-4                       56.00Ki ± 0%
CircularBuffer_GetRange_Sequential-4                        28.00Ki ± 0%
CircularBufferAppend-4                                        24.00 ± 0%
CircularBufferGetLastN-4                                    6.000Ki ± 0%
CircularBufferConcurrentAppend-4                              32.00 ± 0%
geomean                                                     3.077Ki

                                      │ benchmarks/go/tier1-baseline.txt │
                                      │            allocs/op             │
CircularBuffer_ConcurrentReadWrite-4                          2.000 ± 0%
CircularBuffer_BurstAppend-4                                 1.000k ± 0%
CircularBuffer_GetLastN_LargeBuffer-4                         1.000 ± 0%
CircularBuffer_GetRange_Sequential-4                          1.000 ± 0%
CircularBufferAppend-4                                        1.000 ± 0%
CircularBufferGetLastN-4                                      1.000 ± 0%
CircularBufferConcurrentAppend-4                              1.000 ± 0%
geomean                                                       2.962

                             │ benchmarks/go/tier1-baseline.txt │
                             │               B/s                │
CircularBuffer_BurstAppend-4                       564.4Mi ± 7%

pkg: github.com/tstapler/stapler-squad/session/tmux
cpu: AMD EPYC 7763 64-Core Processor                
                             │ tier1-bench.txt │
                             │     sec/op      │
StripANSICodes_PlainText-4         6.890n ± 0%
StripANSICodes_WithEscapes-4       691.1n ± 0%
IsBanner_PlainText-4               477.0n ± 1%
geomean                            131.4n

                             │ tier1-bench.txt │
                             │      B/op       │
StripANSICodes_PlainText-4        0.000 ± 0%
StripANSICodes_WithEscapes-4      56.00 ± 0%
IsBanner_PlainText-4              0.000 ± 0%
geomean                                      ¹
¹ summaries must be >0 to compute geomean

                             │ tier1-bench.txt │
                             │    allocs/op    │
StripANSICodes_PlainText-4        0.000 ± 0%
StripANSICodes_WithEscapes-4      4.000 ± 0%
IsBanner_PlainText-4              0.000 ± 0%
geomean                                      ¹
¹ summaries must be >0 to compute geomean

cpu: AMD EPYC 9V74 80-Core Processor                
                             │ benchmarks/go/tier1-baseline.txt │
                             │              sec/op              │
StripANSICodes_PlainText-4                          7.247n ± 2%
StripANSICodes_WithEscapes-4                        621.2n ± 1%
IsBanner_PlainText-4                                468.9n ± 1%
geomean                                             128.3n

                             │ benchmarks/go/tier1-baseline.txt │
                             │               B/op               │
StripANSICodes_PlainText-4                         0.000 ± 0%
StripANSICodes_WithEscapes-4                       56.00 ± 0%
IsBanner_PlainText-4                               0.000 ± 0%
geomean                                                       ¹
¹ summaries must be >0 to compute geomean

                             │ benchmarks/go/tier1-baseline.txt │
                             │            allocs/op             │
StripANSICodes_PlainText-4                         0.000 ± 0%
StripANSICodes_WithEscapes-4                       4.000 ± 0%
IsBanner_PlainText-4                               0.000 ± 0%
geomean                                                       ¹
¹ summaries must be >0 to compute geomean

pkg: github.com/tstapler/stapler-squad/session/tokens
cpu: AMD EPYC 7763 64-Core Processor                
                                   │ tier1-bench.txt │
                                   │     sec/op      │
TokenParser_ProcessUserEntry-4           5.255m ± 1%
DetectCommandsInText/NoSlash-4           7.493n ± 0%
DetectCommandsInText/WithCommand-4       1.661µ ± 2%
geomean                                  4.029µ

                                   │ tier1-bench.txt │
                                   │      B/op       │
TokenParser_ProcessUserEntry-4        11.02Mi ± 0%
DetectCommandsInText/NoSlash-4          0.000 ± 0%
DetectCommandsInText/WithCommand-4      433.0 ± 0%
geomean                                            ¹
¹ summaries must be >0 to compute geomean

                                   │ tier1-bench.txt │
                                   │    allocs/op    │
TokenParser_ProcessUserEntry-4          34.00 ± 0%
DetectCommandsInText/NoSlash-4          0.000 ± 0%
DetectCommandsInText/WithCommand-4      6.000 ± 0%
geomean                                            ¹
¹ summaries must be >0 to compute geomean

cpu: AMD EPYC 9V74 80-Core Processor                
                                   │ benchmarks/go/tier1-baseline.txt │
                                   │              sec/op              │
TokenParser_ProcessUserEntry-4                            5.484m ± 1%
DetectCommandsInText/NoSlash-4                            6.427n ± 4%
DetectCommandsInText/WithCommand-4                        1.509µ ± 1%
geomean                                                   3.760µ

                                   │ benchmarks/go/tier1-baseline.txt │
                                   │               B/op               │
TokenParser_ProcessUserEntry-4                         11.02Mi ± 0%
DetectCommandsInText/NoSlash-4                           0.000 ± 0%
DetectCommandsInText/WithCommand-4                       433.0 ± 0%
geomean                                                             ¹
¹ summaries must be >0 to compute geomean

                                   │ benchmarks/go/tier1-baseline.txt │
                                   │            allocs/op             │
TokenParser_ProcessUserEntry-4                           34.00 ± 0%
DetectCommandsInText/NoSlash-4                           0.000 ± 0%
DetectCommandsInText/WithCommand-4                       6.000 ± 0%
geomean                                                             ¹
¹ summaries must be >0 to compute geomean

pkg: github.com/tstapler/stapler-squad/session/unfinished
cpu: AMD EPYC 7763 64-Core Processor                
                               │ tier1-bench.txt │
                               │     sec/op      │
DiffShortstat/GitVCSReader-4         3.175m ± 1%
DiffShortstat/GoGitVCSReader-4       76.65n ± 0%
DiffShortstatCached-4                75.63n ± 1%
geomean                              2.640µ

                               │ tier1-bench.txt │
                               │      B/op       │
DiffShortstat/GitVCSReader-4      62.57Ki ± 0%
DiffShortstat/GoGitVCSReader-4      0.000 ± 0%
DiffShortstatCached-4               0.000 ± 0%
geomean                                        ¹
¹ summaries must be >0 to compute geomean

                               │ tier1-bench.txt │
                               │    allocs/op    │
DiffShortstat/GitVCSReader-4        360.0 ± 0%
DiffShortstat/GoGitVCSReader-4      0.000 ± 0%
DiffShortstatCached-4               0.000 ± 0%
geomean                                        ¹
¹ summaries must be >0 to compute geomean

cpu: AMD EPYC 9V74 80-Core Processor                
                               │ benchmarks/go/tier1-baseline.txt │
                               │              sec/op              │
DiffShortstat/GitVCSReader-4                          3.364m ± 1%
DiffShortstat/GoGitVCSReader-4                        80.98n ± 0%
DiffShortstatCached-4                                 81.94n ± 1%
geomean                                               2.815µ

                               │ benchmarks/go/tier1-baseline.txt │
                               │               B/op               │
DiffShortstat/GitVCSReader-4                       56.57Ki ± 0%
DiffShortstat/GoGitVCSReader-4                       0.000 ± 0%
DiffShortstatCached-4                                0.000 ± 0%
geomean                                                         ¹
¹ summaries must be >0 to compute geomean

                               │ benchmarks/go/tier1-baseline.txt │
                               │            allocs/op             │
DiffShortstat/GitVCSReader-4                         360.0 ± 0%
DiffShortstat/GoGitVCSReader-4                       0.000 ± 0%
DiffShortstatCached-4                                0.000 ± 0%
geomean                                                         ¹
¹ summaries must be >0 to compute geomean

@github-actions

Copy link
Copy Markdown
Contributor

E2E RPC Latency

list-sessions-ttfb-mean: 6ms (▼ faster -18.7%; baseline: 8ms)
list-sessions-total-mean: 12ms (▲ slower +6.8%; baseline: 12ms)

@github-actions

Copy link
Copy Markdown
Contributor

📊 Feature E2E Coverage

Feature coverage report unavailable

Run make e2e-report locally to view the full Allure report.

@github-actions

Copy link
Copy Markdown
Contributor

Frontend Terminal Throughput

terminal-throughput-mean: 10 KB/s ▼ -34.0% (baseline: 16 KB/s)
terminal-throughput-p50: 15 KB/s ▼ -4.1% (baseline: 16 KB/s)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant