# Acurity Architect — Diagnostic Reference

Auto-generated · Run `npm run docs:diagnostics` to refresh

Concepts

- Message — a specific diagnostic instance identified by a stable `ACU-XXX-NNN` ID. Appears in VS Code hover tooltips, the Problems panel, and suppression comments (`// @rule-ignore ACU-INT-001`). A Rule may produce several distinct Message types.
- Rule — a named validation behaviour (camelCase key, e.g. `interpolationUndefined`). Each Rule maps to one VS Code setting (`acurity.rules.<group>.<rule>.severity`). Changing it adjusts the severity of all Messages belonging to that Rule.
- Surface — where a diagnostic is raised. IDE = VS Code only; CLI = headless validator only; IDE + CLI = both. Declared via the `surfaces` field in core/src/diagnostics/diagnosticCatalog.js.

### Where rule severities are set

- Default profiles (default / legacy / strict) — `severity` block on each entry in core/src/diagnostics/diagnosticCatalog.js.
- VS Code — profile selection and per-rule overrides resolved in vscode-extension/src/config/standardsConfig.js. Active profile: `acurity.rules.profile`; per-rule override: `acurity.rules.<group>.<rule>.severity`.
- CLI — always uses the `default` profile; severity mapping in cli/index.js.

Search
Category
Surface
Validator(s)
Strict
Default
Legacy
Quick Fixes
Syntax Test Suite
Core Coding Standards None
VS Code Settings Group

Message ID | 📖 | Category | Surface | Message | Rule | Validator(s) | Strict | Default | Legacy | Quick Fixes | Syntax Test Suite | Test Coverage | VS Code Settings Group | VS Code Setting
--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
ACU-ARG-001 | VS | validity | IDE + CLI | `Invalid date string '{value}'. Expected format DD/MM/YYYY (e.g. '31/12/2026').` | invalidDateStringFormat | argumentString | error | error | warning | - | core | VS core/str-to-date/str-to-date-format L38,39,42,43,44,45,48 | - | `-`
ACU-ARG-002 | VS | validity | IDE + CLI | `Date string '{value}' is out of the valid range (00/00/0000 to 31/12/9998).` | invalidDateStringOutOfRange | argumentString | error | error | warning | - | core | VS core/str-to-date/str-to-date-format L49 | - | `-`
ACU-ARG-003 | VS | validity | IDE + CLI | `Invalid cursor direction '{value}'. Valid directions: >=, >, +, =, -, <, <=.` | invalidCursorDirection | argumentString | error | error | warning | - | core | VS core/index-functions-sql/index-cursor-directions L37,38,39,41 VS core/index-functions/index-cursor-directions L37,38,39,41 | - | `-`
ACU-ARG-004 | VS | validity | IDE + CLI | `Invalid cursor direction '{value}'. Did you mean '{suggestion}'?` | invalidCursorDirection | argumentString | error | error | warning | - | core | VS core/index-functions-sql/index-cursor-directions L35,36 VS core/index-functions/index-cursor-directions L35,36 | - | `-`
ACU-ARG-005 | VS | validity | IDE + CLI | `Invalid table synonym '{value}'. Expected a valid 2-letter table code (e.g. 'MD', 'PH').` | invalidTableSynonym | argumentString | error | error | error | - | core | VS core/index-functions-sql/index-table-synonyms L41,42,43,45,46,48,49,51,52 VS core/index-functions/index-table-synonyms L41,42,43,45,46,48,49,51,52 | - | `-`
ACU-VAR-008 | VS | advisory | IDE + CLI | `'{name}' does not match any known database field handle.` | invalidFieldHandle | variable | warning | warning | warning | - | core | VS core/db-field-names/db-field-handles-unknown L21 | - | `-`
ACU-VAR-009 | VS | standards | IDE + CLI | `Field handle '{name}' should be '{canonical}'.` | fieldHandleCapitalization | variable | warning | warning | warning | - | coding-standards | VS coding-standards/case-sensitivity/db-field-handles-casing-mismatch L22 VS coding-standards/db-field-names/db-field-handles-wrong-casing L22 | - | `-`
ACU-ARG-008 | VS | validity | IDE + CLI | `'{paramLabel}' argument of {functionName}() requires a variable, not a literal.` | literalForVarParam | argumentString | error | error | error | - | core | VS core/array/array-lifecycle-complete L66,77 VS core/array/array-lifecycle-no-init L15 VS core/array/array-lifecycle-read-literal L18 | core | `acurity.rules.core.literalForVarParam.severity`
ACU-BLK-001 | VS | validity | IDE + CLI | `Unexpected {closeKeyword} without matching {openKeyword}.` | blockStructure | structure | error | error | error | - | core | VS core/if/else-outside-of-if-not-allowed L17,21 VS core/line-types/output-lines-hashoff L20 | core | `acurity.rules.core.blockStructure.severity`
ACU-BLK-002 | VS | validity | IDE + CLI | `{closeKeyword} does not match {openKeyword} at line {lineNumber}.` | blockStructure | structure | error | error | error | - | core | VS core/case/case-error-missing-endcase L34 | core | `acurity.rules.core.blockStructure.severity`
ACU-BLK-003 | VS | validity | IDE + CLI | `'{openKeyword}' at line {lineNumber} is not closed with '{closeKeyword}'.` | blockStructure | structure | error | error | error | - | core | VS core/case/case-error-missing-endcase L21 | core | `acurity.rules.core.blockStructure.severity`
ACU-BLK-004 | VS | standards | IDE | `'{keyword}' indentation ({column}) does not match '{openKeyword}' at line {lineNumber} (indentation {openColumn}).` | blockIndentation | indentation | warning | warning | off | - | coding-standards + core | VS coding-standards/indentation/indentation-block-mismatch L69,74,79,88,90 VS core/case/case-error-missing-endcase L34 | - | `-`
ACU-BLK-005 | VS | validity | IDE + CLI | `'ELSE IF' is not a conditional — the IF condition is ignored and the ELSE branch always executes. Restructure with nested IF or CASE.` | elseIfMisuse | structure | error | error | error | - | core | VS core/if/else-if-misuse L18 | - | `-`
ACU-BLK-006 | VS | validity | IDE + CLI | `Duplicate ELSE branch — an IF block may only have one ELSE.` | duplicateElse | structure | error | error | error | - | core | VS core/if/if-multiple-else-not-allowed L21 VS core/if/if-nested-multiple-else-not-allowed L22,31 | - | `-`
ACU-OUT-001 | VS | validity | IDE + CLI | `'{name}' is an output-positioning directive, not a function. It can only be used between OICC/CICC delimiters on output lines (e.g., >>@{name}(...)@).` | outputDirectiveInCodeContext | function | error | error | error | - | core | VS core/output-positioning-directives/output-positioning-in-code-context L43,44,45,46,47 | - | `-`
ACU-OPT-001 | VS | validity | IDE + CLI | `'{char}' is not a valid ICC/OICC/CICC character. Allowed characters are: {allowed}.` | invalidOptionCharacter | option | error | error | error | - | core | VS core/line-types/output-lines-hashoff L19 VS core/option-directives/option-icc-validation L36,39,42,45 VS core/option-directives/option-oicc-cicc-validation L55,58,61,64 | - | `-`
ACU-OUT-002 | VS | validity | IDE + CLI | `'{name}' expects {expected} argument(s) but was called with {actual}.` | outputDirectiveArgumentCount | function | error | error | error | - | core | VS core/output-positioning-directives/output-directive-arg-validation L33,34,35,36 | - | `-`
ACU-OUT-003 | VS | validity | IDE + CLI | `Column value {value} is out of the valid range (1 to 16000).` | outputDirectiveColumnRange | function | error | warning | warning | - | core | VS core/output-positioning-directives/output-directive-arg-validation L39,40,41 | - | `-`
ACU-OPT-002 | VS | validity | IDE + CLI | `Custom ICC character '{char}' — IDE interpolation support requires the default '#'.` | nonDefaultIccCharacter | option | warning | warning | warning | - | core | VS core/option-directives/option-icc-validation L21,22,23,24,25,26,27,28,29,30 | - | `-`
ACU-FNC-001 | VS | validity | IDE + CLI | `Function '{functionName}' is not defined.` | functionUndefined | function | error | error | warning | - | core | VS core/function-builtin/builtin-functions L57,58 VS core/function-user-defined/diagnostic-precision-undefined-function L19 VS core/function-user-defined/undefined-func-error L20 VS core/include/include-behaviour L35,37 | core | `acurity.rules.core.functionUndefined.severity`
ACU-FNC-002 | VS | validity | IDE + CLI | `Function '{functionName}' is not yet defined at this point.` | functionOutOfScope | function | error | error | warning | - | core | VS core/function-user-defined/forward-function-call-error L20 | core | `acurity.rules.core.functionOutOfScope.severity`
ACU-FNC-003 | VS | validity | IDE + CLI | `Function '{functionName}' is declared multiple times. Functions cannot be redeclared.` | functionRedeclared | function | error | error | warning | - | core | VS core/function-user-defined/function-redeclaration-not-allowed L19,26,33 | core | `acurity.rules.core.functionRedeclared.severity`
ACU-FNC-004 | VS | validity | IDE + CLI | `'{functionName}' is a system constant and should be used without parentheses.` | functionConstantUsage | function | error | error | warning | - | core | VS core/global-vars-builtin/system-constant-with-parens L24,25 | core | `acurity.rules.core.functionConstantUsage.severity`
ACU-FNC-005 | VS | validity | IDE + CLI | `Unclosed function call for '{functionName}'.` | functionCallUnclosed | function | error | error | warning | - | core | VS core/function-user-defined/unclosed-function-call L21 | core | `acurity.rules.core.functionCallUnclosed.severity`
ACU-FNC-006 | VS | validity | IDE + CLI | `Function signature error: {errorDetail}` | functionSignature | argumentType, function | error | error | warning | - | core | VS core/function-builtin/builtin-functions L59,60,71 VS core/function-user-defined/func-user-defined-signature-checks L41 | core | `acurity.rules.core.functionSignature.severity`
ACU-FNC-007 | VS | standards | IDE + CLI | `Function '{functionName}' capitalisation differs from declared function '{declaredName}'.` | functionCaseMismatch | function | error | warning | warning | 2 | coding-standards + core | VS coding-standards/case-sensitivity/func-case-mismatch-fix-call L25 VS coding-standards/case-sensitivity/func-case-mismatch-fix-decl L25 VS core/include/include-behaviour L58 | standards | `acurity.rules.standards.functionCaseMismatch.severity`
ACU-FNC-008 | VS | advisory | IDE + CLI | `Function '{functionName}' return value is unused. Consider assigning function return to a variable.` | functionReturnValueUnused | function | error | error | error | - | core | VS core/general/incomplete-statement-unassigned-return L35,37 | core | `acurity.rules.core.functionReturnValueUnused.severity`
ACU-FNC-009 | VS | validity | IDE + CLI | `Argument {n} to '{function}': expected {expectedType}, got {actualType}.` | functionArgumentType | argumentType | error | error | warning | - | core | VS core/array/array-lifecycle-column-bounds L36 VS core/array/array-lifecycle-complete L98,114 VS core/array/array-lifecycle-type-mismatch L27 VS core/function-builtin/builtin-functions L64,65,66,67,68,74,77,80 | - | `-`
ACU-FNC-010 | VS | validity | IDE + CLI | `Return type mismatch in '{functionName}': declared return type is {expectedType}, but '{expression}' is {actualType}.` | functionReturnTypeMismatch | returnType | error | error | warning | - | core | VS core/function-user-defined/func-user-defined-return-validation L29,33,39 | - | `-`
ACU-FNC-011 | VS | validity | IDE + CLI | `Function '{functionName}' declares return type {returnType} but contains no RETURN statement.` | functionMissingReturn | returnType | error | error | warning | - | core | VS core/function-user-defined/func-user-defined-return-validation L45 | - | `-`
ACU-FNC-012 | VS | standards | IDE + CLI | `Whitespace is not allowed between '{name}' and '('.` | functionCallWhitespace | functionWhitespace | error | warning | off | - | coding-standards | VS coding-standards/function-user-defined/function-bad-use-of-whitespace L26,28,32,35 | - | `-`
ACU-FNC-013 | VS | validity | IDE + CLI | `'{functionName}' is a built-in function. User-defined functions cannot shadow built-in names. Wrap in IF NOT SYMBOL('{functionName}') ... ENDIF to define a conditional polyfill.` | functionBuiltinCollision | function | error | error | error | - | core | VS core/function-user-defined/function-builtin-collision-not-allowed L13,20,27 | - | `-`
ACU-FNC-014 | VS | validity | IDE + CLI | `Parameter '{paramName}' in function '{functionName}' is missing a type annotation. Each parameter must be declared as 'paramName : TYPE'.` | functionDeclarationMissingParamType | function | error | error | error | - | core | VS core/function-user-defined/function-syntax L20,24,28 | core | `acurity.rules.core.functionDeclarationMissingParamType.severity`
ACU-FNC-015 | VS | validity | IDE + CLI | `Function '{functionName}' is missing a return type. Add ': TYPE' after the closing parenthesis (e.g., ': STRING').` | functionDeclarationMissingReturnType | function | error | error | error | - | core | VS core/function-user-defined/function-syntax L32 | core | `acurity.rules.core.functionDeclarationMissingReturnType.severity`
ACU-FNC-016 | VS | advisory | IDE + CLI | `'{functionName}' is a deprecated/legacy function.` | functionDeprecated | function | warning | warning | warning | - | core | VS core/function-builtin/builtin-functions-deprecated-warning L17,18 | - | `-`
ACU-INC-001 | VS | validity | IDE + CLI | `Circular include detected for '{includeFilename}'.` | includeCircular | include | warning | warning | warning | - | core | VS core/include/circular-include-unsafe L18,19 | core | `acurity.rules.core.includeCircular.severity`
ACU-INC-002 | VS | standards | IDE + CLI | `Include filename case differs from actual file '{actualFilename}' for '{includeFilename}'.` | includeFilenameCaseMismatch | include | warning | warning | warning | - | core | VS core/include/include-behaviour L57 | standards | `acurity.rules.standards.includeFilenameCaseMismatch.severity`
ACU-INC-003 | VS | validity | IDE + CLI | `INCLUDE: File '{filename}' not found.` | includeFileNotFound | include | error | error | warning | - | core | VS core/include/include-behaviour L32 | core | `acurity.rules.core.includeFileNotFound.severity`
ACU-INT-001 | VS | validity | IDE + CLI | `Variable '{variableName}' is not defined.` | interpolationUndefined | interpolation | error | error | warning | - | core | VS core/line-types/output-hash-off-interpolation-errors L28 VS core/line-types/output-hash-on-interpolation-errors L17 | core | `acurity.rules.core.interpolationUndefined.severity`
ACU-INT-002 | VS | standards | IDE + CLI | `Variable '{variableName}' capitalisation differs from declared variable '{declaredName}'.` | interpolationCaseMismatch | interpolation, variable | error | warning | warning | 2 | core | VS core/line-types/output-hash-off-interpolation-errors L30 VS core/line-types/output-hash-on-interpolation-errors L19 | standards | `acurity.rules.standards.interpolationCaseMismatch.severity`
ACU-INT-003 | VS | validity | IDE + CLI | `Unclosed string interpolation for '{variableName}'. Expected '^{variableName}^'.` | interpolationUnclosed | interpolation | error | error | warning | 1 | core | VS core/line-types/interpolation-unclosed L25 | core | `acurity.rules.core.interpolationUnclosed.severity`
ACU-KWD-001 | VS | standards | IDE | `Keyword '{keyword}' should be capitalized as '{uppercase}'.` | keywordCapitalization | keywordCaps | error | warning | warning | 1 | coding-standards | VS coding-standards/case-sensitivity/keyword-capitalise L19 | standards | `acurity.rules.standards.keywordCapitalization.severity`
ACU-MAC-001 | VS | validity | IDE + CLI | `Macro '{macroName}' is declared multiple times. Macros cannot be redeclared.` | macroRedeclared | macro | error | error | error | - | core | VS core/macro/macro-redeclare-case L23 | core | `acurity.rules.core.macroRedeclared.severity`
ACU-MAC-002 | VS | standards | IDE + CLI | `Macro '{usedName}' capitalisation differs from declared macro '{declaredName}'.` | macroCaseMismatch | macro | warning | warning | warning | - | coding-standards | VS coding-standards/case-sensitivity/macro-case-mismatch L17 | standards | `acurity.rules.standards.macroCaseMismatch.severity`
ACU-MAC-003 | VS | validity | IDE + CLI | `Macro '{macroName}' expects no parameters but was called with {actualCount}.` | macroUnexpectedParameters | macro | error | error | error | - | core | VS core/macro/macro-param-count L24 | core | `acurity.rules.core.macroUnexpectedParameters.severity`
ACU-MAC-004 | VS | validity | IDE + CLI | `Macro '{macroName}' expects {expectedCount} parameter(s) but was called without parentheses.` | macroMissingParameters | macro | error | error | error | - | core | VS core/macro/macro-param-count L25 | core | `acurity.rules.core.macroMissingParameters.severity`
ACU-MAC-005 | VS | validity | IDE + CLI | `Macro '{macroName}' expects {expectedCount} parameter(s) but was called with {actualCount}.` | macroParameterCountMismatch | macro | error | error | error | - | core | VS core/macro/macro-param-count L26 | core | `acurity.rules.core.macroParameterCountMismatch.severity`
ACU-NAM-001 | VS | standards | IDE + CLI | `ERROR: Declaring variables with an 'h' prefix is strongly discouraged, as variables may be confused with database fields.` | namingDatabaseFieldDeclaration | naming | error | error | error | 1 | coding-standards | VS coding-standards/naming/naming-db-field-prefix L22,23 | core | `acurity.rules.core.namingDatabaseFieldDeclaration.severity`
ACU-NAM-002 | VS | standards | IDE | `Naming convention (scope): '{variableName}' has scope prefix '{actualPrefix}' ({actualScope}) but is {expectedScope}. Consider '{recommendedName}'.` | namingPrefixScope | naming | error | warning | off | 1 | coding-standards | VS coding-standards/case-sensitivity/type-capitalisation-errors L6 | standards | `acurity.rules.standards.namingPrefixScope.severity`
ACU-NAM-003 | VS | standards | IDE | `Naming convention (type): '{variableName}' has type prefix suggesting {expectedType} but is declared as {actualType}. Consider '{recommendedName}'.` | namingPrefixType | naming | error | warning | off | 1 | coding-standards | VS coding-standards/case-sensitivity/type-capitalisation-errors L6 | standards | `acurity.rules.standards.namingPrefixType.severity`
ACU-PAT-001 | VS | advisory | IDE + CLI | `Index cursor operations detected without an INDEX_CLOSE call in the same scope.` | indexUsageMissingClose | indexUsage | warning | warning | warning | 1 | core | VS core/index-functions-sql/index-cursor-missing-close L37 VS core/index-functions/index-cursor-missing-close L37 | core | `acurity.rules.core.indexUsageMissingClose.severity`
ACU-PAT-002 | VS | advisory | IDE + CLI | `INDEX_SAVE_POSITION and INDEX_RESTORE_POSITION should be used as a pair in the same scope.` | indexUsageSaveRestorePair | indexUsage | warning | warning | warning | 1 | core | VS core/index-functions-sql/index-save-restore-pair L34 VS core/index-functions/index-save-restore-pair L34 | standards | `acurity.rules.standards.indexUsageSaveRestorePair.severity`
ACU-PAT-003 | VS | advisory | IDE + CLI | `Consider wrapping index cursor movement with INDEX_SAVE_POSITION and INDEX_RESTORE_POSITION.` | indexUsageSaveRestoreRecommendation | indexUsage | warning | warning | warning | 2 | core | VS core/index-functions-sql/index-save-position-missing L23 VS core/index-functions/index-save-position-missing L23 | standards | `acurity.rules.standards.indexUsageSaveRestoreRecommendation.severity`
ACU-PAT-004 | VS | validity | IDE + CLI | `INDEX_READ_BY_KEY should occur after INDEX_LOAD_KEY_* in standard flow.` | indexReadBeforeLoad | indexUsage | warning | warning | warning | 1 | core | VS core/index-functions-sql/index-read-before-load L37 VS core/index-functions-sql/index-read-before-open L35 VS core/index-functions/index-read-before-load L37 VS core/index-functions/index-read-before-open L35 | core | `acurity.rules.core.indexReadBeforeLoad.severity`
ACU-PAT-005 | VS | validity | IDE + CLI | `INDEX_READ_BY_KEY should occur after INDEX_OPEN_* in standard flow.` | indexReadBeforeOpen | indexUsage | warning | warning | warning | 1 | core | VS core/index-functions-sql/index-read-before-open L35 VS core/index-functions/index-read-before-open L35 | core | `acurity.rules.core.indexReadBeforeOpen.severity`
ACU-PAT-006 | VS | validity | IDE + CLI | `INDEX_CLOSE should occur after cursor operations (LOAD/READ) in standard flow.` | indexCloseBeforeRead | indexUsage | warning | warning | warning | 1 | core | VS core/index-functions-sql/index-close-before-read L49 VS core/index-functions/index-close-before-read L49 | core | `acurity.rules.core.indexCloseBeforeRead.severity`
ACU-PAT-007 | VS | validity | IDE + CLI | `Array record operations on '{handle}' detected without an INIT_SORTED_ARRAY call in the same scope.` | arrayOpsWithoutInit | arrayUsage | warning | warning | warning | - | core | VS core/array/array-lifecycle-complete L75 VS core/array/array-lifecycle-no-init L13 | - | `-`
ACU-PAT-008 | VS | advisory | IDE + CLI | `INIT_SORTED_ARRAY called without a corresponding FREE_SORTED_ARRAY or FIN_SORTED_ARRAY.` | arrayInitWithoutFree | arrayUsage | warning | warning | warning | - | core | VS core/array/array-lifecycle-fin-suppression L45 | - | `-`
ACU-PAT-009 | VS | validity | IDE + CLI | `Array record operation on '{handle}' after FREE_SORTED_ARRAY. Free the handle only after all operations are complete.` | arrayFreeBeforeOps | arrayUsage | warning | warning | warning | - | core | VS core/array/array-lifecycle-complete L140 VS core/array/array-lifecycle-use-after-free L14 | - | `-`
ACU-PAT-010 | VS | validity | IDE + CLI | `'{handle}' was passed to INDEX_CLOSE and may no longer refer to a valid index cursor.` | staleIndexHandle | indexUsage | warning | warning | warning | - | core | VS core/index-functions-sql/handle-stale-after-close L30 VS core/index-functions-sql/handle-two-handles-one-stale L36 VS core/index-functions/handle-stale-after-close L30 VS core/index-functions/handle-two-handles-one-stale L36 | - | `-`
ACU-PAT-011 | VS | validity | IDE + CLI | `'{variable}' is used as both the assignment target and the argument to GET_UNUSED_ARRAY_HANDLE, overwriting the handle with the status code.` | getUnusedHandleOverwrite | arrayUsage | warning | warning | warning | - | core | VS core/array/array-bad-use-of-get-unused-handle L26 | standards | `acurity.rules.standards.getUnusedHandleOverwrite.severity`
ACU-PAT-012 | VS | validity | IDE + CLI | `GET_UNUSED_ARRAY_HANDLE called again before INIT_SORTED_ARRAY was called for the previous handle. Both calls will return the same handle value.` | consecutiveGetUnusedHandle | arrayUsage | warning | warning | warning | - | core | VS core/array/array-bad-multiple-use-of-get-unused-handle L30 | standards | `acurity.rules.standards.consecutiveGetUnusedHandle.severity`
ACU-PAT-013 | VS | validity | IDE + CLI | `INDEX_RESTORE_POSITION('{tableCode}'): no active save for this table code.` | indexRestoreWithoutSave | indexUsage | warning | warning | warning | - | core | VS core/index-functions-sql/index-restore-position-missing L33,34 VS core/index-functions/index-restore-position-missing L33,34 | - | `-`
ACU-PAT-014 | VS | validity | IDE + CLI | `Index key at position {pos} expects type {expected} but '{callName}' loads a {actual} value.` | indexLoadKeyTypeMismatch | indexUsage | warning | warning | warning | - | core | VS core/index-functions-sql/index-load-type-incorrect L40,62,100,110 VS core/index-functions/index-load-type-incorrect L39,61,99,109 | - | `-`
ACU-PAT-015 | VS | validity | IDE + CLI | `Index '{indexName}' on table '{tableCode}' has {total} key segment(s). This load exceeds that count.` | indexLoadKeyCountExceeded | indexUsage | warning | warning | warning | - | core | VS core/index-functions-sql/index-load-key-field-count-exceeded L41 VS core/index-functions/index-load-key-field-count-exceeded L40 | - | `-`
ACU-PAT-016 | VS | validity | IDE + CLI | `Assigning to '{handle}' will overwrite an active index cursor handle.` | indexHandleOverwrite | indexUsage | warning | warning | warning | - | core | VS core/index-functions-sql/index-handle-warn-on-write L32,33,34,35,36 VS core/index-functions/index-handle-warn-on-write L32,33,34,35,36 | - | `-`
ACU-PAT-017 | VS | validity | IDE + CLI | `Length argument {length} exceeds the maximum width of segment {pos} ('{field}', max: {maxWidth}).` | indexLoadKeyStringTooLong | indexUsage | warning | warning | warning | - | core | VS core/index-functions-sql/index-load-key-string-too-long L40 VS core/index-functions/index-load-key-string-too-long L39 | - | `-`
ACU-RBD-001 | VS | standards | IDE | `Missing ROBODOC start marker. Expected '//@docStart*...* ...'.` | robodocMissingStart | robodoc | warning | information | off | - | coding-standards | VS coding-standards/robodoc/robodoc-missing-doc-block L1 | standards | `acurity.rules.standards.robodocMissingStart.severity`
ACU-RBD-002 | VS | standards | IDE | `Missing ROBODOC end marker. Expected '//@docEnd'.` | robodocMissingEnd | robodoc | warning | information | off | - | coding-standards | VS coding-standards/robodoc/robodoc-has-start-missing-end L2 | standards | `acurity.rules.standards.robodocMissingEnd.severity`
ACU-RBD-003 | VS | standards | IDE | `ROBODOC kind mismatch. Expected {expectedKind} tag '{expectedTag}' but found '{actualTag}'.` | robodocKindMismatch | robodoc | warning | information | off | - | coding-standards | VS coding-standards/robodoc/robodoc-mismatch-tag-filename L2 | standards | `acurity.rules.standards.robodocKindMismatch.severity`
ACU-RBD-004 | VS | standards | IDE | `ROBODOC header target mismatch. Expected '{expectedTarget}' but found '{actualTarget}'.` | robodocTargetMismatch | robodoc | warning | information | off | - | coding-standards | VS coding-standards/robodoc/robodoc-mismatch-tag-filename L2 | standards | `acurity.rules.standards.robodocTargetMismatch.severity`
ACU-RBD-005 | VS | standards | IDE | `ROBODOC section '{sectionName}' is missing from the doc block.` | robodocMissingSection | robodoc | warning | information | off | - | coding-standards | VS coding-standards/robodoc/robodoc-missing-uses-section L2 | standards | `acurity.rules.standards.robodocMissingSection.severity`
ACU-INC-004 | VS | validity | IDE + CLI | `REQUIRE: File '{filename}' not found.` | requireFileNotFound | include | error | error | warning | - | core | VS core/require/require-missing-files L4,5 | core | `acurity.rules.core.requireFileNotFound.severity`
ACU-STY-003 | VS | standards | IDE + CLI | `Date literal '00/00/0000' is discouraged. Use MIN_DATE instead.` | emptyDateLiteral | discouragedLiteral | error | warning | off | - | coding-standards | VS coding-standards/empty-date-literals-are-discouraged/empty-date-literal.default L26,27 VS coding-standards/empty-date-literals-are-discouraged/empty-date-literal.strict L24,25 | - | `-`
ACU-STY-004 | VS | standards | IDE + CLI | `Operator '{operator}' must have a single space on each side.` | operatorSpacing | operatorSpacing | warning | off | off | - | coding-standards + core | VS coding-standards/operator-spacing/operator-spacing-numeric L44,45,46,47,48,49 VS coding-standards/operator-spacing/operator-spacing-strict L53,54,55,56,57,58,59,60,61,62,63,64,65,66 VS coding-standards/operator-spacing/operator-spacing-string L44,45,46,47,48,49 VS core/do/do-loop-iterators L54 VS core/do/nested-loops-break-continue L37 | - | `-`
ACU-STY-005 | VS | advisory | IDE + CLI | `Hard-coded integer '{handle}' used as an array handle. Obtain the handle via GET_UNUSED_ARRAY_HANDLE() instead.` | discouragedHardcodedArrayHandle | arrayUsage | warning | warning | off | - | coding-standards + core | VS coding-standards/array-hygiene/hardcoded-array-handle-without-variable L24,25,26 VS core/array/array-lifecycle-fin-suppression L32 | standards | `acurity.rules.standards.discouragedHardcodedArrayHandle.severity`
ACU-STY-008 | VS | standards | IDE + CLI | `'{keyword}' {issue}.` | exitTerminatorIssue | exitStatement | warning | warning | off | 1 | coding-standards | VS coding-standards/dont-exit-at-end-of-report/exit-at-report-end-end-of-code-mid L19 VS coding-standards/dont-exit-at-end-of-report/exit-at-report-end-end-of-code L18 VS coding-standards/dont-exit-at-end-of-report/exit-at-report-end-with-exit L25 | - | `-`
ACU-SYN-001 | VS | standards | IDE | `Redundant '#HASH-ON' directive. Reports are HASH-ON by default until HASH-OFF is encountered.` | redundantHashOn | hashMode | error | warning | off | - | core | VS core/line-types/hash-mode-redundant-explicit-on L8 VS core/line-types/hash-mode-redundant-hash-prefix-on L8 | core | `acurity.rules.core.redundantHashOn.severity`
ACU-SYN-002 | VS | validity | IDE + CLI | `Unexpected token or unrecognized statement in executable context. Use '//' for comments or '>>' for output text.` | invalidExecutableLine | hashMode, operatorSpacing | error | error | error | - | coding-standards + core | VS coding-standards/operator-spacing/operator-spacing-default L46 VS coding-standards/operator-spacing/operator-spacing-strict L70 VS core/general/incomplete-statement-unassigned-return L33 VS core/line-types/hash-mode-off-hash-prefix-invalid L21 VS core/line-types/hash-mode-off-plain-invalid L21 VS core/line-types/hash-mode-on-invalid-hash L10 | core | `acurity.rules.core.invalidExecutableLine.severity`
ACU-SYN-003 | VS | standards | IDE | `Prefer '//' comments over legacy '#NOTE' directives.` | preferSlashSlashComments | hashMode | warning | warning | warning | - | coding-standards + core | VS coding-standards/line-types/comments-note-style-warnings L15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,46,47,48 VS core/line-types/hash-mode-on-note-style L23 | standards | `acurity.rules.standards.preferSlashSlashComments.severity`
ACU-SYN-004 | VS | validity | IDE + CLI | `DO iterator '{variable}' has no TO or BY clause. Use 'DO {variable} = start TO end' or 'DO {variable} = start TO end BY step'.` | doIteratorMissingClause | doIterator | error | error | error | - | core | VS core/do/do-loop-iterators L92 | - | `-`
ACU-SYN-005 | VS | advisory | IDE + CLI | `DO {variable}: This loop runs indefinitely (no BREAK / TO / UNTIL / WHILE).` | doIteratorNoUpperBound | doIterator | warning | warning | warning | - | core | VS core/do/do-loop-iterators L105 VS core/do/do-warn-infinite-loop L44,50 | - | `-`
ACU-SYN-006 | VS | validity | IDE + CLI | `Assignment statement is incomplete — no value on the right-hand side.` | incompleteAssignment | hashMode | error | error | error | - | core | VS core/line-types/incomplete-statement-hash-off L22,23 VS core/line-types/incomplete-statement-hash-on L21,22 | - | `-`
ACU-SYN-007 | VS | validity | IDE + CLI | `The continuation operator '...' must appear at the end of a line, before any comment. Code cannot follow '...' on the same line.` | invalidContinuation | hashMode | error | error | error | - | core | VS core/line-types/multiline-error L23,27,30,33 | - | `-`
ACU-SYN-008 | VS | validity | IDE + CLI | `Unexpected tokens after {keyword} statement — expected end of line.` | unexpectedTokensAfterStatement | eolRequired | error | error | error | - | core | VS core/general/invalid-statement-declare-assign L20,21,22 | - | `-`
ACU-SYN-009 | VS | validity | IDE + CLI | `'UNTIL' requires a condition expression. Unexpected end of line.` | untilMissingCondition | doIterator | error | error | error | - | core | VS core/do/do-loop-iterators L100 | - | `-`
ACU-TODO-001 | VS | advisory | IDE | `TODO: {description}` | todoItem | todo | information | information | information | - | core | VS core/index-functions-sql/index-table-synonyms L35 VS core/index-functions/index-table-synonyms L35 | - | `-`
ACU-TODO-002 | VS | advisory | IDE | `FIXME: {description}` | fixmeItem | todo | information | information | information | - | coding-standards | VS coding-standards/todo-tags/todo-fixme-hack-tags L7,14 | - | `-`
ACU-TODO-003 | VS | advisory | IDE | `HACK: {description}` | hackItem | todo | information | information | information | - | coding-standards | VS coding-standards/todo-tags/todo-fixme-hack-tags L8 | - | `-`
ACU-TYPE-001 | VS | standards | IDE | `Type keyword '{keyword}' should be capitalized as '{uppercase}'.` | typeKeywordCapitalization | typeKeywordCaps | error | warning | warning | 1 | coding-standards | VS coding-standards/case-sensitivity/type-capitalisation-errors L2,3,5,6 | standards | `acurity.rules.standards.typeKeywordCapitalization.severity`
ACU-TYPE-002 | VS | validity | IDE + CLI | `Type mismatch: Cannot assign {sourceType} to {targetType} variable '{target}'.` | typeMismatch | type | error | error | warning | - | core | VS core/function-builtin/builtin-functions L83 VS core/function-user-defined/func-user-defined-signature-checks L53 VS core/global-vars-builtin/global-variables-read L39,40,41,42,43,44,45,46,47,48 VS core/var/diagnostic-precision-type-mismatch L21 VS core/var/type-mismatch-compound-expressions-not-allowed L26,27,28 VS core/var/type-mismatch-string-to-short L20 | core | `acurity.rules.core.typeMismatch.severity`
ACU-TYPE-003 | VS | advisory | IDE + CLI | `Type 'INTEGER' is discouraged. Use 'LONG' instead.` | discouragedIntegerType | discouragedType | error | warning | warning | 1 | coding-standards | VS coding-standards/integers-are-discouraged/integers-are-discouraged L23,24 | - | `-`
ACU-VAR-001 | VS | validity | IDE + CLI | `{variableName} is not defined.` | undefinedVariable | variable | error | error | error | - | core | VS core/function-user-defined/function-variable-scope-within-symbol-check L33,34 VS core/function-user-defined/function-variable-scope L30,31 | core | `acurity.rules.core.undefinedVariable.severity`
ACU-VAR-002 | VS | validity | IDE + CLI | `{variableName} is not set.` | unsetVariable | variable | error | warning | off | - | core | VS core/array/array-lifecycle-complete L56 VS core/array/array-lifecycle-uninit-var L11 VS core/include/include-initialised-variable L25 VS core/line-types/multiline-error L33 | core | `acurity.rules.core.unsetVariable.severity`
ACU-VAR-003 | VS | validity | IDE + CLI | `String is unclosed.` | unclosedString | variable | error | error | error | 1 | core | VS core/var/unclosed-string-literal L22 | core | `acurity.rules.core.unclosedString.severity`
ACU-VAR-004 | VS | standards | IDE + CLI | `Pseudo-constant '{variableName}' is assigned multiple times. First assigned on line {firstLine}.` | pseudoConstantMultipleAssignment | variable | error | warning | warning | - | core | VS core/var/pseudo-constant-reassignment L4 | core | `acurity.rules.core.pseudoConstantMultipleAssignment.severity`
ACU-VAR-005 | VS | validity | IDE + CLI | `'{variableName}' is not defined. Did you mean '{suggestion}'?` | nearMissConstantName | variable | error | error | error | - | core | VS core/global-vars-builtin/global-variables-read L34,35,36 VS core/index-functions-sql/index-cursor-directions L40 VS core/index-functions/index-cursor-directions L40 | core | `acurity.rules.core.nearMissConstantName.severity`
ACU-VAR-006 | VS | validity | IDE + CLI | `'{variableName}' is a read-only built-in global variable and cannot be assigned.` | readOnlyGlobalVariableAssignment | variable | error | error | error | - | core | VS core/global-vars-builtin/global-variables-write L34,35,37,39 | - | `-`
ACU-VAR-007 | VS | standards | IDE + CLI | `'{variableName}' is declared but never used.` | declaredButNeverUsedVariable | variable | warning | off | off | 1 | coding-standards | VS coding-standards/unused-variable/unused-variable L27,28,29,30,31 | - | `-`

No diagnostics match the current filters.