registry
registry
¶
Registry of available remedies.
Provides a central place to register and look up remedies. The create_default_registry() factory returns a registry with all built-in remedies pre-registered.
Classes¶
RemedyRegistry
¶
Registry of available remedies.
Maintains a list of remedy instances and provides methods to query them by name or find applicable remedies for a given error context.
Example
registry = RemedyRegistry() registry.register(CreateMissingWorkspaceRemedy())
Find by name¶
remedy = registry.get_by_name("create_missing_workspace")
Find all that apply to an error¶
applicable = registry.find_applicable(context)
Initialize an empty registry.
Source code in src/marianne/healing/registry.py
Functions¶
register
¶
Register a remedy.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
remedy
|
Remedy
|
Remedy instance to register. |
required |
all_remedies
¶
Get all registered remedies.
Returns:
| Type | Description |
|---|---|
list[Remedy]
|
List of all registered remedy instances. |
get_by_name
¶
Get remedy by name.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name
|
str
|
Unique remedy identifier. |
required |
Returns:
| Type | Description |
|---|---|
Remedy | None
|
Remedy if found, None otherwise. |
Source code in src/marianne/healing/registry.py
find_applicable
¶
Find all remedies that apply to the error.
Queries each registered remedy and collects those that return a diagnosis. Results are sorted by diagnosis confidence (highest first).
Remedy diagnosis crashes are logged and recorded in
self.diagnosis_errors so callers can report them
instead of showing misleading "NO ACTION NEEDED" messages.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
context
|
ErrorContext
|
Error context with diagnostic information. |
required |
Returns:
| Type | Description |
|---|---|
list[tuple[Remedy, Diagnosis]]
|
List of (remedy, diagnosis) tuples sorted by confidence. |
Source code in src/marianne/healing/registry.py
count
¶
Get the number of registered remedies.
Returns:
| Type | Description |
|---|---|
int
|
Number of remedies in the registry. |
Functions¶
create_default_registry
¶
Create registry with all built-in remedies.
This is the primary factory for getting a fully-configured remedy registry. It registers:
Automatic remedies (safe, apply without confirmation): - CreateMissingWorkspaceRemedy - CreateMissingParentDirsRemedy - FixPathSeparatorsRemedy
Suggested remedies (require user confirmation): - SuggestJinjaFixRemedy
Diagnostic remedies (provide guidance only): - DiagnoseAuthErrorRemedy - DiagnoseMissingCLIRemedy
Returns:
| Type | Description |
|---|---|
RemedyRegistry
|
RemedyRegistry with all built-in remedies registered. |