{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://example.com/schemas/agent-manifest.schema.json",
  "title": "Agent Manifest",
  "type": "object",
  "required": [
    "name",
    "purpose",
    "system_purpose",
    "agent_build_principles",
    "agent_walkthroughs",
    "start_url",
    "intended_audience",
    "human_marketing_site",
    "core_pages",
    "machine_endpoints",
    "repo_files",
    "standards",
    "workflows",
    "why_explanations",
    "examples",
    "conversion_copy",
    "offer_ecosystem",
    "infrastructure_decisions",
    "handoff_reports",
    "aeo_geo_context",
    "page_patterns",
    "page_pattern_fixtures",
    "browser_visual_qa",
    "crawl_evidence",
    "design_system_contracts",
    "site_type_playbooks",
    "site_studies",
    "seo_aeo_evaluation",
    "source_traceability",
    "product_roadmap",
    "real_site_comparisons",
    "contract_registry",
    "source_retention_model",
    "qa_contract",
    "agent_tasks"
  ],
  "properties": {
    "name": { "type": "string", "minLength": 1 },
    "purpose": { "type": "string", "minLength": 1 },
    "system_purpose": {
      "type": "object",
      "required": ["mission", "identity", "not", "layers", "primaryJourney", "successCriteria"]
    },
    "agent_build_principles": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "object",
        "required": ["objective", "why", "requiredDetails"]
      }
    },
    "agent_walkthroughs": {
      "type": "array",
      "minItems": 1,
      "items": { "$ref": "#/$defs/walkthrough" }
    },
    "start_url": { "type": "string", "minLength": 1 },
    "intended_audience": { "const": "agents" },
    "human_marketing_site": { "const": false },
    "core_pages": {
      "type": "array",
      "minItems": 1,
      "items": { "$ref": "#/$defs/page" }
    },
    "machine_endpoints": {
      "type": "array",
      "minItems": 1,
      "items": { "$ref": "#/$defs/endpoint" }
    },
    "repo_files": {
      "type": "array",
      "minItems": 1,
      "items": { "$ref": "#/$defs/fileGroup" }
    },
    "standards": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "object",
        "required": ["category", "implementation"]
      }
    },
    "workflows": {
      "type": "array",
      "minItems": 1,
      "items": { "$ref": "#/$defs/workflow" }
    },
    "why_explanations": {
      "type": "object",
      "required": ["objective", "why", "requiredSurfaces", "qualityRules", "antiPatterns", "qaCoverage", "stressTests", "passCriteria", "warningCriteria", "failCriteria", "objectiveAlignment"]
    },
    "examples": {
      "type": "array",
      "minItems": 1,
      "items": { "$ref": "#/$defs/example" }
    },
    "conversion_copy": {
      "type": "object",
      "required": ["objective", "why", "sourceStudy", "conversionPrinciples", "copyTypes", "exampleTransformations", "agentWorkflow", "antiPatterns", "qaGates", "stressTestSuite", "passCriteria", "objectiveAlignment"]
    },
    "offer_ecosystem": {
      "type": "object",
      "required": ["objective", "why", "sourceStudy", "funnelLayers", "funnelPaths", "agentWorkflow", "antiPatterns", "qaGates", "passCriteria", "objectiveAlignment"]
    },
    "infrastructure_decisions": {
      "type": "object",
      "required": ["objective", "why", "decisionPrinciples", "ownerStackPreference", "decisionAreas", "siteTypeRecommendations", "scenarioExamples", "agentWorkflow", "antiPatterns", "qaGates", "passCriteria", "objectiveAlignment"]
    },
    "handoff_reports": {
      "type": "object",
      "required": ["objective", "why", "defaultReportPath", "exampleReportPath", "requiredSections", "evidenceSources", "closeoutChecklist", "qaGates", "stressTests", "passCriteria", "warningCriteria", "failCriteria", "objectiveAlignment"]
    },
    "aeo_geo_context": {
      "type": "object",
      "required": ["objective", "why", "contextSurfaces", "promptFixtures", "answerEvidenceRecords", "citationRules", "qaGates", "stressTests", "passCriteria", "warningCriteria", "failCriteria", "objectiveAlignment"]
    },
    "page_patterns": {
      "type": "array",
      "minItems": 1,
      "items": { "$ref": "#/$defs/pagePattern" }
    },
    "page_pattern_fixtures": {
      "type": "array",
      "minItems": 1,
      "items": { "$ref": "#/$defs/pagePatternFixture" }
    },
    "browser_visual_qa": {
      "type": "object",
      "required": ["objective", "why", "command", "reportPath", "screenshotDirectory", "viewports", "routes", "checks", "passCriteria", "warningCriteria", "failCriteria", "objectiveAlignment"]
    },
    "crawl_evidence": {
      "type": "object",
      "required": ["objective", "why", "crawlTool", "approvedWrapper", "command", "defaultReportPath", "repoReportDirectory", "requiredExports", "issueExports", "optionalExports", "severityRules", "passCriteria", "warningCriteria", "failCriteria", "objectiveAlignment"]
    },
    "design_system_contracts": {
      "type": "object",
      "required": ["objective", "why", "principles", "tokens", "componentRules", "designExamples", "layoutRules", "responsiveRules", "accessibilityRules", "antiPatterns", "qaGates", "stressTests", "objectiveAlignment"]
    },
    "site_type_playbooks": {
      "type": "array",
      "minItems": 1,
      "items": { "$ref": "#/$defs/siteTypePlaybook" }
    },
    "site_studies": {
      "type": "array",
      "minItems": 1,
      "items": { "$ref": "#/$defs/siteStudy" }
    },
    "seo_aeo_evaluation": {
      "type": "array",
      "minItems": 1,
      "items": { "$ref": "#/$defs/seoAeoCheck" }
    },
    "source_traceability": {
      "type": "object",
      "required": ["policy", "artifactChain", "claimLedger", "pageUsage", "qaRequirements"]
    },
    "product_roadmap": {
      "type": "array",
      "minItems": 1,
      "items": { "$ref": "#/$defs/roadmapItem" }
    },
    "real_site_comparisons": {
      "type": "object",
      "required": ["objective", "why", "comparisonDimensions", "scoringModel", "comparisonProfiles", "comparisonWorkflow", "qaGates", "stressTests", "passCriteria", "warningCriteria", "failCriteria", "objectiveAlignment"]
    },
    "contract_registry": {
      "type": "array",
      "minItems": 1,
      "items": { "$ref": "#/$defs/contract" }
    },
    "source_retention_model": {
      "type": "array",
      "minItems": 1,
      "items": { "$ref": "#/$defs/sourceStage" }
    },
    "qa_contract": {
      "type": "array",
      "minItems": 1,
      "items": { "$ref": "#/$defs/qaCommand" }
    },
    "agent_tasks": {
      "type": "array",
      "minItems": 1,
      "items": { "$ref": "#/$defs/agentTask" }
    }
  },
  "$defs": {
    "page": {
      "type": "object",
      "required": ["title", "path", "description"]
    },
    "endpoint": {
      "type": "object",
      "required": ["path", "purpose"]
    },
    "fileGroup": {
      "type": "object",
      "required": ["group", "files"],
      "properties": {
        "files": {
          "type": "array",
          "items": {
            "type": "object",
            "required": ["path", "purpose"]
          }
        }
      }
    },
    "workflow": {
      "type": "object",
      "required": ["id", "name", "trigger", "inputs", "outputs", "steps", "completionCriteria"]
    },
    "example": {
      "type": "object",
      "required": ["id", "type", "routePattern", "requiredPages", "requiredSchema", "sourceAssumptions", "pagePatterns", "seoRequirements", "aeoRequirements", "qaRequirements", "notes"]
    },
    "siteStudy": {
      "type": "object",
      "required": ["id", "siteName", "url", "auditDate", "evidenceRoot", "evidenceFiles", "context", "strongPatterns", "avoidPatterns", "agentTakeaways", "linkedRoadmapItems"]
    },
    "siteTypePlaybook": {
      "type": "object",
      "required": ["id", "exampleId", "title", "objective", "bestFor", "requiredInputs", "pageModel", "buildSequence", "seoAeoRequirements", "traceabilityRequirements", "qaGates", "stressTests", "completionCriteria", "objectiveAlignment"]
    },
    "pagePattern": {
      "type": "object",
      "required": ["id", "title", "routeExamples", "purpose", "requiredSections", "requiredSchema", "seoRequirements", "aeoRequirements", "traceabilityRequirements", "qaGates", "antiPatterns", "stressTests", "completionCriteria"]
    },
    "pagePatternFixture": {
      "type": "object",
      "required": ["id", "patternId", "route", "title", "scenario", "canonicalQuestion", "requiredVisibleSections", "metadataChecks", "schemaChecks", "traceabilityChecks", "sourceEvidence", "goodExample", "badExample", "agentInstructions", "qaGates", "completionCriteria"]
    },
    "seoAeoCheck": {
      "type": "object",
      "required": ["id", "category", "status", "severity", "objective", "why", "checkMethod", "validationCommand", "evidenceRequired", "passCriteria", "warningCriteria", "failCriteria", "sourceLessons"]
    },
    "sourceStage": {
      "type": "object",
      "required": ["stage", "directory", "purpose", "example"]
    },
    "roadmapItem": {
      "type": "object",
      "required": ["priority", "id", "title", "valueMultiplier", "objective", "why", "executionItems", "stressTests", "acceptanceCriteria", "objectiveAlignment"]
    },
    "walkthrough": {
      "type": "object",
      "required": ["id", "roadmapId", "priority", "title", "objective", "why", "steps", "evidenceToCollect", "passCriteria", "warningCriteria", "failCriteria", "stressTests", "objectiveAlignment"]
    },
    "contract": {
      "type": "object",
      "required": ["id", "endpoint", "schema", "source", "owner", "purpose", "required", "validationCommand", "evidence", "failureMode"]
    },
    "qaCommand": {
      "type": "object",
      "required": ["command", "checks"]
    },
    "agentTask": {
      "type": "object",
      "required": ["id", "status", "priority", "title", "rationale", "files", "completionCriteria"]
    }
  }
}
