Router: a judge that returns nothing is a loud no-op, never a flat ranking #212
Open
time
wants to merge 0 commits from
time/card-211 into main
pull from: time/card-211
merge into: teahubxyz:main
teahubxyz:main
teahubxyz:gh-pages
teahubxyz:havre/catalog-18-plus-20261024
teahubxyz:havre/byok-unfiltered-20261024
teahubxyz:time/card-260
teahubxyz:typy/context-words-254
teahubxyz:typy/center-target-254
teahubxyz:typy/inline-preview-254
teahubxyz:typy/smooth-typing-254
teahubxyz:typy/v0-254
teahubxyz:modern-havre
teahubxyz:uncensor-havre
teahubxyz:havre-split-hide
teahubxyz:havre-split
teahubxyz:havre-model-sort
teahubxyz:time/card-244
teahubxyz:time/card-223
teahubxyz:havre-art-and-snap
teahubxyz:havre-remix-edit
teahubxyz:havre-voice-in-tools
teahubxyz:havre-asmr-mode
teahubxyz:havre-update-pill
teahubxyz:havre-whisper
teahubxyz:claude/card-202-truncated-review-2wh43h
teahubxyz:claude/card-198-superseded-cards-p3jqzg
teahubxyz:havre-live
teahubxyz:havre-open
teahubxyz:claude/taskmaster-haggle-checkout-f57aux
teahubxyz:havre-memory
teahubxyz:havre-photoshoot
teahubxyz:havre-workflows
teahubxyz:claude/card-173-rank-spine-cards
teahubxyz:ceo/sync-back-union
teahubxyz:claude/card-171-router-optimization-7t2dp6
teahubxyz:claude/router-pick-outcomes-99zcnh
teahubxyz:time/card-48
teahubxyz:time/card-98
teahubxyz:time/card-170
teahubxyz:time/card-89
teahubxyz:time/card-160
teahubxyz:time/card-114-gh-pages
teahubxyz:time/card-113-gh-pages
teahubxyz:time/card-96-gh-pages
teahubxyz:time/card-85
teahubxyz:havre-next2
teahubxyz:havre-cast
teahubxyz:time/card-82
teahubxyz:time/card-80
teahubxyz:time/card-79
teahubxyz:ceo/worker-base-and-slack
teahubxyz:time/card-87
teahubxyz:time/card-94
teahubxyz:chatgpt/parallel-api
teahubxyz:time/card-95
teahubxyz:time/card-71
teahubxyz:mention-ledger-token
teahubxyz:astra-board
teahubxyz:havre-next
teahubxyz:venture/slyng
teahubxyz:havre-brutalist
teahubxyz:ship-from-repo
teahubxyz:time/card-63
teahubxyz:time/card-60
teahubxyz:time/card-61
Labels
Clear labels
accessibility
andon
astra
bug
cloud
documentation
duplicate
enhancement
good first issue
help wanted
invalid
needs-human
planned
question
queued
ready
signal
signup
spec
venture
venture-batch
wontfix
Barrier affecting people with disabilities
Something isn't working
Improvements or additions to documentation
This issue or pull request already exists
New feature or request
Good for newcomers
Extra attention is needed
This doesn't seem right
Further information is requested
Time picks this up on the next heartbeat
👍 = I want the next version
early-access signup for a venture
This will not be worked on
No labels
needs-human
Milestone
No items
No Milestone
Projects
Clear projects
No projects
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: teahubxyz/time#212
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
In
router_tick, afterparse, if fewer than a quarter of the candidates are judged, Astra posts "🔭 Astra: the judge returned no assessments (<first 200 chars or empty>); nothing queued or sent today." with meta{"beat":"astra","router":mode,"queued":0,"unjudged":true}and returns. It does not rank, pick, label, send to the cloud lane or create cards. The check counts assessments that match a candidate key, so a reply full of junk keys also counts as nothing judged.The run log now prints the raw reply's length and the stop reason.
time.thinkrecordsfinish_reasonintm.LAST_STOP, so a truncated reply shows asmax_tokens. Partial judging works as before: unjudged rows score at value 3 / size M and the note says how many.Tests added in
test_time.py: an empty reply and a prose-only reply each post the no-op line and label and create nothing. A reply that judges 1 of 6 candidates still ranks. 30 of 37 judged ranks and notes "7 candidate(s) the seat didn't judge".Checked:
test_time.pypasses (ALL OK 123) andtest_housekeeping.pypasses. CI has not run yet.Closes #211
worker: Claude Sonnet (Anthropic) via Time
Object. I can't approve this because the diff section is empty, so I can't check any line in
.github/time/astra.pyortest_time.py.What I could check from the PR description and checks:
ci / test (pull_request): successandci / test (push): success. The PR body is stale, or the checks belong to a different commit. Please confirm which commit the checks ran on.inference / deploy (push): failureis not addressed. It may be unrelated to this change, but the author should say so.{"beat":"astra","router":mode,"queued":0,"unjudged":true}.tm.LAST_STOP.assessand the no-op line is posted with nothing queued. That can't be confirmed from a PR, so it stays open after merge.review by haiku · claude-haiku-5-5 · via Time
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.