Interface: OsfqlDiagnoseRequest
@kortexya/reasoninglayer / OsfqlDiagnoseRequest
Interface: OsfqlDiagnoseRequest
Section titled “Interface: OsfqlDiagnoseRequest”Defined in: src/types/osfql.ts:428
Request to diagnose an OSFQL program for contradictions / inconsistencies.
Remarks
Section titled “Remarks”The program is executed ephemerally (against a cloned hierarchy and a scratch store)
and never mutates the tenant knowledge base. The check always runs under a deadline and a
row cap; a breach of either answers a limit diagnostic, not an error.
Properties
Section titled “Properties”maxRows?
Section titled “maxRows?”
optionalmaxRows?:number
Defined in: src/types/osfql.ts:461
The maximum number of rows any ONE candidate-set materialisation of the check may produce — the same per-materialisation cap as OsfqlRequest.maxRows.
Remarks
Section titled “Remarks”Unlike on execute, the cap is ON by default: a join of a few scans over one
sort materialises the product of their sizes. A supplied value is clamped
to 1000000. A breach answers a limit diagnostic positioned at the
statement that outgrew the cap.
Default Value
Section titled “Default Value”100000
query:
string
Defined in: src/types/osfql.ts:430
OSFQL program text to check.
timeoutMs?
Section titled “timeoutMs?”
optionaltimeoutMs?:number
Defined in: src/types/osfql.ts:447
A deadline for the whole check, in milliseconds.
Remarks
Section titled “Remarks”Shared by every execution the check performs — the whole-program run and
the re-runs that localise a failure to its statement. A supplied value is
clamped to the engine’s program backstop (OSFKB_OSFQL_TIMEOUT_SECS).
Unlike OsfqlRequest.timeoutMs, 0 is NOT an opt-out: the engine
refuses it with HTTP 400, because a check that executes client text on the
tenant’s data has no unbounded mode. A breach answers a limit
diagnostic with no range.
Default Value
Section titled “Default Value”2000 — a lint budget, because an editor calls this route
as its author types.