47 lines
1.8 KiB
Python
47 lines
1.8 KiB
Python
"""Self-improvement plugin — controlled improvement loop.
|
|
|
|
Builds on existing systems:
|
|
- ai_proactive: ContextLog, ProactiveSuggestion (signals)
|
|
- automation: AgentRun, AgentVersion (versioning + runs)
|
|
- app.core.approval: ApprovalRequest (human approval)
|
|
- app.ai.oversight: DecisionRecord (audit trail)
|
|
- app.ai.llm_client: llm_complete (evaluation)
|
|
- AuditLog, WorkflowInstance (usage data)
|
|
"""
|
|
from __future__ import annotations
|
|
|
|
import logging
|
|
|
|
from app.plugins.base import BasePlugin
|
|
from app.plugins.manifest import PluginManifest, PluginRouteDef
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
class SelfImprovementPlugin(BasePlugin):
|
|
manifest = PluginManifest(
|
|
name="self_improvement",
|
|
version="1.0.0",
|
|
display_name="Self-Improvement",
|
|
description="Controlled self-improvement loop: signals, patterns, proposals, evaluation, approval, activation, rollback, impact measurement.",
|
|
dependencies=["permissions", "automation", "ai_proactive", "kommunikation"],
|
|
routes=[
|
|
PluginRouteDef(
|
|
path="/api/v1/improvement",
|
|
module="app.plugins.builtins.self_improvement.routes",
|
|
router_attr="router",
|
|
),
|
|
],
|
|
permissions=["improvement:read", "improvement:write", "improvement:admin"],
|
|
)
|
|
|
|
async def on_activate(self, db, service_container, event_bus) -> None:
|
|
"""Register self-improvement hooks on activation."""
|
|
await super().on_activate(db, service_container, event_bus)
|
|
logger.info("Self-improvement plugin activated")
|
|
|
|
async def on_deactivate(self, db, service_container, event_bus) -> None:
|
|
"""Clean up on deactivation."""
|
|
await super().on_deactivate(db, service_container, event_bus)
|
|
logger.info("Self-improvement plugin deactivated")
|