{"schema_version":1,"experiment_id":"eoa_inverse_innovation_exp09_archetype_breadth150_20260804","research_id":"eoa_inverse_innovation_exp09_light_prior_art_20260804","cell_id":"circuit_breaker__computer_science","search_lanes":{"direct_problem_and_intervention":{"queries":["dependency update bot CI retry rebase superseded build merge queue overload","Renovate Dependabot rebase retries CI queue overload","dependency update bot retry storm CI merge queue circuit breaker"],"source_ids":["SRC1","SRC2","SRC3"],"no_result_note":null},"synonyms_and_historical_terms":{"queries":["CI thundering herd automated pull requests stale builds superseded builds","continuous integration retry amplification congestion collapse","merge queue requeue timeout reset repeated CI builds"],"source_ids":["SRC3","SRC4"],"no_result_note":null},"products_practices_and_standards":{"queries":["Renovate bot concurrent PR limit rebase queue CI load official documentation","GitHub merge queue build concurrency limit timeout checks queue official","Mergify merge queue pause CI timeout retry limit queue checks"],"source_ids":["SRC1","SRC2","SRC3"],"no_result_note":null},"component_combination":{"queries":["CI admission control hysteresis half-open canary retry overload","merge queue backpressure bot traffic representative probes","circuit breaker repeated timeouts retries overload half-open recovery"],"source_ids":["SRC2","SRC3","SRC4"],"no_result_note":"No retained source described the complete combination of dependency-bot classification, joint saturation-and-retry-amplification opening, clean rejection with Retry-After, preservation of acknowledged work, hysteresis, and stratified half-open probes."}},"sources":[{"source_id":"SRC1","title":"Configuration Options","publisher":"Renovate","url":"https://docs.renovatebot.com/configuration-options/","source_type":"FIRST_PARTY_PRODUCT","claims_supported":["Renovate documents that a large burst of bot pull requests can overwhelm CI and that rebases after merges can generate many test runs.","Renovate provides per-repository static controls including hourly PR creation limits and concurrent PR limits.","These controls are rate or concurrency limits rather than a saturation-triggered breaker with half-open recovery probes."]},{"source_id":"SRC2","title":"Managing a merge queue","publisher":"GitHub","url":"https://docs.github.com/en/enterprise-cloud@latest/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-a-merge-queue","source_type":"FIRST_PARTY_PRODUCT","claims_supported":["GitHub merge queues create temporary merge-group branches and require CI checks before merging.","Administrators can throttle concurrent merge-group CI builds and configure status-check timeouts and merge limits.","The documented controls apply to the merge queue generally and do not describe overload-triggered admission interruption specifically for dependency-update automation or representative half-open probes."]},{"source_id":"SRC3","title":"Pull Request Lifecycle","publisher":"Mergify","url":"https://docs.mergify.com/merge-queue/lifecycle/","source_type":"FIRST_PARTY_PRODUCT","claims_supported":["Mergify reruns CI against temporary merge commits, and stuck CI jobs or provider outages can block a queue until a check timeout applies.","Mergify supports bounded automatic CI retries; every retry recreates a draft pull request and triggers a fresh CI run.","A base-branch update can reset queue processing, and failed or timed-out pull requests can be requeued, demonstrating mechanisms that create repeated validation work.","The documented retry cap, adaptive timeout, reset control, and requeue behavior do not form the proposal's targeted saturation-and-amplification circuit breaker."]},{"source_id":"SRC4","title":"Circuit breaker pattern","publisher":"Amazon Web Services","url":"https://docs.aws.amazon.com/prescriptive-guidance/latest/cloud-design-patterns/circuit-breaker.html","source_type":"OFFICIAL_GUIDANCE","claims_supported":["AWS states that repeated retries following timeouts or failures can consume constrained resources and exacerbate performance degradation.","The circuit-breaker pattern opens after failures exceed a threshold, returns immediate failures while open, and periodically tests recovery before closing.","This is close mechanism-level prior art but is generic service-call guidance, not a dependency-update merge-queue policy with protected traffic, joint retry-and-saturation sensing, or stratified CI probes."]}],"problem_evidence":{"status":"PARTLY_SUPPORTED","finding":"The component problem is visible: Renovate explicitly warns that dependency-bot PR bursts can overwhelm CI and that rebases generate additional test runs; GitHub and Mergify document finite merge-queue concurrency, check timeouts, queue resets, requeues, and retries that trigger fresh CI work; AWS documents the general retry-overload feedback mechanism. The retained sources do not directly measure the proposal's full causal episode—dependency-bot retry amplification prolonging a shared queue and delaying unrelated human changes—so support is partial rather than complete.","source_ids":["SRC1","SRC2","SRC3","SRC4"]},"closest_prior_art":[{"name":"Renovate hourly and concurrent PR limits","source_ids":["SRC1"],"overlap":"Targets dependency-update automation and limits the rate or number of bot-created pull requests to prevent CI overload.","remaining_difference":"Static per-repository limits do not open from joint saturation and logical-retry amplification, preserve and prioritize already acknowledged shared work through an explicit state transition, or recover through stratified half-open probes."},{"name":"GitHub merge-queue build concurrency and check timeout","source_ids":["SRC2"],"overlap":"Throttles concurrent CI builds at the merge-queue controller and bounds how long the queue waits for required checks.","remaining_difference":"The controls are queue-wide configuration values, not an adaptive admission boundary isolating dependency-bot refreshes, rebases, and reruns while protecting human traffic."},{"name":"Mergify adaptive check timeout, retry cap, reset control, and requeue lifecycle","source_ids":["SRC3"],"overlap":"Directly governs repeated CI validation in a merge queue, caps automatic retries, adapts timeouts from observed runtimes, and exposes reset/requeue behavior.","remaining_difference":"It manages individual validation attempts and failures but does not document a breaker opened by aggregate saturation plus retry amplification, clean overload rejection with Retry-After, hysteretic recovery, or representative probes across repository and test-cost strata."},{"name":"Generic circuit breaker pattern","source_ids":["SRC4"],"overlap":"Interrupts repeated calls after thresholded failures, fails fast while open, and tests downstream recovery before restoring traffic.","remaining_difference":"It is generic caller-callee prior art and does not supply the domain-specific traffic classifier, shared merge-queue protection objective, stable logical-update deduplication signals, or stratified CI canary policy."}],"prior_art_disposition":"ADJACENT_PRIOR_ART","contrastive_claim_remaining":"For dependency-update admissions sharing CI capacity with protected work, a controller that opens only when both saturation and logical-update retry amplification persist, cleanly rejects only new bot refresh/rebase/rerun requests while preserving acknowledged jobs, and reopens through repository/ecosystem/test-cost-stratified probes will reduce redundant scheduled work and protected-traffic queue-drain time more than static bot quotas, queue-wide concurrency limits, or per-PR retry caps under matched workload traces, without bypassing required validation.","contrastive_claim_falsifier":"The claim is falsified if trace replay or an authorized canary shows no material reduction in redundant runner time or protected-traffic queue-drain time versus the best static-limit or retry-cap comparator; if duplicate bot admissions contribute negligible scheduled load before backlog onset; if bots evade rejection through alternate endpoints; if representative probes fail to predict restored-load behavior; or if the classifier rejects protected traffic or causes harmful oscillation.","gates":{"adequate_source_search":{"status":"PASS","rationale":"The bounded search covered direct phrasing, synonyms and older overload terminology, product practices, and component combinations. Exactly four opened direct sources from four publishers were retained, including first-party product documentation and official guidance. This is adequate for a coarse screen, not an exhaustive prior-art search.","source_ids":["SRC1","SRC2","SRC3","SRC4"]},"supported_problem":{"status":"PASS","rationale":"First-party documentation supports CI overload from dependency-bot PRs and rebases, finite merge-queue capacity, and repeated CI work from retries, resets, and requeues; generic official guidance supports retry-driven resource amplification. The specific cross-traffic cascade remains only partly evidenced.","source_ids":["SRC1","SRC2","SRC3","SRC4"]},"distinct_testable_claim":{"status":"PASS","rationale":"The remaining claim distinguishes the proposal by joint saturation-and-amplification sensing, dependency-bot-specific admission interruption, acknowledged-work preservation, hysteresis, and stratified half-open recovery. Outcomes can be compared against static quotas, queue concurrency, and retry caps using redundant runner time, drain time, classification errors, and oscillation.","source_ids":["SRC1","SRC2","SRC3","SRC4"]},"bounded_next_test":{"status":"PASS","rationale":"A fixed ten-working-day read-only shadow evaluation with preregistered thresholds and stable logical-update identifiers is bounded and reversible. Offline replay can compare hypothetical targeted rejection with observed ordering and documented control baselines before any production enforcement.","source_ids":["SRC1","SRC2","SRC3"]},"no_obvious_safety_or_authority_stop":{"status":"PASS","rationale":"The proposed first step is read-only and within a CI platform or repository administrator's operational authority. It preserves required checks and acknowledged jobs and specifies rollback on misclassification, oscillation, or instrumentation effects. Production rejection would still require validated identity classification and explicit owner authorization.","source_ids":["SRC1","SRC2","SRC3","SRC4"]}},"screen_survival":true,"world_novelty_boundary":"This bounded public-web screen found adjacent mechanisms and practices but no retained source for the complete domain-specific combination. It cannot establish world novelty, patentability, market size, expert acceptance, or realized value."}