-
Notifications
You must be signed in to change notification settings - Fork 11
feature - stable machine-readable diagnostics output #589
Copy link
Copy link
Open
Labels
documentationImprovements or additions to documentationImprovements or additions to documentationeditor integrationSuggestions, features, or bugs related to the Editor integration (`vscode extension` and LSP)Suggestions, features, or bugs related to the Editor integration (`vscode extension` and LSP)featureNew feature or requestNew feature or requestincan compilerSuggestions, features, or bugs related to the Compiler (frontend/backend/codegen)Suggestions, features, or bugs related to the Compiler (frontend/backend/codegen)toolingSuggestions, features, or bugs related to the Tooling (CLI/formatter/test runner)Suggestions, features, or bugs related to the Tooling (CLI/formatter/test runner)
Milestone
Metadata
Metadata
Assignees
Labels
documentationImprovements or additions to documentationImprovements or additions to documentationeditor integrationSuggestions, features, or bugs related to the Editor integration (`vscode extension` and LSP)Suggestions, features, or bugs related to the Editor integration (`vscode extension` and LSP)featureNew feature or requestNew feature or requestincan compilerSuggestions, features, or bugs related to the Compiler (frontend/backend/codegen)Suggestions, features, or bugs related to the Compiler (frontend/backend/codegen)toolingSuggestions, features, or bugs related to the Tooling (CLI/formatter/test runner)Suggestions, features, or bugs related to the Tooling (CLI/formatter/test runner)
Type
Fields
Give feedbackNo fields configured for Feature.
Area
Problem statement
Incan diagnostics are increasingly useful for humans, but external tools, CI, editors, issue templates, and agents still need a stable machine-readable diagnostic contract. Today a caller can parse human-facing output or depend on internal diagnostic structures, but neither is a product surface.
This matters more as Incan adds checked metadata, codegraph export, generated Rust inspection, package artifacts, and agent-facing workflows. Agents should not have to infer diagnostic meaning from prose or scrape terminal text. They need stable codes, spans, severity, related symbols, expected/actual facts, and documentation hooks.
Proposed solution
Add stable JSON diagnostics output for the check/typecheck path, with exact CLI spelling to be finalized. Candidate surfaces:
The JSON envelope should include at least:
schema_versioncodeseverityThe output should be deterministic and suitable for CI, editor tooling, issue templates, and agent repair loops.
Alternatives considered
Scope / acceptance criteria
In scope:
Out of scope:
Done when: