reqlanOverviewIdeasFilesCode filesClustersAttributesGraphPrint
Ideas/recovery_vs_budget

Idea detail

recovery_vs_budget

reqlan rq/language/parser_lexer.rq:11

block

Summary

no_name_idea_safe_warning and import_error_recovery keep a * finished * parse usable after local mistakes.
They do not help when lex / parse never returns — that failure mode is parse_budget_timeout.
Workspace load still isolates per-document throws so one bad file cannot abort LSP init; the budget turns non-termination into the same “ leave this file unloaded ” outcome, with diagnostics.

Jump to outbound references

Jump to inbound references

Navigation

Source file

reqlan rq/language/parser_lexer.rq

community 38

community cluster

parser_lexer.rq

file cluster

reqlan rq/language

folder cluster

status: Not present

status cluster

tag: Not present

tag cluster

Printable page

Static print-friendly idea sheet.

Attributes

No attributes declared.

Ancestor context

parse_budget_timeout

Lexing, parsing, or a parse subprocess for a single `.rq` file must finish within a wall-clock budget. If it cannot, do not hang the language server or block the rest of the workspace. Surface both a warning ( budget exceeded; semantic features may be incomplete ) and an error ( file left unloaded ) on that document, then continue with other files. Happy path stays in-process ( sync ) for typical file sizes so edits and workspace load stay fast. Killable worker enforcement is used when the input is large, a file previously hit the budget ( sticky escalate ), or a caller forces the worker path; sync throws still become the same incomplete result shape.

Outbound references

KindIdeaPathSnippet
references parse_budget_timeout reqlan rq/language/parser_lexer.rq parse_budget_timeout

Inbound references

KindIdeaPathSnippet
None

Unresolved references

KindIdeaPathSnippet
references import_error_recovery import_error_recovery
references no_name_idea_safe_warning no_name_idea_safe_warning

Local graph

Initialising graph…