reqlanOverviewIdeasFilesCode filesClustersAttributesGraphPrint
Ideas/parse_budget_timeout

Idea detail

parse_budget_timeout

reqlan rq/language/parser_lexer.rq:17

block done

Summary

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.

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: done

status cluster

tag: Not present

tag cluster

Printable page

Static print-friendly idea sheet.

Attributes

KeyValue
status done
tests parse-budget.test.ts:times out a hung parse worker with warning and error, parse-budget.test.ts:returns incomplete result when worker parse fails, parse-budget.test.ts:parses a normal file within budget, parse-budget.test.ts:parses small files on the calling thread without a worker, parse-budget.test.ts:escalates large files to the worker path, parse-budget.test.ts:forceWorker escalates a small file
implementation reqlan-parse-budget.ts, reqlan-async-parser.ts, reqlan-parse-worker.ts, reqlan-document-factory.ts, reqlan-module.ts, reqlan-workspace-manager.ts

Browse all attributes

Ancestor context

No ancestor chain recorded.

Outbound references

KindIdeaPathSnippet
file_reference ../../packages/language/src/reqlan-async-parser.ts packages/language/src/reqlan-async-parser.ts reqlan-async-parser.ts
file_reference ../../packages/language/src/reqlan-document-factory.ts packages/language/src/reqlan-document-factory.ts reqlan-document-factory.ts
file_reference ../../packages/language/src/reqlan-module.ts packages/language/src/reqlan-module.ts reqlan-module.ts
file_reference ../../packages/language/src/reqlan-parse-budget.ts packages/language/src/reqlan-parse-budget.ts reqlan-parse-budget.ts
file_reference ../../packages/language/src/reqlan-parse-worker.ts packages/language/src/reqlan-parse-worker.ts reqlan-parse-worker.ts
file_reference ../../packages/language/src/reqlan-workspace-manager.ts packages/language/src/reqlan-workspace-manager.ts reqlan-workspace-manager.ts
file_reference ../../packages/language/test/parse-budget.test.ts:escalates large files to the worker path packages/language/test/parse-budget.test.ts:escalates large files to the worker path parse-budget.test.ts:escalates large files to the worker path
file_reference ../../packages/language/test/parse-budget.test.ts:forceWorker escalates a small file packages/language/test/parse-budget.test.ts:forceWorker escalates a small file parse-budget.test.ts:forceWorker escalates a small file
file_reference ../../packages/language/test/parse-budget.test.ts:parses a normal file within budget packages/language/test/parse-budget.test.ts:parses a normal file within budget parse-budget.test.ts:parses a normal file within budget
file_reference ../../packages/language/test/parse-budget.test.ts:parses small files on the calling thread without a worker packages/language/test/parse-budget.test.ts:parses small files on the calling thread without a worker parse-budget.test.ts:parses small files on the calling thread without a worker
file_reference ../../packages/language/test/parse-budget.test.ts:returns incomplete result when worker parse fails packages/language/test/parse-budget.test.ts:returns incomplete result when worker parse fails parse-budget.test.ts:returns incomplete result when worker parse fails
file_reference ../../packages/language/test/parse-budget.test.ts:times out a hung parse worker with warning and error packages/language/test/parse-budget.test.ts:times out a hung parse worker with warning and error parse-budget.test.ts:times out a hung parse worker with warning and error

Inbound references

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

Unresolved references

KindIdeaPathSnippet
None

Local graph

Initialising graph…