Model pass rate 23%
- Staticpass19 checks, 1 with findings (0 blocking)
- Rubricfail15 criteria, 4 failed by a single reviewer: metadata_accuracy, test_coverage_gaps, hidden_interface_requirements, grading_pipeline_soundness (2 minor)
- Validationpassoracle=1 nop=0
- Probepass1/1 probe(s) reproduced their finding by execution
critical
Verified by execution
Tests depend on names or interfaces the instruction doesn't specify
rubric · hidden_interface_requirements · verifier
Single-reviewer finding: one reviewer agent flagged this; it has not been through a multi-reviewer vote.
Verified by executionReference solution reporting reloader_timings_ms as fractional milliseconds (float64, microsecond precision) instead of whole milliseconds.
Verifier reward: 0
5 of 97 tests failed:
- [f2p] github.com/prometheus/prometheus/cmd/prometheus.TestReloadStatusEndpointAndStateFile_BlackBox
- [f2p] github.com/prometheus/prometheus/cmd/prometheus.TestTransactionalConfigReload_ConcurrentReloadRequestsConverge
- [f2p] github.com/prometheus/prometheus/cmd/prometheus.TestTransactionalConfigReload_RollsBackOnPartialApplyFailure
- [f2p] github.com/prometheus/prometheus/cmd/prometheus.TestTransactionalConfigReload_Sequence_45ReloadAttemptsMaintainInvariants
- [f2p] github.com/prometheus/prometheus/cmd/prometheus.TestTransactionalConfigReload_SuccessfulReloadUpdatesStatusAndSuccessMetric
Evidence
[bKNqFKp] - reloader_timings_ms must hold integers. Both test structs declare `ReloaderTimingsMs map[string]int64` (reload_state_test.go `reloadStatusResponse`, transactional_reload_test.go `txnReloadStatus`) and decode the whole response with encoding/json. The instruction only says to 'include ... reloader_timings_ms'. A reasonable choice of fractional milliseconds (e.g. 0.42, natural because most reloaders take under 1ms) makes json decoding fail with 'cannot unmarshal number 0.42 into ... int64'. That breaks getReloadStatus/getTxnReloadStatus in TestReloadStatusEndpointAndStateFile_BlackBox, TestTransactionalConfigReload_SuccessfulReloadUpdatesStatusAndSuccessMetric, the 45-reload sequence test, and others. The reference uses `duration.Milliseconds()` (int64).
- The persisted last_reload_id must be the exact same string the endpoint returns. TestReloadStatusEndpointAndStateFile_BlackBox asserts `require.Equal(t, status.LastReloadID, raw["last_reload_id"])`. The instruction only says the file 'must include at least: last_reload_id' and fixes RFC3339 only for the HTTP response. An idiomatic Go version that stores a time.Time (which marshals as RFC3339Nano) and formats it as RFC3339 for the API would fail.
major
Reviewer finding, not yet verified
The grading pipeline can mis-score a correct solution
rubric · grading_pipeline_soundness · verifier
Single-reviewer finding: one reviewer agent flagged this; it has not been through a multi-reviewer vote.
Evidence
[bKNqFKp] test.patch adds many top-level helpers to package main in cmd/prometheus: triggerReload, waitUntilReady, getReloadStatus, getFeatures, getFlags and the type apiResponse in the olympus_new-tagged files, plus deterministicFreePort and startPrometheusWithRetry in the untagged reload_test.go. grader.py only removes or resets files whose paths test.patch touches. If an agent writes its own test file under a different name in cmd/prometheus (e.g. reload_status_test.go) and declares a helper with one of these common names, such as `func triggerReload(...)` or `func getReloadStatus(...)`, the package no longer compiles ('redeclared in this block'). test.sh drops build-fail events, every whitelisted id is then missing, and an otherwise correct solution scores 0. Patch collection (base commit = config base_commit) and CTRF suite.name id mapping are otherwise consistent.
minor
Reviewer finding, not yet verified
Task metadata is inaccurate
rubric · metadata_accuracy · metadata
Single-reviewer finding: one reviewer agent flagged this; it has not been through a multi-reviewer vote.
Evidence
[bKNqFKp] task.toml declares `language = "typescript"`, but the change and all tests are Go (cmd/prometheus/*.go, internal/txnreload/*.go, run with `go test`). [task].description is also empty.
minor
Reviewer finding, not yet verified
Stated requirements are not tested
rubric · test_coverage_gaps · verifier
Single-reviewer finding: one reviewer agent flagged this; it has not been through a multi-reviewer vote.
Evidence
[bKNqFKp] - The opt-in gating is never checked for reload behaviour. No test reloads without --enable-feature=transactional-reload-config and confirms there is no rollback and the old behaviour remains; only the /api/v1/features flag is checked.
- After a failed apply, nothing checks failed_reloader, the contents of applied_reloaders, rollback_successful, error_message or the contents of reloader_timings_ms. They are only checked for type or emptiness, or only in the before-first-reload case, so wrong values pass.
- rollback_error is never forced. Tests accept either apply_error or rollback_error, so the categories are never told apart.
- 'executes reloaders in sequence' (stop at the first failure) is not observable in any test.
minor
task.toml says language = "typescript" but tests run with go-ctrf-json-reporter
static · language_metadata · task.toml [metadata].language
Language-sliced results and leaderboards will mis-bucket this task.
Evidence
language=typescript; grade.tool_label=go-ctrf-json-reporter