Lint — Error Hierarchy
The implementation-side reference of the error surface goga lint reports:
the structured error hierarchy raised by the AST pipeline. Every error carries context about where and why it occurred, making CLI output actionable. Every error carries context about where and why it occurred, making CLI output actionable.
Error Hierarchy
BaseASTError
├── DocumentNotFoundError
├── DocumentParseError
├── DocumentRuleError
└── ASTRuleError
Error Types
BaseASTError
Base class for all AST errors.
| Property | Type | Description |
|---|---|---|
message |
str |
Human-readable description of the error. |
All other AST errors inherit from BaseASTError.
DocumentNotFoundError
Raised when a referenced document cannot be found in the tree.
| Property | Type | Description |
|---|---|---|
message |
str |
Description of the lookup failure. |
This error typically occurs when an import or usage references a file that does not exist in the project.
DocumentParseError
Raised when YAML parsing fails or when the document contains unrecognized keys.
| Property | Type | Description |
|---|---|---|
message |
str |
Description of the parse failure. |
filepath |
str |
Path to the CODEMANIFEST file that caused the error. |
The Factory raises this error when it encounters keys outside the allowed set in header or footer sections.
DocumentRuleError
Raised when a document-level rule is violated. Produced by the Visitor.
| Property | Type | Description |
|---|---|---|
message |
str |
Description of the rule violation. |
rule |
str |
Name of the rule that was violated. |
document |
DocumentRoot |
The document where the violation was found. |
node |
Node |
The specific AST node that caused the violation, if applicable. |
ASTRuleError
Raised when a tree-level rule is violated. Produced by the Analyzer.
| Property | Type | Description |
|---|---|---|
message |
str |
Description of the rule violation. |
rule |
str |
Name of the rule that was violated. |
document |
DocumentRoot |
The document where the violation was found. |
node |
Node |
The specific AST node that caused the violation, if applicable. |
Formatted Output
Each error type provides a formatted string representation suitable for CLI output. Errors include:
- The rule name that was violated.
- The file path of the offending document.
- The node location when available, pointing to the specific declaration.
- The human-readable message explaining what is wrong.
This formatting ensures that developers can quickly identify and fix issues reported by goga.
Where to Next
- AST Visitor -- produces
DocumentRuleError. - AST Analyzer -- produces
ASTRuleError. - Validation Rules -- the rules that generate these errors.