fix(ci): restore evidence-only review admission - #1629
Conversation
Reapply the validated admission-only review boundary onto current protected main without reviving one-shot repair artifacts or heuristic outage-domain quotas. Remove candidate-count/account caps, price/ZDR/provider ordering, synthetic priorities, launcher route-count caps, and shared first-come escalation quota. Preserve all five bootstrap credentials while keeping OPENAI_API_KEY-derived models outside orchestrator/free candidate admission.
Preserve current protected-main OpenCode dispatch cleanup while retaining only the seven-file no-heuristics admission/runtime delta. No force push and no source-fix artifacts.
📝 WalkthroughWalkthroughStrix의 free admission 정책이 증거 기반으로 정리되었습니다. 런처는 free 풀과 one-shot preflight를 사용합니다. 카탈로그는 legacy 제한값과 priority를 적용하지 않습니다. Provider-account별 preflight 동시성과 관련 회귀 테스트, 문서, 수리 자동화가 추가되었습니다. Changes증거 기반 admission
free 런타임 preflight
수리 자동화와 실행 계약
Estimated code review effort: 5 (Critical) | ~120 minutes Sequence Diagram(s)sequenceDiagram
participant Discovery
participant ReviewPolicy
participant ReviewLauncher
participant ProviderAccount
Discovery->>ReviewPolicy: discovery rows와 비용·자격 증명 증거 전달
ReviewPolicy-->>ReviewLauncher: admission된 catalog 반환
ReviewLauncher->>ProviderAccount: provider-account lane별 preflight 전송
ProviderAccount-->>ReviewLauncher: response evidence 또는 오류 반환
ReviewLauncher-->>ReviewPolicy: preflight 결과를 catalog 순서로 기록
Merge Risk: 🟠 High · up to The current head still violates the evidence-only preflight contract, and the automated repair path can run against an unintended head or proceed from a false RED result while leaving partial changes. These issues should be resolved before merge. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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 |
|
The two red checks that are not structural on this head (
So this is the PR's remaining work against its own oracle, not a resolution defect and not the gateway. The other red checks on this head ( |
|
Fresh governance reconciliation: current head is ba9500d, not the older a436bd4 snapshot in the body; the PR is mechanically non-mergeable and still carries temporary source-fix machinery. Its own merge boundary says it is not merge-ready and must be Draft-equivalent. The previously recorded GraphQL connector defect no longer blocks the transition, so I am aligning the actual lifecycle to Draft without altering, closing, or discarding any valid evidence-only review delta. Fresh exact-head repair/check/review evidence remains required. |
|
2026-09-14 queue-saturation handoff from canonical #712/#1150: this PR's existing provider-account concurrency work is now directly relevant to a reproduced organization-level incident, but the branch is not mergeable completion evidence yet. Fresh current facts: protected Separately, #712 now shows why the valid concurrency delta matters operationally. After protected #2163 advanced review provisioning to CO This branch already contains the right shape for one causal repair: independent provider-account lanes enter preflight concurrently, routes sharing the same account remain serial, and a synchronization-barrier test proves cross-account overlap without using elapsed-time thresholds. Preserve that valid delta. The required repair order is therefore: resolve this branch's own no-heuristic RED → remove purpose-complete source-fix machinery → ordinary/non-force reconcile current protected main while preserving the concurrency contracts → exact-head GREEN/review. Do not open a competing launcher/preflight writer merely to address #712. Longer-term provider admission/routing/TTC ownership still migrates to |
Resolve #1629's stale-base conflict as an ordinary two-parent merge. Preserve protected main as the base tree, then keep the canonical owner delta for one-shot provider-default preflight, no shell inference replay, no central token/sampling/retry policy, provider-account concurrency, and current regression contracts. Do not import the stale feature copy of the product-gap baseline or ADR-0003; protected-main authority remains for those documents. The protected ADR-0029 lazy-fill proposal is retained for explicit follow-up status reconciliation rather than silently deleting its history.
chore(review): reconcile protected main into #1629
Current owner state — 2026-09-14
This PR remains the canonical central
.githubwriter for review-sidecar admission/preflight. It is Draft / not merge-ready. Protectedmainis91be6442906c7b6b4f600272c953699708394327; ordinary non-force reconciliation #2197 merged that protected delta into this branch. Current exact head isdb3d648c905d283f03fc16fbc9891ba76edd56b8, direct basemain@91be6442906c7b6b4f600272c953699708394327, open/mergeable/Draft. No predecessor check or review evidence transfers to this head.Source contract
The launcher sends one provider-default semantic compatibility observation per evidence-eligible route. Central CI does not author
max_tokens,temperature, token escalation, inference retry budgets, provider/model/group preference, or a paid fallback path. Reasoning-only / length-exhausted / malformed / transport-failed observations are bounded rejection evidence and do not allocate another model call. Both preflight and serving clients keeptimeout=Noneandmax_retries=0.Independent provider-account lanes may progress concurrently while routes sharing one credential/account remain serialized; completion order is restored to deterministic catalog order and does not become routing preference. The shell provisioner no longer performs a second
/v1/chat/completionsreplay after launcher preflight and no longer ownstemperature,max_tokens, orREVIEW_PREFLIGHT_GATEWAY_MAX_ATTEMPTS./healthzplus persisted route evidence form the provisioning readiness boundary; the actual review consumer is the first post-provisioning gateway workload.Historical fixed-token/escalation/paid-fallback/gateway-retry tests are retired structurally rather than hidden by name/prefix filtering. Purpose-complete source-rewriting workflow/trigger/repair-driver machinery remains absent. ADR-0029 remains explicitly Superseded.
Hosted RED and prerequisite ownership
Exact-head Runtime Quality
34826203993is now terminal FAILURE on a real GitHub-hosted runner. Job103918848911checked out exactdb3d648c...successfully, then failed inVerify scheduler and contextual-orchestrator review-repair contractsduring pytest collection. The review-repair suite intentionally invokes repository-wide collection while the Noema document dependency install was skipped for this changed-path selection; eleven Noema-related test modules then failed import becausescripts/ci/noema_review_document.pyrequiresdefusedxmland that dependency was absent.This is a valid workflow/dependency RED, not evidence that the repaired provider-default sidecar contract regressed. The causal dependency predicate is already canonically owned by #2170: its retained full-suite repair makes scheduler/review-repair execution install the Noema document hashed dependency lock because unscoped collection imports that path. Duplicating the same predicate here would create competing central writers and a mutable sibling dependency.
Therefore the integration order for this lane is: #2170 reaches protected
mainnormally → ordinary/non-force reconcile this branch onto that new protected tip → reacquire all exact-head Runtime Quality/security/CodeQL/review evidence. No direct #1629 copy of #2170's repair is authorized.On current
db3d648c..., SAST34826203960is terminal SUCCESS; Security34826203937, Python Security34826203915, and CodeQL34826203973remain queued. Those results become historical after the required reconciliation. State: SIDECAR_SOURCE_REPAIRED / CURRENT_MAIN_RECONCILED / HOSTED_RED_CONFIRMS_#2170_PREREQUISITE / DRAFT.Ownership and merge boundary
contextual-orchestrator#1106plus the immutable release lane own final provider discovery/credential/routing/TTC architecture. Central CI consumes the released boundary rather than becoming a second provider-policy owner.No self-approval, administrator bypass, stale evidence transfer, no-op wake commit, blind rerun, provider/paid fallback hard-code, timeout rollback, synthetic status, gate weakening, force update, or destructive rebase is authorized.