Skip to content

Report Format

Use this format when you want to create a changAIs report outside the app, for example from a script, CI job, or custom AI coding workflow.

A report is a JSON file. Save it in your project, commonly as .changais/report.json, then load it from the changAIs review surface.

{
"version": "1.0",
"generatedAt": "2026-06-08T12:00:00Z",
"notes": [
{
"id": "note-auth-guard",
"file": "src/auth/session.ts",
"line": 42,
"endLine": 48,
"type": "warning",
"title": "Check unauthenticated behavior",
"content": "The new guard changes how expired sessions are handled. Confirm redirects and API responses still match the product flow.",
"checked": false
}
]
}
FieldRequiredTypeDescription
versionYesstringReport format version. Use 1.0 for the current format.
generatedAtRecommendedstringISO 8601 timestamp for when the report was created.
notesYesarrayReview notes attached to files or lines.
FieldRequiredTypeDescription
idYesstringStable unique ID for the note inside this report.
fileYesstringProject-relative file path, using / separators.
lineYesnumber1-based line number where the note starts.
endLineNonumber1-based line number where the note ends. Omit it for a single-line note.
typeRecommendedstringNote type. Use info, warning, or suggestion.
titleRecommendedstringShort label shown for the note.
contentYesstringReview guidance shown to the user.
checkedNobooleanWhether the note has already been checked. Defaults to false when omitted.

Use this schema to validate generated reports before loading them into changAIs.

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "changAIs Report",
"type": "object",
"required": ["version", "notes"],
"additionalProperties": true,
"properties": {
"version": {
"type": "string",
"const": "1.0"
},
"generatedAt": {
"type": "string",
"format": "date-time"
},
"notes": {
"type": "array",
"items": {
"type": "object",
"required": ["id", "file", "line", "content"],
"additionalProperties": true,
"properties": {
"id": {
"type": "string",
"minLength": 1
},
"file": {
"type": "string",
"minLength": 1
},
"line": {
"type": "integer",
"minimum": 1
},
"endLine": {
"type": "integer",
"minimum": 1
},
"type": {
"type": "string",
"enum": ["info", "warning", "suggestion"]
},
"title": {
"type": "string"
},
"content": {
"type": "string",
"minLength": 1
},
"checked": {
"type": "boolean"
}
}
}
}
}
}
  • Use paths relative to the workspace root opened in VS Code.
  • Use 1-based line numbers from the current file content you want to review.
  • Keep id values stable when regenerating the same report so review state can be matched reliably.
  • Keep notes focused on changed or review-relevant lines.
  • Preserve unknown fields if your automation reads and rewrites an existing report.

If a report loads but notes do not appear where expected, confirm that the file paths and line numbers match the current workspace state.