fix(d5): Marathon-Scanner-Triage — trace_api_contracts 859→218 (-75%, Router-Präfixe/Multi-Router/leere Pfade/Template-Literals gefixt), trace_plugins 27→0 (-100%, Inline-Manifest-Konvention erkannt); 371 HIGH-Fehlalarme eliminiert (OpenAPI-verifiziert); ~12 echte API-Bugs als Follow-up dokumentiert (ai/sessions ×5, policies ×4, mail ×4)

This commit is contained in:
Agent Zero
2026-08-24 12:43:41 +02:00
parent c0e8e4ecfd
commit 5cc5a3fa6a
11 changed files with 2702 additions and 7360 deletions
+195 -172
View File
@@ -3,137 +3,161 @@
{
"name": "mcp_client",
"path": "app/plugins/builtins/mcp_client",
"has_manifest": false
"has_manifest": true
},
{
"name": "forgejo_error_reporter",
"path": "app/plugins/builtins/forgejo_error_reporter",
"has_manifest": false
"has_manifest": true
},
{
"name": "automation",
"path": "app/plugins/builtins/automation",
"has_manifest": false
"has_manifest": true,
"has_menu_items": true,
"has_page_routes": true,
"has_settings_pages": true
},
{
"name": "dms",
"path": "app/plugins/builtins/dms",
"has_manifest": false
"has_manifest": true,
"has_menu_items": true,
"has_page_routes": true,
"has_detail_tabs": true
},
{
"name": "mail",
"path": "app/plugins/builtins/mail",
"has_manifest": false
},
{
"name": "migrations",
"path": "app/plugins/builtins/migrations",
"has_manifest": false
"has_manifest": true,
"has_menu_items": true,
"has_page_routes": true,
"has_settings_pages": true,
"has_detail_tabs": true
},
{
"name": "wiki",
"path": "app/plugins/builtins/wiki",
"has_manifest": false
},
{
"name": "tests",
"path": "app/plugins/builtins/tests",
"has_manifest": false
"has_manifest": true,
"has_menu_items": true,
"has_page_routes": true
},
{
"name": "contacts",
"path": "app/plugins/builtins/contacts",
"has_manifest": false
"has_manifest": true
},
{
"name": "tasks",
"path": "app/plugins/builtins/tasks",
"has_manifest": false
"has_manifest": true,
"has_menu_items": true,
"has_page_routes": true
},
{
"name": "calendar",
"path": "app/plugins/builtins/calendar",
"has_manifest": false
"has_manifest": true,
"has_menu_items": true,
"has_page_routes": true,
"has_detail_tabs": true
},
{
"name": "unified_search",
"path": "app/plugins/builtins/unified_search",
"has_manifest": false
"has_manifest": true,
"has_page_routes": true
},
{
"name": "agent_memory",
"path": "app/plugins/builtins/agent_memory",
"has_manifest": false
"has_manifest": true
},
{
"name": "marketplace",
"path": "app/plugins/builtins/marketplace",
"has_manifest": false
"has_manifest": true,
"has_menu_items": true,
"has_page_routes": true,
"has_settings_pages": true,
"has_detail_tabs": true
},
{
"name": "graph_rag",
"path": "app/plugins/builtins/graph_rag",
"has_manifest": false
"has_manifest": true
},
{
"name": "report_generator",
"path": "app/plugins/builtins/report_generator",
"has_manifest": false
"has_manifest": true,
"has_menu_items": true,
"has_page_routes": true
},
{
"name": "system_notif",
"path": "app/plugins/builtins/system_notif",
"has_manifest": false
"has_manifest": true,
"has_settings_pages": true
},
{
"name": "knowledge",
"path": "app/plugins/builtins/knowledge",
"has_manifest": false
"has_manifest": true
},
{
"name": "entity_links",
"path": "app/plugins/builtins/entity_links",
"has_manifest": false
"has_manifest": true,
"has_detail_tabs": true
},
{
"name": "kommunikation",
"path": "app/plugins/builtins/kommunikation",
"has_manifest": false
"has_manifest": true,
"has_menu_items": true,
"has_page_routes": true
},
{
"name": "ai_proactive",
"path": "app/plugins/builtins/ai_proactive",
"has_manifest": false
"has_manifest": true,
"has_settings_pages": true
},
{
"name": "ai_assistant",
"path": "app/plugins/builtins/ai_assistant",
"has_manifest": false
"has_manifest": true,
"has_menu_items": true,
"has_page_routes": true,
"has_settings_pages": true
},
{
"name": "tags",
"path": "app/plugins/builtins/tags",
"has_manifest": false
"has_manifest": true,
"has_detail_tabs": true
},
{
"name": "permissions",
"path": "app/plugins/builtins/permissions",
"has_manifest": false
"has_manifest": true,
"has_settings_pages": true
},
{
"name": "mcp_server",
"path": "app/plugins/builtins/mcp_server",
"has_manifest": false
"has_manifest": true
},
{
"name": "ai_ui_control",
"path": "app/plugins/builtins/ai_ui_control",
"has_manifest": false
"has_manifest": true
},
{
"name": "self_improvement",
"path": "app/plugins/builtins/self_improvement",
"has_manifest": false
"has_manifest": true
}
],
"frontend_refs": {},
@@ -768,6 +792,141 @@
"path": "/categories",
"file": "app/plugins/builtins/wiki/routes.py"
},
{
"method": "GET",
"path": "/export",
"file": "app/plugins/builtins/contacts/routes.py"
},
{
"method": "GET",
"path": "/merge-history",
"file": "app/plugins/builtins/contacts/routes.py"
},
{
"method": "GET",
"path": "/{contact_id}",
"file": "app/plugins/builtins/contacts/routes.py"
},
{
"method": "PUT",
"path": "/{contact_id}",
"file": "app/plugins/builtins/contacts/routes.py"
},
{
"method": "DELETE",
"path": "/{contact_id}",
"file": "app/plugins/builtins/contacts/routes.py"
},
{
"method": "GET",
"path": "/{contact_id}/persons",
"file": "app/plugins/builtins/contacts/routes.py"
},
{
"method": "POST",
"path": "/{contact_id}/persons",
"file": "app/plugins/builtins/contacts/routes.py"
},
{
"method": "PUT",
"path": "/{contact_id}/persons/{person_id}",
"file": "app/plugins/builtins/contacts/routes.py"
},
{
"method": "DELETE",
"path": "/{contact_id}/persons/{person_id}",
"file": "app/plugins/builtins/contacts/routes.py"
},
{
"method": "POST",
"path": "/duplicates",
"file": "app/plugins/builtins/contacts/routes.py"
},
{
"method": "POST",
"path": "/merge",
"file": "app/plugins/builtins/contacts/routes.py"
},
{
"method": "PUT",
"path": "/{folder_id}",
"file": "app/plugins/builtins/contacts/folder_routes.py"
},
{
"method": "DELETE",
"path": "/{folder_id}",
"file": "app/plugins/builtins/contacts/folder_routes.py"
},
{
"method": "PUT",
"path": "/{folder_id}/reorder",
"file": "app/plugins/builtins/contacts/folder_routes.py"
},
{
"method": "PUT",
"path": "/contacts/{contact_id}/move",
"file": "app/plugins/builtins/contacts/folder_routes.py"
},
{
"method": "GET",
"path": "/{folder_id}/permissions",
"file": "app/plugins/builtins/contacts/folder_permission_routes.py"
},
{
"method": "POST",
"path": "/{folder_id}/permissions",
"file": "app/plugins/builtins/contacts/folder_permission_routes.py"
},
{
"method": "PUT",
"path": "/{folder_id}/permissions/{permission_id}",
"file": "app/plugins/builtins/contacts/folder_permission_routes.py"
},
{
"method": "DELETE",
"path": "/{folder_id}/permissions/{permission_id}",
"file": "app/plugins/builtins/contacts/folder_permission_routes.py"
},
{
"method": "GET",
"path": "/{folder_id}/access",
"file": "app/plugins/builtins/contacts/folder_permission_routes.py"
},
{
"method": "GET",
"path": "/export",
"file": "app/plugins/builtins/contacts/company_routes.py"
},
{
"method": "GET",
"path": "/{company_id}",
"file": "app/plugins/builtins/contacts/company_routes.py"
},
{
"method": "PUT",
"path": "/{company_id}",
"file": "app/plugins/builtins/contacts/company_routes.py"
},
{
"method": "DELETE",
"path": "/{company_id}",
"file": "app/plugins/builtins/contacts/company_routes.py"
},
{
"method": "POST",
"path": "/{company_id}/contacts/{contact_id}",
"file": "app/plugins/builtins/contacts/company_routes.py"
},
{
"method": "DELETE",
"path": "/{company_id}/contacts/{contact_id}",
"file": "app/plugins/builtins/contacts/company_routes.py"
},
{
"method": "GET",
"path": "/{company_id}/emails",
"file": "app/plugins/builtins/contacts/company_routes.py"
},
{
"method": "GET",
"path": "/{task_id}",
@@ -1529,141 +1688,5 @@
"file": "app/plugins/builtins/self_improvement/routes.py"
}
],
"issues": [
{
"plugin": "mcp_client",
"issue": "No manifest.py",
"severity": "HIGH"
},
{
"plugin": "forgejo_error_reporter",
"issue": "No manifest.py",
"severity": "HIGH"
},
{
"plugin": "automation",
"issue": "No manifest.py",
"severity": "HIGH"
},
{
"plugin": "dms",
"issue": "No manifest.py",
"severity": "HIGH"
},
{
"plugin": "mail",
"issue": "No manifest.py",
"severity": "HIGH"
},
{
"plugin": "migrations",
"issue": "No manifest.py",
"severity": "HIGH"
},
{
"plugin": "wiki",
"issue": "No manifest.py",
"severity": "HIGH"
},
{
"plugin": "tests",
"issue": "No manifest.py",
"severity": "HIGH"
},
{
"plugin": "contacts",
"issue": "No manifest.py",
"severity": "HIGH"
},
{
"plugin": "tasks",
"issue": "No manifest.py",
"severity": "HIGH"
},
{
"plugin": "calendar",
"issue": "No manifest.py",
"severity": "HIGH"
},
{
"plugin": "unified_search",
"issue": "No manifest.py",
"severity": "HIGH"
},
{
"plugin": "agent_memory",
"issue": "No manifest.py",
"severity": "HIGH"
},
{
"plugin": "marketplace",
"issue": "No manifest.py",
"severity": "HIGH"
},
{
"plugin": "graph_rag",
"issue": "No manifest.py",
"severity": "HIGH"
},
{
"plugin": "report_generator",
"issue": "No manifest.py",
"severity": "HIGH"
},
{
"plugin": "system_notif",
"issue": "No manifest.py",
"severity": "HIGH"
},
{
"plugin": "knowledge",
"issue": "No manifest.py",
"severity": "HIGH"
},
{
"plugin": "entity_links",
"issue": "No manifest.py",
"severity": "HIGH"
},
{
"plugin": "kommunikation",
"issue": "No manifest.py",
"severity": "HIGH"
},
{
"plugin": "ai_proactive",
"issue": "No manifest.py",
"severity": "HIGH"
},
{
"plugin": "ai_assistant",
"issue": "No manifest.py",
"severity": "HIGH"
},
{
"plugin": "tags",
"issue": "No manifest.py",
"severity": "HIGH"
},
{
"plugin": "permissions",
"issue": "No manifest.py",
"severity": "HIGH"
},
{
"plugin": "mcp_server",
"issue": "No manifest.py",
"severity": "HIGH"
},
{
"plugin": "ai_ui_control",
"issue": "No manifest.py",
"severity": "HIGH"
},
{
"plugin": "self_improvement",
"issue": "No manifest.py",
"severity": "HIGH"
}
]
"issues": []
}