{"schema_version":1,"experiment_id":"eoa_inverse_innovation_exp09_archetype_breadth150_20260804","research_id":"eoa_inverse_innovation_exp09_light_prior_art_20260804","cell_id":"controlled_reentry__computer_science","search_lanes":{"direct_problem_and_intervention":{"queries":["IDE repository indexer out of memory restart indexing memory pressure","JetBrains indexing out of memory suspended restart indexer","repository indexing OOM recovery bounded file batches"],"source_ids":["SRC1","SRC2","SRC3"],"no_result_note":null},"synonyms_and_historical_terms":{"queries":["IDE indexing memory pressure pause resume throttling dumb mode","source code indexer incremental indexing memory limit checkpoint resume","clangd background index memory limit restart shards"],"source_ids":["SRC1","SRC2"],"no_result_note":null},"products_practices_and_standards":{"queries":["site:jetbrains.com/help indexing out of memory IDE index","indexing memory pressure reject requests official documentation Elasticsearch","OpenSearch shard indexing backpressure memory thresholds"],"source_ids":["SRC1","SRC2","SRC3","SRC4"],"no_result_note":null},"component_combination":{"queries":["adaptive batch size memory pressure hysteresis rollback admission control","indexing memory pressure reduce batch size backoff","adaptive indexing quota sampling window reject requests"],"source_ids":["SRC3","SRC4"],"no_result_note":null}},"sources":[{"source_id":"SRC1","title":"The clangd index","publisher":"LLVM Project / clangd","url":"https://clangd.llvm.org/design/indexing","source_type":"OFFICIAL_GUIDANCE","claims_supported":["clangd's background index parses all project files using a thread pool and queued compilation units.","It writes per-file cached index shards and checks those shards on startup, preserving completed indexing work across restarts.","Large-codebase indexes can impose multiple gigabytes of memory overhead, while incomplete background indexing can coexist with navigation for currently opened files."]},{"source_id":"SRC2","title":"Repair IDE","publisher":"JetBrains","url":"https://www.jetbrains.com/help/idea/repair-ide.html","source_type":"OFFICIAL_GUIDANCE","claims_supported":["IntelliJ IDEA provides an explicit stepwise recovery workflow for project caches and indexes.","Recovery can rescan files not yet analyzed while preserving broader cache state, and the user can stop after any successful step.","The workflow can escalate to dropping indexes and rebuilding the current project's index, but it is not governed by measured memory headroom."]},{"source_id":"SRC3","title":"Rejected requests","publisher":"Elastic","url":"https://www.elastic.co/docs/troubleshoot/elasticsearch/rejected-requests","source_type":"OFFICIAL_GUIDANCE","claims_supported":["Elasticsearch rejects work when indexing pressure exceeds memory limits and exposes indexing-pressure and circuit-breaker metrics.","Large indexing batches can risk out-of-memory failure; the documented response includes reducing batch size.","Rejected requests may be retried with exponential backoff, providing adjacent stop-and-retry practice under resource pressure."]},{"source_id":"SRC4","title":"Shard indexing backpressure settings","publisher":"OpenSearch Project","url":"https://docs.opensearch.org/latest/tuning-your-cluster/availability-and-recovery/shard-indexing-settings/","source_type":"OFFICIAL_GUIDANCE","claims_supported":["OpenSearch shard indexing backpressure can monitor granular metrics and reject indexing requests predicted to degrade performance.","It defines node and shard memory thresholds, dynamically adjusted quotas, request sampling windows, latency-degradation thresholds, and outstanding-request limits.","This supplies adjacent prior art for feedback-based indexing admission but not post-OOM IDE recovery or rollback of disposable parse state."]}],"problem_evidence":{"status":"PARTLY_SUPPORTED","finding":"The underlying elements are visible: repository indexing can consume multiple gigabytes, queued per-file work and durable index shards exist, incomplete indexes affect available code intelligence, and excessive indexing batches can create OOM risk that warrants rejection or smaller batches. The retained sources do not directly document the proposal's exact repeated IDE cycle in which full-frontier resubmission after a memory-guard shutdown causes another shutdown.","source_ids":["SRC1","SRC2","SRC3"]},"closest_prior_art":[{"name":"Elasticsearch memory-pressure rejection, reduced batch size, and retry backoff","source_ids":["SRC3"],"overlap":"Combines indexing-pressure observation, admission rejection, OOM-aware batch reduction, and delayed retry.","remaining_difference":"It does not define a separate post-shutdown recovery state that begins with a representative probe, preserves IDE index segments, expands after consecutive stable headroom windows, and discards only an active uncommitted parse batch on rollback."},{"name":"clangd queued background indexing with persistent per-file shards","source_ids":["SRC1"],"overlap":"Divides repository indexing into file-level work, queues compilation units, commits reusable shards, and avoids repeating completed work after restart.","remaining_difference":"The documented coordinator does not enter memory-guard recovery, gate reentry on protected headroom, progressively enlarge batches, or retreat using a distinct rollback threshold."},{"name":"IntelliJ IDEA stepwise index-repair workflow","source_ids":["SRC2"],"overlap":"Establishes a distinct recovery workflow, preserves unaffected cache state, rescans unanalyzed files, and escalates recovery in steps.","remaining_difference":"Progress is manually judged from functional symptoms rather than memory signals; it lacks bounded probe batches, automatic hysteresis, and cancellation of disposable parse state after an OOM-risk signal."},{"name":"OpenSearch shard indexing backpressure","source_ids":["SRC4"],"overlap":"Uses memory limits, dynamic quotas, sampled performance signals, and request rejection to control indexing load.","remaining_difference":"It is ongoing distributed-search admission control rather than recovery-specific reentry after an IDE memory shutdown, and it does not preserve a prior repository index while rolling back an uncommitted probe."}],"prior_art_disposition":"ADJACENT_PRIOR_ART","contrastive_claim_remaining":"After an IDE indexer's memory guard trips, restoration enters a distinct recovery-only state that combines preserved committed index shards with a disposable bounded file probe, requires two stable memory-headroom windows before expanding admitted scope, and automatically cancels the active uncommitted batch and retreats at a separate rollback threshold. The retained sources disclose the principal ingredients separately, but not this recovery-specific combination.","contrastive_claim_falsifier":"The contrastive claim would be falsified by documentation, implementation, research, or a product issue showing that a repository indexer specifically recovering from OOM or a memory-guard trip admits bounded file probes, expands only after sustained headroom observations, and cancels and discards only uncommitted indexing state on a distinct retreat threshold. It is also technically falsified if repository-global allocation is substantially independent of admitted batch size or cancellation fails to recover the protected reserve.","gates":{"adequate_source_search":{"status":"PASS","rationale":"The light screen covered the proposal directly, synonyms and older operational terms, named IDE and indexing products, and combinations involving batching, backpressure, memory thresholds, retry, persistence, and rollback. Exactly four opened official sources from four publishers were retained.","source_ids":["SRC1","SRC2","SRC3","SRC4"]},"supported_problem":{"status":"PASS","rationale":"Official sources support the component problem of memory-intensive repository indexing, durable partial work, incomplete-index effects, and OOM risk from large indexing batches, although the exact repeated post-guard failure sequence is only partly supported.","source_ids":["SRC1","SRC2","SRC3"]},"distinct_testable_claim":{"status":"PASS","rationale":"Recovery-only state, declared probe size, protected reserve, two-window advance condition, distinct rollback threshold, batch cancellation, and preservation of committed segments are observable and jointly distinguish the claim from the retained adjacent practices.","source_ids":["SRC1","SRC2","SRC3","SRC4"]},"bounded_next_test":{"status":"PASS","rationale":"A single isolated replay limited to at most 25 declared files and one fixed observation window can measure memory level and slope, reclamation, garbage-collection pauses, completion, cancellation, reserve restoration, and committed-index consistency without advancing to later stages.","source_ids":["SRC1","SRC3","SRC4"]},"no_obvious_safety_or_authority_stop":{"status":"PASS","rationale":"The proposed first test is restricted to an isolated workspace copy and local indexing-task control, preserves source files and the prior committed index, exposes partial status, and halts automatically on reserve loss, cancellation failure, unresponsiveness, or consistency failure. No retained source indicates an authority or safety prohibition.","source_ids":["SRC1","SRC2"]}},"screen_survival":true,"world_novelty_boundary":"This bounded four-source public-web screen supports only a coarse adjacent-prior-art disposition. It cannot establish world novelty, patentability, freedom to operate, market size, expert acceptance, production safety, or realized value; patent databases, source repositories, issue trackers, academic literature, and additional vendor implementations may contain closer art."}