{"schema_version":1,"experiment_id":"eoa_inverse_innovation_exp09_archetype_breadth150_20260804","cell_id":"flow_diversion_or_rerouting__computer_science","arm":"BREADTH_PROBE_ONE_SHOT","candidate_id":"flow_diversion_or_rerouting__computer_science__P1","proposal_index":1,"version":0,"title":"Capability-Constrained Detour for IDE Semantic Queries During Index Rebuilds","problem":"An IDE language service normally routes read-only developer queries such as symbol lookup, hover information, and local reference search through a project-wide semantic index. While that index is rebuilding, locked, or known stale, all such queries queue behind the impaired path even though a source-local parser and per-file symbol table can answer a defined subset without using the index.","actors":["Developer using the IDE","IDE query router","Project-wide semantic index service","Source-local parser and per-file symbol-table service","Language-tooling operator"],"observable_state":"The router observes an unhealthy index path through rebuild state, lock-wait time, index-generation age, or repeated deadline expirations; meanwhile, queued requests carry operation type, file scope, required consistency level, and document version, allowing the router to identify requests answerable from current local state.","consequence":"Eligible interactive queries stall or time out behind an impaired shared index path, interrupting editing even though a narrower viable computation path exists; indiscriminate diversion could instead return incomplete or stale semantic answers.","affected_objective":"Preserve responsive, semantically bounded interactive code assistance while maintaining declared consistency and provenance for every returned answer.","intervention":"At the language-service boundary, activate a temporary bypass rule when the project-wide index path is unhealthy. Divert only allowlisted, read-only, file-scoped queries whose required semantics are supported by the source-local parser and whose document-version token matches the open buffer. Tag each diverted response with its computation path and semantic scope, cap diverted concurrency, monitor local-path latency and error signals, and return queries to the indexed path only after a stability window. Queries requiring cross-file completeness remain queued, explicitly unavailable, or handled by existing policy rather than being silently approximated.","structural_mapping":[{"archetype_element":"Identifiable flow","domain_realization":"Versioned IDE semantic-query requests moving from editor clients toward an answer-producing computation path."},{"archetype_element":"Problematic current path","domain_realization":"The project-wide semantic index route while it is rebuilding, locked, stale beyond policy, or repeatedly missing its deadline."},{"archetype_element":"Path health signal","domain_realization":"Index rebuild status, generation age, lock-wait time, and deadline-error observations available to the query router."},{"archetype_element":"Alternate viable path","domain_realization":"The source-local parser and per-file symbol table, limited to operations for which they preserve the declared answer contract."},{"archetype_element":"Routing boundary and rule","domain_realization":"The language-service dispatcher checks request capability, consistency requirement, document version, and both paths' health before selecting a route."},{"archetype_element":"Destination or function invariant","domain_realization":"The developer receives an answer satisfying the operation's declared semantic scope, or an explicit unavailability result rather than an unmarked approximation."},{"archetype_element":"Feedback and route revision","domain_realization":"Per-path latency, mismatch, overload, and freshness signals can stop diversion or permit controlled reentry to the index path."}],"mechanism_mapping":[{"mechanism_slug":"bypass_routing","role":"Substitutes the source-local computation route for the impaired index segment on individually eligible requests, without transferring the whole language service or distributing healthy traffic for utilization.","counterfactual_removal":"Without path substitution, eligible requests remain behind the rebuilding index or must be stopped, buffered, or degraded without reaching an answer-producing alternate route."},{"mechanism_slug":"path_health_signal","role":"Triggers diversion and reentry using observable index and local-path conditions rather than a fixed route or blind retry.","counterfactual_removal":"Without current health signals, the router may continue using the impaired index, divert unnecessarily, oscillate between paths, or overload the local parser."},{"mechanism_slug":"detour_routing","role":"Applies capability and version constraints so only requests whose intended function survives the longer or narrower path are redirected.","counterfactual_removal":"Without constrained detour selection, cross-file queries could be sent to a path incapable of preserving completeness, turning rerouting into silent semantic corruption."}],"causal_chain":["The project-wide index enters a detectable rebuild, lock, staleness, or repeated-timeout state.","The router classifies each arriving query by operation, scope, consistency requirement, and document version.","The router verifies that the local path supports the requested contract and has capacity before diversion.","Eligible requests are redirected around the impaired index to the source-local parser; ineligible requests retain their explicit existing behavior.","The local path produces a response tied to the matching document version and labeled with path and semantic scope.","Telemetry detects overload, mismatch, loops, stale inputs, or excessive detour cost and can halt the diversion.","After the index remains healthy for a defined stability window, the router gradually restores the ordinary route."],"baseline":"All semantic queries use the project-wide index route. During index rebuilds or lock contention, requests wait, retry on the same path, or time out according to existing policy even when some could be answered from current file-local state.","nearest_rivals":["Buffer all queries until the semantic index becomes healthy; this preserves the original path and delays flow instead of changing its route.","Fail over the entire language-service instance to a replica; this transfers the protected service broadly rather than diverting a capability-bounded subset around one impaired computation segment.","Rate-limit or drop interactive queries during rebuilds; this reduces admitted flow rather than preserving eligible requests through another path.","Load-balance normal queries across multiple full semantic indexes; this distributes traffic among equivalent healthy receivers rather than routing around a specifically impaired path.","Return lexical guesses from the ordinary handler without provenance; this changes answer quality in place rather than selecting and auditing a contract-qualified alternate path."],"remaining_contrastive_claim":"The candidate's defining move is per-request topological substitution around an unhealthy semantic-index segment: it preserves only those query functions that the alternate local path can explicitly satisfy, while leaving unsupported requests outside the detour. It is therefore distinct from whole-service failover, routine load distribution, buffering, admission reduction, or unmarked degradation.","authority_safety":{"decision_authority":"The language-tooling team may configure routing for its own language-service dispatcher and opt-in internal test clients; it does not gain authority over repository contents, compiler outputs, access-control policy, or developers' write operations.","authorized_first_step":"Run a non-production replay or local fault-injection test using recorded or synthetic read-only queries, with the index path marked unhealthy and only a small allowlist of file-scoped operations eligible for diversion.","excluded_actions":["Rerouting edits, refactor commits, builds, deployments, or any state-changing request","Bypassing authentication, authorization, repository policy, or response-validation gates","Sending queries or source content to an external service not already authorized for that content","Diverting cross-file-completeness queries to a file-local path","Automatically making the temporary detour the default production route"],"halt_rollback":"Disable the dispatcher rule and restore the single indexed route if any diverted response violates its declared contract, uses a mismatched document version, loses provenance, loops, overloads the local path, or exceeds the test's latency or resource bounds. Because the test is read-only and routing configuration is reversible, rollback discards test responses and removes the detour rule."},"negative_tests":{"strongest_counterevidence":"Under controlled index impairment, the local path either cannot answer a useful allowlisted class under the same declared contract or shares the same blocked downstream dependency, so diversion merely relocates delay or semantic failure.","problem_falsifier":"Traces show that eligible queries are not materially waiting on the index path during the defined unhealthy states, or that no request class has sufficient current file-local state to preserve its destination function.","intervention_falsifier":"With routing decisions held observable and identical queries compared against a later healthy-index oracle, diverted responses exhibit contract violations, document-version mismatches, silent omissions, routing loops, or local-path saturation beyond the preset acceptance bounds.","risks":["Incomplete answers may be mistaken for project-wide results if scope labels are hidden or ignored.","The alternate parser may share a downstream resource with the index, creating a hidden bottleneck.","Diverted concurrency may move overload into editor parsing and degrade typing responsiveness.","Noisy health thresholds may cause route flapping.","Stale document-version metadata may produce internally consistent but obsolete answers.","Separate computation paths may disagree, confusing developers and complicating debugging.","Telemetry could expose source-derived identifiers unless collection is minimized and access controlled.","A temporary bypass could persist without review and mask defects in the primary index path."]},"next_evidence_step":"In a bounded local harness, select three read-only file-scoped query types and a fixed corpus of versioned source snapshots. Replay a finite query set once through a healthy index to establish an oracle, then mark the index route unhealthy and replay with the detour enabled. Record routing decisions, completion status, response-contract equivalence, version matches, latency, local-path queue depth, and loop or duplicate events. Stop on the first invariant violation; use the result only to decide whether a narrowly scoped opt-in prototype merits further testing.","prior_art_status":"UNSEARCHED","diversity_from_prior_proposals":"Not assessed against prior proposals because runtime isolation forbids inspecting them; this candidate is situated in interactive program-analysis routing and uses a capability-constrained local computation path rather than a generic replica or network endpoint.","revision_record":{"parent_version":null,"progress_targets_addressed":[],"conceptual_changes":[],"operational_changes":[],"evidence_changes":[],"claim_changes":[]}}