# Contracts and JSON Schemas_ Templates Inventory Edge Capture **Date:** 2026-04-16 **Status:** Contract baseline **Owner:** Sayan **Purpose:** Define the minimum JSON and contract entities for this workstream. ## 1. Template Catalog Contracts ### TemplateChapter - `chapterId` - `name` - `description` - `sortOrder` ### TemplateSubchapter - `subchapterId` - `chapterId` - `name` - `description` - `sortOrder` ### OracleComponentTemplate - `templateId` - `chapterId` - `subchapterId` - `name` - `componentType` - `acceptedShapes` - `jsonTemplate` - `origin` - `status` - `version` ### OracleTemplateSeedExample - `exampleId` - `templateId` - `title` - `exampleJson` - `qualityNotes` ## 2. Kimi Synthetic Data Contracts ### SyntheticExpansionJob - `jobId` - `templateId` - `chapterId` - `subchapterId` - `model` - `status` - `requestedCount` - `acceptedCount` ## 3. Inventory Contracts ### InventoryProperty - `propertyId` - `sourceId` - `projectName` - `developerName` - `location` - `propertyType` - `priceBands` - `unitMix` - `amenities` - `mediaRefs` - `status` ### InventoryImportBatch - `batchId` - `sourceType` - `submittedBy` - `status` - `startedAt` - `completedAt` ## 4. Edge Capture Contracts ### CommunicationEvent - `eventId` - `leadId` - `channel` - `direction` - `provider` - `captureMode` - `timestamp` - `summary` - `rawReference` - `recordingRef` ### CommunicationMemoryFact - `factId` - `leadId` - `eventId` - `factType` - `factText` - `effectiveDate` - `confidence` - `extractedFrom` ### TranscriptSegment - `segmentId` - `eventId` - `speakerLabel` - `startMs` - `endMs` - `text` - `confidence` ### CalendarEvent - `calendarEventId` - `ownerUserId` - `leadId` - `sourceEventId` - `title` - `description` - `startAt` - `endAt` - `status` - `createdBy` ### InsightRecommendation - `recommendationId` - `leadId` - `sourceEventId` - `recommendationType` - `summary` - `suggestedAction` - `targetSystem` - `status` ### TranscriptionJob - `transcriptionJobId` - `eventId` - `mediaType` - `status` - `transcriptRef` - `consentState` ## 5. Admin Contracts ### AdminActionRequest - `actionId` - `actionType` - `targetType` - `targetId` - `requestedBy` - `payload` ### AdminActionResult - `actionId` - `status` - `message` - `artifacts` ## 6. Contract Rules - all contracts must be backend-owned - mobile and web surfaces consume, not redefine - communication capture contracts must include consent and provider provenance