- Мульти-провайдер: PAPAYU_LLM_PROVIDERS — сбор планов от нескольких ИИ (Claude, OpenAI), агрегация - Тренды дизайна и иконок: вкладка в модалке, поиск по безопасным доменам (Tavily include_domains) - Snyk Code: PAPAYU_SNYK_SYNC, REST API issues → snyk_findings в agent-sync - Documatic: architecture_summary из .papa-yu/architecture.md в agent-sync - Личная автоматизация: capability personal-automation (терминал git/npm/cargo, открытие URL) - agent_sync расширен: snyk_findings, architecture_summary; analyze_project_cmd и run_batch пишут sync - Документация: SNYK_AND_DOCUMATIC_SYNC.md, SECURITY_AND_PERSONAL_AUTOMATION.md, обновлён CLAUDE_AND_AGENT_SYNC Co-authored-by: Cursor <cursoragent@cursor.com>
92 lines
3.4 KiB
JSON
92 lines
3.4 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"x_schema_version": 1,
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["title", "period", "summary_md", "kpis", "findings", "recommendations", "operator_actions"],
|
|
"properties": {
|
|
"title": { "type": "string" },
|
|
"period": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["from", "to"],
|
|
"properties": {
|
|
"from": { "type": "string" },
|
|
"to": { "type": "string" }
|
|
}
|
|
},
|
|
"summary_md": { "type": "string" },
|
|
"kpis": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["apply_count", "fallback_count", "fallback_rate", "fallback_rate_excluding_non_utf8", "repair_success_rate", "sha_injection_rate"],
|
|
"properties": {
|
|
"apply_count": { "type": "integer", "minimum": 0 },
|
|
"fallback_count": { "type": "integer", "minimum": 0 },
|
|
"fallback_rate": { "type": "number", "minimum": 0, "maximum": 1 },
|
|
"fallback_rate_excluding_non_utf8": { "type": "number", "minimum": 0, "maximum": 1 },
|
|
"repair_success_rate": { "type": "number", "minimum": 0, "maximum": 1 },
|
|
"sha_injection_rate": { "type": "number", "minimum": 0, "maximum": 1 }
|
|
}
|
|
},
|
|
"findings": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["severity", "title", "evidence"],
|
|
"properties": {
|
|
"severity": { "type": "string", "enum": ["info", "warning", "critical"] },
|
|
"title": { "type": "string" },
|
|
"evidence": { "type": "string" }
|
|
}
|
|
}
|
|
},
|
|
"recommendations": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["priority", "title", "rationale", "expected_impact"],
|
|
"properties": {
|
|
"priority": { "type": "string", "enum": ["p0", "p1", "p2"] },
|
|
"title": { "type": "string" },
|
|
"rationale": { "type": "string" },
|
|
"expected_impact": { "type": "string" }
|
|
}
|
|
}
|
|
},
|
|
"operator_actions": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["title", "steps", "time_estimate_minutes"],
|
|
"properties": {
|
|
"title": { "type": "string" },
|
|
"steps": { "type": "array", "items": { "type": "string" } },
|
|
"time_estimate_minutes": { "type": "integer", "minimum": 1 }
|
|
}
|
|
}
|
|
},
|
|
"proposals": {
|
|
"type": "array",
|
|
"description": "Concrete actionable proposals (prompt_change, setting_change, golden_trace_add, limit_tuning, safety_rule). Only propose what bundle+deltas justify.",
|
|
"items": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["kind", "title", "why", "risk", "steps", "expected_impact"],
|
|
"properties": {
|
|
"kind": { "type": "string", "enum": ["prompt_change", "setting_change", "golden_trace_add", "limit_tuning", "safety_rule"] },
|
|
"title": { "type": "string" },
|
|
"why": { "type": "string" },
|
|
"risk": { "type": "string", "enum": ["low", "medium", "high"] },
|
|
"steps": { "type": "array", "items": { "type": "string" } },
|
|
"expected_impact": { "type": "string" },
|
|
"evidence": { "type": "string" }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|