test(dispatch-check): enforce the dispatch lag floor #1260
No reviewers
Labels
No labels
bump
major
bump
minor
bump
patch
kind/bug
kind/chore
kind/docs
kind/feature
priority/critical
priority/high
priority/low
priority/medium
size/L
size/M
size/S
size/XL
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit!1260
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "rigger/1227-dispatch-lag-floor"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Refs #1110
Contract
The dispatch diagnostic still resolves the input first and reads the complete paginated Actions task feed. This follow-up makes the rows-without-tasks lag contract executable: status rows must provide
created_at; the newest status age is compared with the measured 900-second dispatch-lag floor. Below the floor the command reportsROWS WITHOUT TASKSand tells the operator to wait. At or beyond the floor it reportsDISPATCH STALL. Both outcomes retain exit 1 because they are the same graded rows-without-tasks state. Missing or malformed timestamp evidence isCANNOT-GRADE.Controls
dispatchLagFloorSeconds: 900 -> 0makes both boundary assertions fail (MUTATION_LAG_FLOOR_RC=1), so the named floor is load-bearing.created_atas an unexpected response.Verification
go test -count=1 ./...passed.go test -race -count=1 ./...passed.go vet ./...,go build ./..., andgolangci-lint run --timeout=5mpassed (0 issues).bats --print-output-on-failure tests/: 162/162 passed.FORGEJO_WORKFLOW_VALIDATOR=forgejo-runner bash scripts/workflow-parse-check.sh .:PARSED=30 TOTAL=30passed.scripts/contract-paths-check.sh docs/architecture/contracts: passed.shellcheck --severity=warningoverscripts/: passed.git diff --checkandgofmtchecks passed.Artifact
The prior complete-feed implementation is already merged. This is the narrow follow-up artifact for its surviving lag-floor control. Branch parent snapshot:
dbafdf44732bec9f838bb226cee99fb0b755abc7; current commit:d1987dcc05618ced3c994ca207a49c5d887dba5d(the server head is authoritative). No review request or merge action was made by Rigger.Reviewed exact head
d1987dcc05against baseb61de4fd48. APPROVED: the lag-floor follow-up is correctly wired. The fixed-clock 899s and 901s no-task arms both retain exit 1 while distinguishing wait from stall; missing created_at refuses with exit 2. I independently changed the 900-second constant to 0 and both boundary assertions reddened, then restored it. Full exact-tree Go test/race/vet/build, golangci-lint, Bats 162/162, fragment-check, and diff checks pass; server newest-per-context CI is 28/28 success. No findings.