fix(kernel,server,tui,inference): generic resource gauge + F-002/F-003/F-004
- generic SystemResourceProbe: owner-agnostic /proc/meminfo system RAM overlaid on the vendor GPU probe, wired on both managed and static paths so the VRAM/GPU/RAM gauge renders with an external llama-server (was dormant) - F-002: classify provider 4xx (e.g. llama.cpp 400) as terminal, not retryable (except 408/429); stops retrying deterministic request failures to exhaustion - F-003: FileSystemPromptLoader expands leading ~ / ~/ to user home - F-004: map InferenceFailedEvent + RetryAttemptedEvent to new ServerMessage.InferenceFailed / RetryAttempted, decoded+rendered in tui-go; ArtifactContentStoredEvent explicitly mapped to null (internal, no warn) - tests: tilde expansion, SystemResourceProbe (static/managed/fail-soft)
This commit is contained in:
@@ -26,6 +26,8 @@ const (
|
||||
TypeInferenceStarted = "inference.started"
|
||||
TypeInferenceDone = "inference.completed"
|
||||
TypeInferenceTimeout = "inference.timed_out"
|
||||
TypeInferenceFailed = "inference.failed"
|
||||
TypeInferenceRetry = "inference.retry"
|
||||
TypeToolStarted = "tool.started"
|
||||
TypeToolCompleted = "tool.completed"
|
||||
TypeToolFailed = "tool.failed"
|
||||
@@ -77,6 +79,11 @@ type ServerMessage struct {
|
||||
Outcome string `json:"outcome"` // approval.resolved: APPROVED | REJECTED | AUTO_APPROVED
|
||||
WorkspaceRoot string `json:"workspaceRoot"` // session.workspace_bound: the bound cwd
|
||||
|
||||
// inference.retry
|
||||
AttemptNumber int `json:"attemptNumber"`
|
||||
MaxAttempts int `json:"maxAttempts"`
|
||||
FailureReason string `json:"failureReason"`
|
||||
|
||||
SteeringEmitted bool `json:"steeringEmitted"`
|
||||
OccurredAt int64 `json:"occurredAt"`
|
||||
ElapsedMs int64 `json:"elapsedMs"`
|
||||
@@ -99,6 +106,8 @@ type ServerMessage struct {
|
||||
GpuMemoryTotalMb *int64 `json:"gpuMemoryTotalMb"`
|
||||
GpuUtilizationPct *int `json:"gpuUtilizationPct"`
|
||||
ProcessRssMb *int64 `json:"processRssMb"`
|
||||
SystemRamUsedMb *int64 `json:"systemRamUsedMb"`
|
||||
SystemRamTotalMb *int64 `json:"systemRamTotalMb"`
|
||||
|
||||
State *SessionStateDto `json:"state"`
|
||||
RiskSummary *RiskSummaryDto `json:"riskSummary"`
|
||||
@@ -209,6 +218,7 @@ func (m ServerMessage) IsEventBearing() bool {
|
||||
TypeSessionCompleted, TypeSessionFailed,
|
||||
TypeStageStarted, TypeStageCompleted, TypeStageFailed,
|
||||
TypeInferenceStarted, TypeInferenceDone, TypeInferenceTimeout,
|
||||
TypeInferenceFailed, TypeInferenceRetry,
|
||||
TypeToolStarted, TypeToolCompleted, TypeToolFailed, TypeToolRejected,
|
||||
TypeToolAssessed,
|
||||
TypeApprovalRequired, TypeApprovalResolved, TypeWorkspaceBound, TypeArtifactCreated,
|
||||
|
||||
Reference in New Issue
Block a user