diagnosticcontract

package
v0.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 27, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SeverityOK       = "ok"
	SeverityInfo     = "info"
	SeverityWarn     = "warn"
	SeverityError    = "error"
	SeverityCritical = "critical"
)
View Source
const (
	FreshnessLive    = "live"
	FreshnessOffline = "offline"
	FreshnessStale   = "stale"
)
View Source
const (
	CategoryProvider   = "provider"
	CategoryDaemon     = "daemon"
	CategoryConfig     = "config"
	CategoryVault      = "vault"
	CategoryMCP        = "mcp"
	CategoryBridge     = "bridge"
	CategoryExtension  = "extension"
	CategorySession    = "session"
	CategoryTask       = "task"
	CategoryHome       = "home"
	CategorySecrets    = "secrets"
	CategoryMigrations = "migrations"
	CategoryNetwork    = "network"
)
View Source
const (
	CodeBinaryVersionMismatch         = "binary_version_mismatch"
	CodeBridgeHealthUnavailable       = "bridge_health_unavailable"
	CodeBridgeNotFound                = "bridge_not_found"
	CodeBridgeNotificationSuppressed  = "bridge_notification_suppressed"
	CodeBridgeReady                   = "bridge_ready"
	CodeBridgeTargetUnavailable       = "bridge_target_unavailable"
	CodeBulkTooLarge                  = "bulk_too_large"
	CodeBundleConsentRequired         = "bundle_consent_required"
	CodeBundlePartialFailure          = "bundle_partial_failure"
	CodeBundleSizeExceeded            = "bundle_size_exceeded"
	CodeConfigActiveSessionsBlock     = "config_active_sessions_block"
	CodeConfigApplyUnsupported        = "config_apply_unsupported"
	CodeConfigDriftPresent            = "config_drift_present"
	CodeConfigDriftStale              = "config_drift_stale"
	CodeConfigInvalid                 = "config_invalid"
	CodeConfigPartialFailure          = "config_partial_failure"
	CodeConfigReloadTimeout           = "config_reload_timeout"
	CodeConfigRestartRequired         = "config_restart_required"
	CodeConfigValidateFailed          = "config_validate_failed"
	CodeConfigValidated               = "config_validated"
	CodeCursorConflict                = "cursor_conflict"
	CodeDaemonHealthUnavailable       = "daemon_health_unavailable"
	CodeDaemonStateSuspect            = "daemon_state_suspect"
	CodeDaemonStatusOK                = "daemon_status_ok"
	CodeDaemonUnavailable             = "daemon_unavailable"
	CodeDiskWriteFailed               = "disk_write_failed"
	CodeExtensionBlockedByBundle      = "extension_blocked_by_bundle"
	CodeExtensionChecksumUnverified   = "extension_checksum_unverified"
	CodeExtensionInstallFailed        = "extension_install_failed"
	CodeExtensionInUse                = "extension_in_use"
	CodeExtensionNotFound             = "extension_not_found"
	CodeFlagNotApplicable             = "flag_not_applicable"
	CodeForbiddenOperatorAction       = "forbidden_operator_action"
	CodeForceOpRateLimited            = "force_op_rate_limited"
	CodeForceOpRequiresReason         = "force_op_requires_reason"
	CodeHomeDiskSpaceCritical         = "home_disk_space_critical"
	CodeHomeDiskSpaceLow              = "home_disk_space_low"
	CodeHomePathMissing               = "home_path_missing"
	CodeHomePermsWrong                = "home_perms_wrong"
	CodeIDFormatUnknown               = "id_format_unknown"
	CodeIdentityLookupUnavailable     = "identity_lookup_unavailable"
	CodeIdentityMismatch              = "identity_mismatch"
	CodeIdentityRequired              = "identity_required"
	CodeIdentityStale                 = "identity_stale"
	CodeIdentityUnauthorized          = "identity_unauthorized"
	CodeMarketplaceUnavailable        = "marketplace_unavailable"
	CodeMCPAuthRequired               = "mcp_auth_required"
	CodeMCPServerReady                = "mcp_server_ready"
	CodeMCPServerUnavailable          = "mcp_server_unavailable"
	CodeMigrationsPending             = "migrations_pending"
	CodeNetworkDisabled               = "network_disabled"
	CodeNetworkReady                  = "network_ready"
	CodeNetworkUnavailable            = "network_unavailable"
	CodePresetBuiltinProtected        = "preset_builtin_protected"
	CodePresetDuplicateName           = "preset_duplicate_name"
	CodePresetFilterInvalid           = "preset_filter_invalid"
	CodePresetNotFound                = "preset_not_found"
	CodeProbeFailed                   = "probe_failed"
	CodeProbeTimeout                  = "probe_timeout"
	CodeProviderClassificationUnknown = "provider_classification_unknown"
	CodeProviderCLIMissing            = "provider_cli_missing"
	CodeProviderCredentialUnresolved  = "provider_credential_unresolved"
	CodeProviderLoginRequiresLocalTTY = "provider_login_requires_local_tty"
	CodeProviderAuthenticated         = "provider_authenticated"
	CodeProviderNotAuthenticated      = "provider_not_authenticated"
	CodeProviderNotInstalled          = "provider_not_installed"
	CodeProviderPermissionDenied      = "provider_permission_denied"
	CodeProviderRateLimited           = "provider_rate_limited"
	CodeProviderTransientFailure      = "provider_transient_failure"
	CodeRetryChainTooDeep             = "retry_chain_too_deep"
	CodeSchedulerReady                = "scheduler_ready"
	CodeSchedulerPaused               = "scheduler_paused"
	// #nosec G101 -- diagnostic code label, not credential material.
	CodeSecretsPermsWrong      = "secrets_perms_wrong"
	CodeSessionBusy            = "session_busy"
	CodeSessionLocked          = "session_locked"
	CodeSessionQueueFull       = "session_queue_full"
	CodeSessionResumeAmbiguous = "session_resume_ambiguous"
	CodeSkillRegistryReady     = "skill_registry_ready"
	CodeSkillNotFound          = "skill_not_found"
	CodeSocketPathUnwritable   = "socket_path_unwritable"
	CodeTargetAmbiguous        = "target_ambiguous"
	CodeTargetUnknown          = "target_unknown"
	CodeTaskRunAlreadyTerminal = "task_run_already_terminal"
	CodeTaskRunCrashed         = "task_run_crashed"
	CodeTaskRunNotReleasable   = "task_run_not_releasable"
	CodeTaskRunOrphan          = "task_run_orphan"
	CodeTaskRunStaleLease      = "task_run_stale_lease"
	CodeTaskRunStillActive     = "task_run_still_active"
	CodeTaskRunStranded        = "task_run_stranded"
	CodeTaskRunStuck           = "task_run_stuck"
	CodeUnknownActorFormat     = "unknown_actor_format"
	CodeUnknownComponent       = "unknown_component"
	CodeVaultRefUnresolved     = "vault_ref_unresolved"
)

Variables

This section is empty.

Functions

func DiagnosticCodeCategory

func DiagnosticCodeCategory(code string) (string, bool)

DiagnosticCodeCategory returns the canonical category for code.

func DiagnosticCodes

func DiagnosticCodes() []string

DiagnosticCodes returns all registered deterministic diagnostic codes.

func IsDiagnosticCategory

func IsDiagnosticCategory(category string) bool

IsDiagnosticCategory reports whether category belongs to the closed set.

func IsDiagnosticCode

func IsDiagnosticCode(code string) bool

IsDiagnosticCode reports whether code belongs to the canonical registry.

func IsDiagnosticFreshness

func IsDiagnosticFreshness(freshness string) bool

IsDiagnosticFreshness reports whether freshness belongs to the closed set.

func IsDiagnosticSeverity

func IsDiagnosticSeverity(severity string) bool

IsDiagnosticSeverity reports whether severity belongs to the closed set.

func ValidateDiagnosticItem

func ValidateDiagnosticItem(item DiagnosticItem) error

ValidateDiagnosticItem checks the public contract without mutating it.

func ValidateDiagnosticRegistry

func ValidateDiagnosticRegistry() error

ValidateDiagnosticRegistry checks duplicate codes and unknown categories.

Types

type DiagnosticCodeSpec

type DiagnosticCodeSpec struct {
	Code     string
	Category string
}

DiagnosticCodeSpec records the canonical owner metadata for one code.

func DiagnosticCodeSpecs

func DiagnosticCodeSpecs() []DiagnosticCodeSpec

DiagnosticCodeSpecs returns the sorted canonical diagnostic code registry.

type DiagnosticItem

type DiagnosticItem struct {
	ID               string         `json:"id"`
	Code             string         `json:"code"`
	Severity         string         `json:"severity"`
	Category         string         `json:"category"`
	Title            string         `json:"title"`
	Message          string         `json:"message"`
	SuggestedCommand string         `json:"suggested_command,omitempty"`
	DocURL           string         `json:"doc_url,omitempty"`
	DataFreshness    string         `json:"data_freshness"`
	Evidence         map[string]any `json:"evidence,omitempty"`
}

DiagnosticItem is the canonical actionable-diagnostic wire shape.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL