Automate triage reviews and add a LiveKit skill
A bare /codetrial-triage now acts on the PRs it grades: a conflicting PR gets the fixed rebase text as a Request changes review, hygiene.sh posts one fixed-text Request changes review for the recurring requests maintainers type by hand (make hooks, make indent, merge commits, a fork's main, agent co-author trailers, CI regressions, missing screenshots), and each low or blocked PR gets a multi-agent review whose verified findings post-inline.sh posts inline. A request a maintainer already made at the current head is never repeated.
codetrial-livekit covers the Rust interviewer's side of LiveKit, and scripts/check-skill-routing.py checks that each request routes to the skill that owns it; the full query set routes 96 of 96 runs correctly.
Validated with scripts/test.sh portable, the skill-script tests (each new rule mutation-checked), and read-only sweeps over the open PRs.
Summary by cubic
A bare /codetrial-triage now acts on the PRs it grades instead of only listing them: a conflicting PR gets the fixed rebase text as a Request changes review, hygiene.sh posts one fixed-text Request changes review for the recurring requests maintainers type by hand, and each low or blocked PR gets a multi-agent review whose verified findings post-inline.sh posts inline. A request a maintainer already made at the current head is never repeated, including one made on a line of the head.
The sweep's reviewer runs with the maintainer's GitHub token nulled so a prompt injection in a contributor's diff cannot post or approve. A similar-work mirror is posted only to an open PR; a pair skipped because a head moved stays out of the ledger and is retried next sweep. The rebase recheck reads per reason: a conflicts entry needs CONFLICTING at the same head, a stale_base entry only the head.
New Features
codetrial-livekitcovers the Rust interviewer's room loop, join tokens, agent dispatch, egress, and upgrading the LiveKit crates.scripts/check-skill-routing.pyverifies each request inscripts/skill-routing-queries.jsonroutes to the skill that owns it; the full query set routes 96 of 96 runs correctly, and a run count below one or a launch failure fails plainly.- A failed
hygiene.shrun is skipped and reported as unchecked, never posted, and a review's summary waits until every finding landed.