Migrate V1 to V2
CmdCal V1 accepted presentationTitle plus slide pattern payloads. CmdCal V2 uses a semantic PresentationSpec document, durable render jobs, brand packs, preflight findings, visual diff, and approval state.
What Changes
presentationTitlebecomestitle- slide
patternbecomesslideType - direct one-shot generation becomes
preflight -> render job -> poll job - brand-aware layout resolution moves to
brandPackId/brandPackVersionId - QA findings become stable machine-readable
quality_report.findings[]
Old vs New
JSON
{
"presentationTitle": "Board Update",
"slides": [
{
"pattern": "title",
"content": {
"title": "Board Update"
}
}
]
}
JSON
{
"version": "2.0",
"title": "Board Update",
"slides": [
{
"slideType": "title-body",
"title": "Board Update",
"body": ["Use semantic content blocks instead of pattern-specific content envelopes."]
}
]
}
Recommended Request Flow
- Validate the document with
POST /api/v2/preflight - Queue or run the render with
POST /api/v2/render - Poll
GET /api/v2/jobs/:id - Review
GET /api/v2/jobs/:id/diff - Approve or reject through
POST /api/v2/jobs/:id/approval
Compatibility
AgentDocumentSchema remains available as a library contract for presentation-shaped inputs, but the hosted platform in this repo is V2-first. New integrations should use /api/v2/preflight and /api/v2/render; if you still depend on the old V1 wire format, translate it before calling the hosted V2 endpoints or keep that compatibility layer in your own app.