Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
1d7c7dc
feat(evaluation): add optional current-run retry API contract
xueyizheng Oct 20, 2026
ac874c8
feat(evaluation): preserve retry metadata and protect run writers
xueyizheng Oct 20, 2026
586831d
chore(evaluation): regenerate retry foundation repository mocks
xueyizheng Oct 20, 2026
577da46
feat(evaluation): support current run retry with frozen execution and…
xueyizheng Oct 20, 2026
a7b73ac
feat(evaluation): refresh current item filters under execution locks …
xueyizheng Oct 20, 2026
ea1566a
feat(evaluation): fence central dispatch transitions by current item …
xueyizheng Oct 20, 2026
2669dd5
feat(evaluation): bind consumer quota guards to original item request
xueyizheng Oct 21, 2026
a617821
feat(evaluation): finish current offline run atomically and replay cl…
xueyizheng Oct 21, 2026
7f810d4
[fix][evaluation] guard impossible quota failure against item takeover
xueyizheng Oct 21, 2026
59405db
[feat][evaluation] bind standard result reads to current execution so…
xueyizheng Oct 21, 2026
c96c01a
[fix][evaluation] finish cancellation on current run and clean origin…
xueyizheng Oct 21, 2026
2ac2134
[fix][evaluation] read stable item sources with NDB compatible transa…
xueyizheng Oct 21, 2026
403060b
fix(evaluation): preserve idempotent item complete contract
xueyizheng Oct 21, 2026
f789b8f
fix(evaluation): support current-run retry for single-set experiments
xueyizheng Oct 21, 2026
538230f
fix(evaluation): compare retry materialization against stored version…
xueyizheng Oct 22, 2026
4dbfabf
fix(evaluation): retain retry compatibility with awaited sandbox cleanup
xueyizheng Oct 22, 2026
c29aef7
fix(evaluation): honor explicitly frozen zero retry budget
xueyizheng Oct 22, 2026
965833c
fix(evaluation): preserve canonical turns when reading repeated data
xueyizheng Oct 23, 2026
d9f33d4
fix(evaluation): keep current run ticking while finish calibration is…
xueyizheng Oct 23, 2026
e54a451
fix(evaluation): propagate accelerated filter errors
xueyizheng Oct 26, 2026
b720552
Revert "fix(evaluation): propagate accelerated filter errors"
xueyizheng Oct 26, 2026
0bc0ac4
test(evaluation): keep finish tick fixture within run lifetime
xueyizheng Oct 26, 2026
5540f0f
[fix][evaluation] finish manual retry after filter save acknowledgement
xueyizheng Oct 26, 2026
fd4a4f7
[fix][evaluation] resolve OSS CI lint inventory
xueyizheng Oct 26, 2026
0ee5c58
[style][evaluation] clear remaining uncapped OSS lint findings
xueyizheng Oct 26, 2026
c45793e
[fix][evaluation] preserve explicit zero retry on experiment creation
xueyizheng Oct 26, 2026
671fd9d
[ci][evaluation] retry transient PR title API failure
xueyizheng Oct 26, 2026
7fb77df
test(evaluation): cover running retry branches and execute database CI
xueyizheng Oct 27, 2026
440f0af
[test][evaluation] align rebased callback fixture with frozen source
xueyizheng Oct 28, 2026
6a3d81c
[feat][evaluation] expose current-run retry receipts in OpenAPI
xueyizheng Oct 29, 2026
69e7d91
[test][evaluation] align early sandbox callback with retry source lookup
xueyizheng Oct 29, 2026
6eb0dd9
fix(evaluation): keep run-log lookup by run id when expt id is unknown
xueyizheng Oct 30, 2026
c01beb2
fix(evaluation): unblock large failure-set retries and non-offline re…
xueyizheng Oct 30, 2026
1c3001c
chore(evaluation): register identity_required in errorx source and re…
xueyizheng Oct 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 46 additions & 1 deletion .github/workflows/backend-ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,30 @@ jobs:
defaults:
run:
working-directory: ./backend
services:
mysql:
image: mysql:8.0
env:
MYSQL_ROOT_PASSWORD: root
MYSQL_USER: cozeloop
MYSQL_PASSWORD: cozeloop
MYSQL_DATABASE: expt_running_retry_test
ports:
- 3306:3306
options: >-
--health-cmd "mysqladmin ping -h 127.0.0.1 -ucozeloop -pcozeloop"
--health-interval 5s
--health-timeout 5s
--health-retries 20
redis:
image: redis:8.2.0
ports:
- 6379:6379
options: >-
--health-cmd "redis-cli ping"
--health-interval 5s
--health-timeout 5s
--health-retries 10
steps:
- name: Checkout code
uses: actions/checkout@v4
Expand All @@ -60,12 +84,33 @@ jobs:
with:
go-version: "1.24.0"

# Service containers start before checkout, so the init SQL (which lives
# in the repository) is applied here instead of via initdb.d.
- name: Initialize MySQL schema
run: |
set -euo pipefail
loaded=0
for f in ../release/deployment/docker-compose/bootstrap/mysql-init/init-sql/*.sql; do
docker exec -i -e MYSQL_PWD=cozeloop "${{ job.services.mysql.id }}" \
mysql --protocol=TCP -h 127.0.0.1 -ucozeloop expt_running_retry_test < "$f"
loaded=$((loaded + 1))
done
echo "initialized ${loaded} schema files in expt_running_retry_test"
# Lock-observation tests read performance_schema.data_locks, which the
# application user cannot see without an explicit read grant.
docker exec -i -e MYSQL_PWD=root "${{ job.services.mysql.id }}" \
mysql --protocol=TCP -h 127.0.0.1 -uroot \
-e "GRANT SELECT ON performance_schema.* TO 'cozeloop'@'%'; FLUSH PRIVILEGES;"

- name: Build
run: go build -v ./...

- name: Run Unit Tests
env:
EXPT_RETRY_MYSQL_DSN: "cozeloop:cozeloop@tcp(127.0.0.1:3306)/expt_running_retry_test?charset=utf8mb4&parseTime=True&loc=Local"
EXPT_RETRY_REAL_REDIS_ADDR: "127.0.0.1:6379"
run: |
go test -gcflags="all=-N -l" -race -v -coverprofile=coverage.out -coverpkg=./... ./...
go test -gcflags="all=-N -l" -race -v -timeout 45m -coverprofile=coverage.out -coverpkg=./... ./...

- name: Upload Coverage to Codecov
uses: codecov/codecov-action@v5
Expand Down
77 changes: 77 additions & 0 deletions backend/kitex_gen/coze/loop/evaluation/domain/expt/expt.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

53 changes: 53 additions & 0 deletions backend/kitex_gen/coze/loop/evaluation/domain/expt/k-expt.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading