We want continuous self-improvement across UOS plugins without bloating the kernel. Today, the kernel logs plugin dispatch failures and skips workflow/check events to avoid loops, so a dedicated hotfix plugin cannot react to those failures.
{
"event": "kernel.plugin_error",
"timestamp": "2025-01-01T00:00:00Z",
"stateId": "<kernel state id>",
"source": {
"kernelRepo": "ubiquity-os/ubiquity-os-kernel",
"environment": "prod|dev"
},
"trigger": {
"githubEvent": "issue_comment.created",
"deliveryId": "<github delivery id>",
"repo": "owner/repo",
"issueOrPr": 123,
"actor": "octocat"
},
"plugin": {
"type": "http|workflow",
"id": "owner/repo:workflow.yml@ref OR https://plugin.url",
"owner": "owner",
"repo": "repo",
"workflowId": "compute.yml",
"ref": "main",
"manifest": {
"name": "...",
"version": "..."
}
},
"error": {
"message": "HTTP 502: ...",
"status": 502,
"stack": "...",
"category": "dispatch|http|workflow|timeout|validation",
"raw": "..."
},
"context": {
"requestId": "...",
"pluginInputs": {"redacted": true},
"responseSnippet": "...",
"retryCount": 0
}
}
plugins:
ubiquity-os-marketplace/daemon-hotfix:
with:
enabled: true
modes: ["issue", "pr"]
riskPolicy:
autoMerge: false
maxAutofixPerDay: 3
issueLabels: ["bug", "autofix"]
notify: ["@team-bot"]
allowlistRepos: ["ubiquity-os-marketplace/command-codex"]
Problem
We want continuous self-improvement across UOS plugins without bloating the kernel. Today, the kernel logs plugin dispatch failures and skips workflow/check events to avoid loops, so a dedicated hotfix plugin cannot react to those failures.
Goals
daemon-hotfix) with minimal kernel changes.Non-goals
High-level architecture
daemon-hotfixsubscribes to that synthetic event.daemon-hotfixtriages, de-dupes, files issues, and optionally drafts PRs.Minimal kernel changes (proposed)
Synthetic failure event
kernel.plugin_error(or similar) when a plugin dispatch fails.Optional workflow/check allowlist
workflow_*,check_*,check_run.*,check_suite.*are skipped to prevent loops.daemon-hotfixcan receive these events if configured.compute.ymlfailures).Safety guardrails
Failure event payload (draft)
daemon-hotfix behavior (MVP)
Triage & De-dupe
(plugin.id + error.category + error.message hash)within a time window.Issue creation
Optional auto-fix (guarded)
Safety, permissions, and loops
Permission model options
Loop prevention
daemon-hotfix, ignore it.Redaction
Configuration (example)
MVP acceptance criteria
Open questions
kernel.plugin_errorfor both HTTP and workflow dispatch failures, or only HTTP?