Fix Types
The 7 types of automatic fixes.
Not available in this release
No new fix is generated or deployed today. Fix generation runs after a diagnosis, and diagnosis is held for the beta; fix deployment is gated off, so no fix can be put into a live status. The fix types are built, and this section describes them as designed.
Risicare can generate 7 types of declarative fixes.
Overview
Prompt
Modify prompts and examples
Parameter
Adjust LLM parameters
Tool
Fix tool configuration
Retry
Add retry logic
Fallback
Alternative strategies
Guard
Input/output validation
Routing
Agent delegation
Fix Structure
A fix, as the API returns it:
{
"fix_id": "fix-abc123",
"project_id": "proj-123",
"diagnosis_id": "diag-xyz789",
"title": "Retry on tool timeout",
"description": "Add exponential backoff retry for TOOL.EXECUTION.TIMEOUT errors",
"fix_type": "retry",
"status": "draft",
"error_code": "TOOL.EXECUTION.TIMEOUT",
"agent_id": "researcher",
"confidence": 0.85,
"fix_config": {
"max_retries": 3,
"initial_delay_ms": 1000,
"exponential_base": 2.0
}
}Targeting
A fix applies by its error_code: an exact code, or a pattern ending in * that matches by prefix — for example TOOL.EXECUTION.*. A fix record can also carry an agent_id, but the SDK does not receive it, so it does not limit where the fix applies. There is no way to target tools, models or environments.
Rollback
A fix has no rollback-strategy setting. Rolling back belongs to the deployment pipeline, which is gated off in this release — see Rollback.
Fix Precedence
The SDK Fix Runtime receives at most one active fix per error_code value: when several fixes share one, the most recently updated is served. When the runtime looks up an error, an exact code match wins over a * pattern.
SDK Integration
No fix reaches the Fix Runtime
The Fix Runtime is off by default since Python 0.4.0 and JavaScript 0.7.0:
risicare.init() does not start it. No fix can be put into a live status for it
to apply, because fix deployment is gated off. The route that the runtime reads
is not reachable with an API key during the beta. See
Fix Runtime.
from risicare import init_runtime, FixRuntimeConfig
# init() does not start the runtime: fix_runtime defaults to False since 0.4.0.
# This call starts a runtime with a custom configuration. During the beta it
# logs a warning and loads no fix.
runtime = init_runtime(config=FixRuntimeConfig(
api_endpoint="https://api.risicare.ai",
api_key="rsk-...",
))Managing Fixes
Fixes are normally created by the diagnosis pipeline, which is held for the beta — so it generates no new fixes today. There is no way to create, change or read a fix with an API key during the beta: the Management API is not available with an API key.
Via Dashboard
While diagnosis is held for the beta, Self-Healing is removed from the dashboard's navigation: its page shows only a notice that diagnosis is not part of this release, and a fix's detail page is not found.
Via API
Not available with an API key during the beta.
Promotion is gated off
Promoting a fix is part of the not-yet-connected deployment pipeline. A fix cannot be promoted today: not with an API key, and not in the dashboard. As designed, promotion requires the owner or admin role and is never invoked automatically.
Next Steps
Select a fix type to learn more: