Documentation
¶
Overview ¶
Package status builds and renders structured Codog runtime status reports.
Index ¶
- func RenderText(w io.Writer, snapshot Snapshot)
- type AllowedToolsStatus
- type BootBinaryPreflightStatus
- type BootComponentPreflightStatus
- type BootPreflightStatus
- type BootRepoPreflightStatus
- type BootTrustPreflightStatus
- type ConfigStatus
- type ConfigValidationStatus
- type GitStatus
- type HookValidationStatus
- type LaneBoardStatus
- type MCPValidationStatus
- type MemoryFileStatus
- type Options
- type PermissionRuleStatus
- type PermissionRulesStatus
- type PlanStatus
- type RuntimeStatus
- type SandboxStatus
- type SessionLifecycleStatus
- type SessionStatus
- type Snapshot
- type ToolsStatus
- type ValidationIssue
- type WorkspaceStatus
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RenderText ¶
RenderText writes a human-readable status snapshot.
Types ¶
type AllowedToolsStatus ¶
type AllowedToolsStatus struct {
Source string `json:"source"`
Restricted bool `json:"restricted"`
Entries []string `json:"entries,omitempty"`
Available []string `json:"available"`
Aliases map[string]string `json:"aliases"`
}
AllowedToolsStatus describes the active allowed-tools restriction contract.
type BootBinaryPreflightStatus ¶
type BootBinaryPreflightStatus struct {
Name string `json:"name"`
Available bool `json:"available"`
Path string `json:"path,omitempty"`
}
BootBinaryPreflightStatus reports availability for one startup binary.
type BootComponentPreflightStatus ¶
type BootComponentPreflightStatus struct {
Eligible bool `json:"eligible"`
Configured int `json:"configured"`
Loaded int `json:"loaded,omitempty"`
Invalid int `json:"invalid,omitempty"`
Error string `json:"error,omitempty"`
}
BootComponentPreflightStatus reports startup eligibility for optional runtime subsystems.
type BootPreflightStatus ¶
type BootPreflightStatus struct {
Repo BootRepoPreflightStatus `json:"repo"`
Trust BootTrustPreflightStatus `json:"trust"`
RequiredBinaries []BootBinaryPreflightStatus `json:"required_binaries,omitempty"`
MCPStartup BootComponentPreflightStatus `json:"mcp_startup"`
PluginStartup BootComponentPreflightStatus `json:"plugin_startup"`
LastFailedBootReason string `json:"last_failed_boot_reason,omitempty"`
}
BootPreflightStatus reports static startup readiness signals before runtime initialization.
type BootRepoPreflightStatus ¶
type BootRepoPreflightStatus struct {
WorkspaceExists bool `json:"workspace_exists"`
GitDirExists bool `json:"git_dir_exists"`
GitAvailable bool `json:"git_available"`
Identity *gitops.Identity `json:"identity,omitempty"`
BranchFreshness *gitops.BranchFreshness `json:"branch_freshness,omitempty"`
BaseCommit *gitops.BaseCommitCheck `json:"base_commit,omitempty"`
}
BootRepoPreflightStatus summarizes workspace and git availability at startup.
type BootTrustPreflightStatus ¶
type BootTrustPreflightStatus struct {
Allowed bool `json:"allowed"`
TrustedRootsCount int `json:"trusted_roots_count"`
}
BootTrustPreflightStatus reports whether the workspace passes the trust gate.
type ConfigStatus ¶
type ConfigStatus struct {
ConfigHome string `json:"config_home"`
Model string `json:"model"`
ModelEnvVar string `json:"model_env_var,omitempty"`
FastMode bool `json:"fast_mode"`
BaseURL string `json:"base_url"`
RuntimeProvider string `json:"runtime_provider,omitempty"`
RuntimeProviderSource string `json:"runtime_provider_source,omitempty"`
ProviderEndpoint modelrouting.BaseURLDiagnostic `json:"provider_endpoint"`
PermissionMode string `json:"permission_mode"`
PermissionModeRaw string `json:"permission_mode_raw"`
PermissionModeSource string `json:"permission_mode_source"`
PermissionModeEnvVar string `json:"permission_mode_env_var,omitempty"`
PermissionRules PermissionRulesStatus `json:"permission_rules,omitempty"`
MaxTokens int `json:"max_tokens"`
MaxTurns int `json:"max_turns"`
AutoCompactMessages int `json:"auto_compact_messages"`
Auth providerdiag.AuthDiagnostic `json:"auth"`
AuthConfigured bool `json:"auth_configured"`
MCPServerCount int `json:"mcp_server_count"`
UserPromptSubmitHookCount int `json:"user_prompt_submit_hook_count"`
SessionStartHookCount int `json:"session_start_hook_count"`
SessionEndHookCount int `json:"session_end_hook_count"`
SetupHookCount int `json:"setup_hook_count"`
PreHookCount int `json:"pre_hook_count"`
PostHookCount int `json:"post_hook_count"`
PostFailureHookCount int `json:"post_tool_use_failure_hook_count"`
PermissionRequestHookCount int `json:"permission_request_hook_count"`
PermissionDeniedHookCount int `json:"permission_denied_hook_count"`
StopHookCount int `json:"stop_hook_count"`
StopFailureHookCount int `json:"stop_failure_hook_count"`
PreCompactHookCount int `json:"pre_compact_hook_count"`
PostCompactHookCount int `json:"post_compact_hook_count"`
NotificationHookCount int `json:"notification_hook_count"`
SubagentStartHookCount int `json:"subagent_start_hook_count"`
SubagentStopHookCount int `json:"subagent_stop_hook_count"`
WorktreeCreateHookCount int `json:"worktree_create_hook_count"`
WorktreeRemoveHookCount int `json:"worktree_remove_hook_count"`
CwdChangedHookCount int `json:"cwd_changed_hook_count"`
TaskCreatedHookCount int `json:"task_created_hook_count"`
TaskCompletedHookCount int `json:"task_completed_hook_count"`
InstructionsLoadedHookCount int `json:"instructions_loaded_hook_count"`
FileChangedHookCount int `json:"file_changed_hook_count"`
EnabledSkillCount int `json:"enabled_skill_count"`
}
ConfigStatus summarizes the effective runtime configuration.
type ConfigValidationStatus ¶
type ConfigValidationStatus struct {
Status string `json:"status"`
FileCount int `json:"file_count"`
PresentCount int `json:"present_count"`
ErrorCount int `json:"error_count"`
WarningCount int `json:"warning_count"`
Paths []string `json:"paths,omitempty"`
}
ConfigValidationStatus summarizes static configuration file validation.
type GitStatus ¶
type GitStatus struct {
Available bool `json:"available"`
Error string `json:"error,omitempty"`
Branch string `json:"branch,omitempty"`
Upstream string `json:"upstream,omitempty"`
HasUpstream bool `json:"has_upstream"`
HeadSHA string `json:"head_sha,omitempty"`
HeadShortSHA string `json:"head_short_sha,omitempty"`
HeadRef string `json:"head_ref,omitempty"`
IsDetached bool `json:"is_detached"`
IsBare bool `json:"is_bare"`
IsWorktree bool `json:"is_worktree"`
GitDir string `json:"git_dir,omitempty"`
Clean bool `json:"clean"`
Staged int `json:"staged"`
Unstaged int `json:"unstaged"`
Untracked int `json:"untracked"`
Conflicts int `json:"conflicts"`
Freshness *gitops.BranchFreshness `json:"freshness,omitempty"`
BaseCommit *gitops.BaseCommitCheck `json:"base_commit,omitempty"`
Operation *gitops.Operation `json:"operation,omitempty"`
Raw string `json:"raw,omitempty"`
}
GitStatus summarizes local git state for the workspace.
type HookValidationStatus ¶
type HookValidationStatus struct {
ValidCount int `json:"valid_count"`
InvalidCount int `json:"invalid_count"`
InvalidHooks []ValidationIssue `json:"invalid_hooks,omitempty"`
}
HookValidationStatus summarizes static hook configuration validation.
type LaneBoardStatus ¶
type LaneBoardStatus struct {
StatusJSONSupported bool `json:"status_json_supported"`
FreshnessStates []background.LaneFreshness `json:"freshness_states"`
Available bool `json:"available"`
Error string `json:"error,omitempty"`
ActiveCount int `json:"active_count"`
BlockedCount int `json:"blocked_count"`
FinishedCount int `json:"finished_count"`
GeneratedAt string `json:"generated_at,omitempty"`
Active []background.LaneBoardEntry `json:"active,omitempty"`
Blocked []background.LaneBoardEntry `json:"blocked,omitempty"`
Finished []background.LaneBoardEntry `json:"finished,omitempty"`
}
LaneBoardStatus summarizes background task lanes.
type MCPValidationStatus ¶
type MCPValidationStatus struct {
TotalConfigured int `json:"total_configured"`
ValidCount int `json:"valid_count"`
RequiredCount int `json:"required_count"`
OptionalCount int `json:"optional_count"`
InvalidCount int `json:"invalid_count"`
InvalidServers []ValidationIssue `json:"invalid_servers,omitempty"`
}
MCPValidationStatus summarizes static MCP server configuration validation.
type MemoryFileStatus ¶
type MemoryFileStatus struct {
Path string `json:"path"`
Name string `json:"name"`
Source string `json:"source,omitempty"`
Origin string `json:"origin,omitempty"`
Scope string `json:"scope"`
ScopePath string `json:"scope_path,omitempty"`
OutsideProject bool `json:"outside_project,omitempty"`
Chars int `json:"chars"`
Lines int `json:"lines"`
Words int `json:"words"`
SizeBytes int64 `json:"size_bytes"`
ModifiedAt string `json:"modified_at,omitempty"`
AgeSeconds int64 `json:"age_seconds"`
Empty bool `json:"empty"`
Contributes bool `json:"contributes"`
Truncated bool `json:"truncated,omitempty"`
}
MemoryFileStatus describes one instruction file loaded into context.
type Options ¶
type Options struct {
Version string
FormatSource string
FormatRaw string
FormatOverridden bool
ConfigLoadError string
ConfigLoadErrorKind string
Workspace string
ConfigHome string
Model string
ModelEnvVar string
RuntimeProvider string
RuntimeProviderSource string
FastMode bool
BaseURL string
PermissionMode string
PermissionModeRaw string
PermissionModeSource string
PermissionModeEnvVar string
PermissionRules config.PermissionRules
MaxTokens int
MaxTurns int
AutoCompactMessages int
APIKey string
AuthToken string
AuthConfigured bool
MCPServerCount int
InstalledPluginCount int
PluginLoadError string
TrustedRoots []string
LastFailedBootReason string
UserPromptSubmitHookCount int
SessionStartHookCount int
SessionEndHookCount int
SetupHookCount int
PreHookCount int
PostHookCount int
PostFailureHookCount int
PermissionRequestHookCount int
PermissionDeniedHookCount int
StopHookCount int
StopFailureHookCount int
PreCompactHookCount int
PostCompactHookCount int
NotificationHookCount int
SubagentStartHookCount int
SubagentStopHookCount int
WorktreeCreateHookCount int
WorktreeRemoveHookCount int
CwdChangedHookCount int
TaskCreatedHookCount int
TaskCompletedHookCount int
InstructionsLoadedHookCount int
FileChangedHookCount int
EnabledSkillCount int
ConfigValidation ConfigValidationStatus
MCPValidation MCPValidationStatus
HookValidation HookValidationStatus
PlanActive bool
PlanText string
PlanUpdatedAt string
MemoryFiles []MemoryFileStatus
ToolNames []string
AllowedToolSource string
AllowedToolEntries []string
ToolAliases map[string]string
SessionID string
SessionPath string
SessionNamespacePath string
SessionWorkspace string
SessionWorkspaceFingerprint string
SessionMessages int
SessionCount int
SessionCreatedAtMS int64
SessionUpdatedAtMS int64
SessionModifiedEpochMillis int64
SessionParentSessionID string
SessionBranchName string
SessionLifecycleKind string
SessionLifecycleSignal string
GitStatus string
GitError string
GitFreshness *gitops.BranchFreshness
GitIdentity *gitops.Identity
GitBaseCommit *gitops.BaseCommitCheck
GitOperation *gitops.Operation
LaneBoard *background.LaneBoard
LaneBoardError string
SandboxOS string
SandboxDefault string
SandboxStrategies []string
SandboxAvailable bool
Executable string
}
Options contains the runtime inputs needed to build a status snapshot.
type PermissionRuleStatus ¶
type PermissionRuleStatus struct {
Raw string `json:"raw"`
Tool string `json:"tool,omitempty"`
ResolvedToolName string `json:"resolved_tool_name,omitempty"`
Matcher string `json:"matcher,omitempty"`
UnknownTool bool `json:"unknown_tool,omitempty"`
Suggestions []string `json:"suggestions,omitempty"`
}
PermissionRuleStatus describes one configured permission rule.
type PermissionRulesStatus ¶
type PermissionRulesStatus struct {
Allow []PermissionRuleStatus `json:"allow,omitempty"`
Deny []PermissionRuleStatus `json:"deny,omitempty"`
Ask []PermissionRuleStatus `json:"ask,omitempty"`
DeniedTools []PermissionRuleStatus `json:"denied_tools,omitempty"`
UnknownCount int `json:"unknown_count,omitempty"`
}
PermissionRulesStatus exposes parsed permission rules for automation audits.
func BuildPermissionRulesStatus ¶
func BuildPermissionRulesStatus(rules config.PermissionRules, toolNames []string, toolAliases map[string]string) PermissionRulesStatus
BuildPermissionRulesStatus parses configured permission rules against the active tool registry so status and doctor use the same audit semantics.
type PlanStatus ¶
type PlanStatus struct {
Active bool `json:"active"`
Text string `json:"text,omitempty"`
UpdatedAt string `json:"updated_at,omitempty"`
}
PlanStatus reports whether plan mode is active for the workspace.
type RuntimeStatus ¶
type RuntimeStatus struct {
OS string `json:"os"`
Arch string `json:"arch"`
GoVersion string `json:"go_version"`
Executable string `json:"executable,omitempty"`
}
RuntimeStatus reports the Codog process and Go runtime details.
type SandboxStatus ¶
type SandboxStatus struct {
OS string `json:"os"`
Default string `json:"default,omitempty"`
Strategies []string `json:"strategies,omitempty"`
Available bool `json:"available"`
}
SandboxStatus reports sandbox detection and configured execution strategy.
type SessionLifecycleStatus ¶
type SessionLifecycleStatus struct {
Kind string `json:"kind"`
Signal string `json:"signal"`
Saved bool `json:"saved"`
Abandoned bool `json:"abandoned"`
}
SessionLifecycleStatus describes whether a saved session is complete or abandoned.
type SessionStatus ¶
type SessionStatus struct {
Active bool `json:"active"`
ID string `json:"id,omitempty"`
Path string `json:"path,omitempty"`
NamespacePath string `json:"namespace_path,omitempty"`
Workspace string `json:"workspace,omitempty"`
WorkspaceFingerprint string `json:"workspace_fingerprint,omitempty"`
MessageCount int `json:"message_count"`
SavedCount int `json:"saved_count"`
CreatedAtMS int64 `json:"created_at_ms,omitempty"`
UpdatedAtMS int64 `json:"updated_at_ms,omitempty"`
ModifiedEpochMillis int64 `json:"modified_epoch_millis,omitempty"`
ParentSessionID string `json:"parent_session_id,omitempty"`
BranchName string `json:"branch_name,omitempty"`
Lifecycle *SessionLifecycleStatus `json:"lifecycle,omitempty"`
}
SessionStatus summarizes the active session and saved session ledger.
type Snapshot ¶
type Snapshot struct {
Kind string `json:"kind"`
Action string `json:"action"`
Status string `json:"status"`
FormatSource string `json:"format_source"`
FormatRaw string `json:"format_raw"`
FormatOverridden bool `json:"format_overridden"`
ConfigLoadError string `json:"config_load_error,omitempty"`
ConfigLoadErrorKind string `json:"config_load_error_kind,omitempty"`
Version string `json:"version"`
Workspace WorkspaceStatus `json:"workspace"`
Config ConfigStatus `json:"config"`
Session SessionStatus `json:"session"`
Plan PlanStatus `json:"plan"`
Tools ToolsStatus `json:"tools"`
AllowedTools AllowedToolsStatus `json:"allowed_tools"`
Git GitStatus `json:"git"`
LaneBoard LaneBoardStatus `json:"lane_board"`
Sandbox SandboxStatus `json:"sandbox"`
Runtime RuntimeStatus `json:"runtime"`
BootPreflight BootPreflightStatus `json:"boot_preflight"`
ConfigValidation ConfigValidationStatus `json:"config_validation"`
MCPValidation MCPValidationStatus `json:"mcp_validation"`
HookValidation HookValidationStatus `json:"hook_validation"`
}
Snapshot is the stable JSON payload returned by `codog status --json`.
type ToolsStatus ¶
ToolsStatus lists the registered tool names visible to the model runtime.
type ValidationIssue ¶
type ValidationIssue struct {
Name string `json:"name,omitempty"`
Event string `json:"event,omitempty"`
Index *int `json:"index,omitempty"`
HookIndex *int `json:"hook_index,omitempty"`
Kind string `json:"kind,omitempty"`
ErrorField string `json:"error_field,omitempty"`
Reason string `json:"reason"`
Command string `json:"command,omitempty"`
Matcher string `json:"matcher,omitempty"`
Valid bool `json:"valid"`
}
ValidationIssue describes one invalid MCP server or hook entry.
type WorkspaceStatus ¶
type WorkspaceStatus struct {
Path string `json:"path"`
Name string `json:"name"`
MemoryFileCount int `json:"memory_file_count"`
MemoryFiles []MemoryFileStatus `json:"memory_files,omitempty"`
}
WorkspaceStatus describes the active workspace and loaded project memory.