fix(strix): continue all-429 startup failures at admission boundary - #2448
Conversation
|
Warning Review limit reachedNext included review available in 9 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (4)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
seonghobae
left a comment
There was a problem hiding this comment.
Independent read-only technical review receipt for exact head bcd182c449fc95c06c6801bd1c1c696de3a503d3 / base 23f36cd56fbe245a06e7a9727cb28d9511154645. Reviewer: separate FMLS audit session, Orca receipt msg_0933b2e8b115. This COMMENT attributes the reviewer's findings; it is not self-approval or a GitHub APPROVED review.
Independent read-only technical review #2448
Head: bcd182c
Base: 23f36cd
Verdict: no blocking defect found in requested source chain. This is not GitHub approval, deployment acceptance, or merge authorization.
Source trace
- strix.yml:789,814-820: actual failed sidecar step invokes trusted noema_preflight_capacity.py CLI; report path matches sidecar.sh:28,236. Stale report removed before launch (799-809).
- classifier:45-91,94-109: strict integer ready=0/probed>=1, exact route count, rejected/deferred integer429 only; primary fallback also all429. Missing/malformed/linked/nonregular/oversized evidence ineligible.
- classifier:112-159 and noema_transport_redispatch.py:9-56: typed outputs, canonical SHA, missing counter0, invalid counter exhausts;0->1->2,2 not eligible; provider wait1..300 or deterministic60..180 jitter.
- strix.yml:370-376 exports only outputs; original job failure remains failure.
- strix.yml:1424-1451: independent no-checkout write job; requires admission, original failure, capacity=true, eligible=true, not cancelled. contents:write and PR:read only; no model inputs/provider secrets. GH_TOKEN prefers existing central dispatch secret; consumer github.token fallback cannot itself authorize central repo, so missing credential fails visibly.
- strix.yml:1454-1506: organization/origin/number/head/base validation; delay<=300,next attempt1|2; after delay GET livePR and compares head+repo,base+repo+ref,strict draft==false,open. Mismatch retires without POST. Valid path sends one central strix-scan with same identity and incremented attempt; existing admission rechecks target.
Independent executed verification
PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 PYTHONDONTWRITEBYTECODE=1 python3 -B -m pytest -q -p no:cacheprovider tests/test_strix_preflight_continuation.py tests/test_noema_preflight_capacity.py
Exit0:47 passed in2.86s. Actual classifier CLI and extracted dispatch shell exercised with GitHub/sleep stubs; no external requests.
actionlint .github/workflows/strix.yml: exit0, no diagnostics.
git status --porcelain=v1: empty; exact head unchanged.
Limits
No REST/API query, workflow dispatch, source edit, approval, or merge performed. Prior115contract tests/hosted47 test claims not independently rerun. Live credentials, runner scheduling, actual429 continuation dispatch and completed security verdict unverified. Two-continuation bound applies per dispatch chain; fresh operator/scheduler invocations reset initial budget and are not globally deduplicated by this patch. No finding requiring source change in the requested scope.
Receipt msg_f254fb6c51f9 read: #2440 all429 startup repair is not proof for #2148 HTTP502; #2157 bootstrap success is a different exacthead/gate; A2 bypass scope still UNKNOWN. Existing FMLS Goal status unchanged.
Explicit bypass/deployment receiptMerged #2448 at 2026-09-27 14:19:50Z using user-authorized, head-matched Reviewed head: Separate read-only audit session found no blocker in the source chain and independently executed 47 classifier/dispatch tests + actionlint. Its report is attributed in the COMMENT review; no self-approval was issued. Immediately before merge, live GraphQL showed zero unresolved threads (complete page), mergeable, zero required formal approvals, strict 12 required check contexts, and active Lock default branch rules (deletion/non-fast-forward/pull-request). Merge state was BLOCKED: required checks remained queued, with cancelled/skipped entries also present. Those gates were explicitly bypassed, not passed. No ruleset/protection changes, review dismissal, or force push occurred. Purpose: recover observed all-429 startup capacity failures at a separate bounded admission boundary while retaining failed scan/security-status evidence. Main source integration is now confirmed. Actual provider recovery, hosted current-head continuation, and completed security verdict remain unverified. Local main validation is the next step and cannot establish hosted acceptance. |
Root cause
Strix all-429 sidecar startup failures occur before model-gate retries can run. Exact failed jobs: late-life-anxiety-reanalysis #257 job108504580446 and #269 job108303563901. All selected routes were HTTP429, ready0; this is capacity loss, not a security verdict.
Repair
Reuse the existing stdlib preflight classifier from #2440. Preserve failed scan/status evidence and export typed recovery outputs to a separate no-checkout job with Contents write. It validates the live open/Ready PR repository, head, base SHA and base ref before issuing one native strix-scan payload. Existing two-attempt budget, malformed-counter exhaustion and bounded jitter are retained. No ZDR/gateway/model-timeout change.
Verification
115 affected tests passed before the final CLI correction; the workflow classifier call itself now has an execution regression, and 47 classifier/dispatch tests passed after correction. actionlint and diffcheck pass. This proves local behavior only. Hosted review and same-head runtime recovery remain unverified. ADR extension remains Proposed.
Review
Please inspect the exact new head, including the classifier CLI connection, isolated write authority, live metadata binding, and cancellation/attempt budget. No old approval or queued check establishes acceptance.