Documentation
¶
Overview ¶
Package application provides application services.
Index ¶
- func NewProjectCoordinator(repo domain.WorkspaceRepository, audit domain.AuditLogger) *project.Coordinator
- func ScanCodebaseTree(root string, maxLines int) string
- type AIPlanningService
- func (s *AIPlanningService) DecomposeSpec(ctx context.Context) (*planning.Plan, error)
- func (s *AIPlanningService) ExplainDrift(ctx context.Context, report *drift.Report) (string, error)
- func (s *AIPlanningService) ExplainSpec(ctx context.Context) (string, error)
- func (s *AIPlanningService) GetAuditLogger() domain.AuditLogger
- func (s *AIPlanningService) QueryProject(ctx context.Context, question string) (string, error)
- func (s *AIPlanningService) ReconcileSpec(ctx context.Context, rawSpec *spec.ProductSpec) (*spec.ProductSpec, error)
- func (s *AIPlanningService) ReviewSpec(ctx context.Context) (*spec.SpecReview, error)
- func (s *AIPlanningService) SmartDecompose(ctx context.Context, codebaseRoot string) (*planning.SmartPlan, error)
- func (s *AIPlanningService) SuggestPriorities(ctx context.Context) (*planning.PrioritySuggestions, error)
- type AITelemetrySummary
- type AuditEventPublisher
- func (p *AuditEventPublisher) PublishPlanApproved(ctx context.Context, planID, approver string) error
- func (p *AuditEventPublisher) PublishTaskBlocked(ctx context.Context, taskID, reason string) error
- func (p *AuditEventPublisher) PublishTaskCompleted(ctx context.Context, taskID, evidence string) error
- func (p *AuditEventPublisher) PublishTaskStarted(ctx context.Context, taskID, owner, rateID string) error
- func (p *AuditEventPublisher) PublishTaskUnblocked(ctx context.Context, taskID string) error
- type AuditService
- func (s *AuditService) GetAITelemetry() (*AITelemetrySummary, error)
- func (s *AuditService) GetTimeline() ([]domain.Event, error)
- func (s *AuditService) GetVelocity() (float64, error)
- func (s *AuditService) Log(action string, actor string, metadata map[string]interface{}) error
- func (s *AuditService) VerifyIntegrity() ([]string, error)
- type BillingService
- func (s *BillingService) AddRate(rate billing.Rate) error
- func (s *BillingService) CompleteTask(taskID string) error
- func (s *BillingService) GetBudgetStatus() (*billing.BudgetStatus, error)
- func (s *BillingService) GetCostReport(opts CostReportOpts) (*billing.CostReport, error)
- func (s *BillingService) GetDefaultRate() (*billing.Rate, error)
- func (s *BillingService) GetRate(rateID string) (*billing.Rate, error)
- func (s *BillingService) ListRates() (*billing.RateConfig, error)
- func (s *BillingService) LogTime(taskID string, rateID string, minutes int, description string) error
- func (s *BillingService) RemoveRate(rateID string) error
- func (s *BillingService) SetDefaultRate(rateID string) error
- func (s *BillingService) SetTax(name string, percent float64, included bool) error
- func (s *BillingService) StartTask(taskID string, rateID string) error
- type CostReportOpts
- type DebtService
- func (s *DebtService) GetDebtByCategory() (map[debt.DebtCategory][]*debt.DebtItem, error)
- func (s *DebtService) GetDebtByComponent() (map[string][]*debt.DebtItem, error)
- func (s *DebtService) GetDebtReport(ctx context.Context) (*debt.DebtReport, error)
- func (s *DebtService) GetDebtScore(componentID string) (*debt.DebtScore, error)
- func (s *DebtService) GetDebtSummary(ctx context.Context) (*DebtSummary, error)
- func (s *DebtService) GetDriftHistory(windowDays int) ([]events.DriftSnapshot, error)
- func (s *DebtService) GetDriftTrend(windowDays int) (events.DriftTrend, error)
- func (s *DebtService) GetHealthLevel(ctx context.Context) (string, error)
- func (s *DebtService) GetStickyDrift() ([]*debt.DebtItem, error)
- func (s *DebtService) GetTopDebtors(ctx context.Context, limit int) ([]*debt.DebtScore, error)
- func (s *DebtService) RecordDriftAccepted(componentID string, driftType drift.DriftType) error
- func (s *DebtService) RecordDriftDetection(ctx context.Context, driftReport *drift.Report) error
- func (s *DebtService) RecordDriftResolved(componentID string, driftType drift.DriftType) error
- type DebtSummary
- type DependencyRepository
- type DependencyService
- func (s *DependencyService) AddDependency(targetRepo string, depType dependency.DependencyType, description string) (*dependency.RepoDependency, error)
- func (s *DependencyService) CheckForCycles() (bool, error)
- func (s *DependencyService) GetDependency(depID string) (*dependency.RepoDependency, error)
- func (s *DependencyService) GetDependencyGraph() (*dependency.DependencyGraph, error)
- func (s *DependencyService) GetDependencyOrder() ([]string, error)
- func (s *DependencyService) GetDependencySummary() (*dependency.DependencySummary, error)
- func (s *DependencyService) GetUnhealthyDependencies() ([]*dependency.RepoHealth, error)
- func (s *DependencyService) ImportFromSpec(specDeps []dependency.SpecDependency) (*ImportResult, error)
- func (s *DependencyService) ListDependencies() ([]*dependency.RepoDependency, error)
- func (s *DependencyService) RemoveDependency(depID string) error
- func (s *DependencyService) ScanDependentRepos(healthScanner HealthScanner) (*ScanResult, error)
- type DriftService
- type EventSourcedAuditService
- func (s *EventSourcedAuditService) GetAITelemetry() (*AITelemetrySummary, error)
- func (s *EventSourcedAuditService) GetAllTaskStates() map[string]*events.TaskState
- func (s *EventSourcedAuditService) GetCompletionVelocity() float64
- func (s *EventSourcedAuditService) GetDispatcher() *events.EventDispatcher
- func (s *EventSourcedAuditService) GetRecentTimeline(n int) []events.TimelineEntry
- func (s *EventSourcedAuditService) GetTaskState(taskID string) *events.TaskState
- func (s *EventSourcedAuditService) GetTimeline() []events.TimelineEntry
- func (s *EventSourcedAuditService) GetVerificationVelocity() float64
- func (s *EventSourcedAuditService) LoadEvents() ([]*events.BaseEvent, error)
- func (s *EventSourcedAuditService) LoadEventsSince(since time.Time) ([]*events.BaseEvent, error)
- func (s *EventSourcedAuditService) Log(action string, actor string, metadata map[string]interface{}) error
- func (s *EventSourcedAuditService) RegisterHandler(reg events.HandlerRegistration)
- func (s *EventSourcedAuditService) SetDispatcher(dispatcher *events.EventDispatcher)
- func (s *EventSourcedAuditService) VerifyIntegrity() ([]string, error)
- type ForecastService
- func (s *ForecastService) GetBurndown() ([]analytics.BurndownPoint, error)
- func (s *ForecastService) GetForecast() (*analytics.ForecastResult, error)
- func (s *ForecastService) GetSimpleForecast() (*SimpleForecast, error)
- func (s *ForecastService) GetVelocityStats() analytics.VelocityStats
- func (s *ForecastService) GetVelocityTrend() analytics.VelocityTrend
- func (s *ForecastService) GetVelocityWindows() []analytics.VelocityWindow
- type GitService
- type HealthResult
- type HealthScanner
- type HealthStatus
- type ImportResult
- type InitService
- type OrgService
- func (s *OrgService) AggregateMetrics() (*org.OrgMetrics, error)
- func (s *OrgService) DetectCrossDrift() (*org.CrossDriftReport, error)
- func (s *OrgService) DiscoverProjects() ([]string, error)
- func (s *OrgService) LoadMergedPolicy(projectPath string) (*policy.PolicyConfig, error)
- func (s *OrgService) LoadOrgConfig() (*org.OrgConfig, error)
- func (s *OrgService) SaveOrgConfig(config *org.OrgConfig) error
- type PlanRepositoryAdapter
- type PlanService
- func (s *PlanService) ApprovePlan() error
- func (s *PlanService) ApprovePlanWithActor(actor string) error
- func (s *PlanService) GeneratePlan(ctx context.Context) (*planning.Plan, error)
- func (s *PlanService) GetBlockedTasks(ctx context.Context) ([]project.TaskSummary, error)
- func (s *PlanService) GetCoordinator() *project.Coordinator
- func (s *PlanService) GetInProgressTasks(ctx context.Context) ([]project.TaskSummary, error)
- func (s *PlanService) GetPlan() (*planning.Plan, error)
- func (s *PlanService) GetProjectSnapshot(ctx context.Context) (*project.ProjectSnapshot, error)
- func (s *PlanService) GetReadyTasks(ctx context.Context) ([]project.TaskSummary, error)
- func (s *PlanService) GetState() (*planning.ExecutionState, error)
- func (s *PlanService) GetTaskSummaries(ctx context.Context) ([]project.TaskSummary, error)
- func (s *PlanService) GetUsage() (*domain.UsageStats, error)
- func (s *PlanService) PrunePlan() error
- func (s *PlanService) ReconcilePlan(proposedTasks []planning.Task) (*planning.Plan, error)
- func (s *PlanService) RejectPlan() error
- func (s *PlanService) UpdatePlan(tasks []planning.Task) (*planning.Plan, error)
- type PluginConfigRepository
- type PluginInfo
- type PluginService
- func (s *PluginService) CheckAllHealth() (map[string]*HealthResult, error)
- func (s *PluginService) CheckHealth(name string) (*HealthResult, error)
- func (s *PluginService) ListPlugins() ([]PluginInfo, error)
- func (s *PluginService) RegisterPlugin(name, binaryPath string) error
- func (s *PluginService) UnregisterPlugin(name string) error
- func (s *PluginService) ValidatePlugin(name string) (*ValidationResult, error)
- type PolicyService
- type ScanResult
- type SimpleForecast
- type SpecService
- func (s *SpecService) AddFeature(title, description string) (*spec.ProductSpec, error)
- func (s *SpecService) AnalyzeDirectory(root string) (*spec.ProductSpec, error)
- func (s *SpecService) GetSpec() (*spec.ProductSpec, error)
- func (s *SpecService) ImportFromMarkdown(path string) (*spec.ProductSpec, error)
- type StateRepositoryAdapter
- type SyncResult
- type SyncService
- func (s *SyncService) GetPluginConfig(name string) (*domainPlugin.PluginConfig, error)
- func (s *SyncService) ListPluginConfigs() ([]string, error)
- func (s *SyncService) SetPluginConfig(name string, cfg domainPlugin.PluginConfig) error
- func (s *SyncService) SyncWithNamedPlugin(name string) ([]string, error)
- func (s *SyncService) SyncWithPlugin(pluginPath string) ([]string, error)
- func (s *SyncService) SyncWithPluginConfig(pluginPath string, config map[string]string) ([]string, error)
- type TaskService
- func (s *TaskService) AssignTask(ctx context.Context, taskID, assignee string) error
- func (s *TaskService) BlockTask(ctx context.Context, taskID, reason string) error
- func (s *TaskService) CompleteTask(ctx context.Context, taskID, evidence string) ([]string, error)
- func (s *TaskService) GetCoordinator() *project.Coordinator
- func (s *TaskService) LinkTask(taskID string, provider string, ref planning.ExternalRef) error
- func (s *TaskService) StartTask(ctx context.Context, taskID, owner, rateID string) error
- func (s *TaskService) TransitionTask(taskID string, event string, actor string, evidence string) error
- func (s *TaskService) UnblockTask(ctx context.Context, taskID string) error
- func (s *TaskService) VerifyTask(ctx context.Context, taskID, verifier string) error
- type TeamService
- type Template
- type UsageService
- type ValidationResult
- type WorkspaceSyncService
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewProjectCoordinator ¶ added in v0.4.0
func NewProjectCoordinator(repo domain.WorkspaceRepository, audit domain.AuditLogger) *project.Coordinator
NewProjectCoordinator creates a Coordinator using the workspace repository.
func ScanCodebaseTree ¶ added in v0.6.0
ScanCodebaseTree returns a compact directory tree of source files relative to root. It skips hidden dirs, vendor, node_modules, and binary files. Output is truncated to maxLines to fit AI context windows.
Types ¶
type AIPlanningService ¶
type AIPlanningService struct {
// contains filtered or unexported fields
}
func NewAIPlanningService ¶
func NewAIPlanningService(repo domain.WorkspaceRepository, provider ai.Provider, audit domain.AuditLogger, planSvc *PlanService) *AIPlanningService
func (*AIPlanningService) DecomposeSpec ¶
func (*AIPlanningService) ExplainDrift ¶
func (*AIPlanningService) ExplainSpec ¶
func (s *AIPlanningService) ExplainSpec(ctx context.Context) (string, error)
func (*AIPlanningService) GetAuditLogger ¶ added in v0.4.0
func (s *AIPlanningService) GetAuditLogger() domain.AuditLogger
GetAuditLogger returns the audit logger used by this service.
func (*AIPlanningService) QueryProject ¶ added in v0.6.0
func (*AIPlanningService) ReconcileSpec ¶
func (s *AIPlanningService) ReconcileSpec(ctx context.Context, rawSpec *spec.ProductSpec) (*spec.ProductSpec, error)
func (*AIPlanningService) ReviewSpec ¶ added in v0.6.0
func (s *AIPlanningService) ReviewSpec(ctx context.Context) (*spec.SpecReview, error)
func (*AIPlanningService) SmartDecompose ¶ added in v0.6.0
func (s *AIPlanningService) SmartDecompose(ctx context.Context, codebaseRoot string) (*planning.SmartPlan, error)
SmartDecompose performs context-aware task decomposition using codebase structure.
func (*AIPlanningService) SuggestPriorities ¶ added in v0.6.0
func (s *AIPlanningService) SuggestPriorities(ctx context.Context) (*planning.PrioritySuggestions, error)
type AITelemetrySummary ¶ added in v0.4.0
type AITelemetrySummary struct {
TotalCalls int `json:"total_calls"`
TotalInputTokens int `json:"total_input_tokens"`
TotalOutputTokens int `json:"total_output_tokens"`
RetryCount int `json:"retry_count"`
CallsByAction map[string]int `json:"calls_by_action"`
TokensByModel map[string]int `json:"tokens_by_model"`
}
AITelemetrySummary holds aggregated AI usage metrics.
type AuditEventPublisher ¶ added in v0.4.0
type AuditEventPublisher struct {
// contains filtered or unexported fields
}
AuditEventPublisher adapts AuditLogger to project.EventPublisher.
func NewAuditEventPublisher ¶ added in v0.4.0
func NewAuditEventPublisher(audit domain.AuditLogger) *AuditEventPublisher
NewAuditEventPublisher creates a new adapter.
func (*AuditEventPublisher) PublishPlanApproved ¶ added in v0.4.0
func (p *AuditEventPublisher) PublishPlanApproved(ctx context.Context, planID, approver string) error
PublishPlanApproved implements project.EventPublisher.
func (*AuditEventPublisher) PublishTaskBlocked ¶ added in v0.4.0
func (p *AuditEventPublisher) PublishTaskBlocked(ctx context.Context, taskID, reason string) error
PublishTaskBlocked implements project.EventPublisher.
func (*AuditEventPublisher) PublishTaskCompleted ¶ added in v0.4.0
func (p *AuditEventPublisher) PublishTaskCompleted(ctx context.Context, taskID, evidence string) error
PublishTaskCompleted implements project.EventPublisher.
func (*AuditEventPublisher) PublishTaskStarted ¶ added in v0.4.0
func (p *AuditEventPublisher) PublishTaskStarted(ctx context.Context, taskID, owner, rateID string) error
PublishTaskStarted implements project.EventPublisher.
func (*AuditEventPublisher) PublishTaskUnblocked ¶ added in v0.4.0
func (p *AuditEventPublisher) PublishTaskUnblocked(ctx context.Context, taskID string) error
PublishTaskUnblocked implements project.EventPublisher.
type AuditService ¶
type AuditService struct {
// contains filtered or unexported fields
}
func NewAuditService ¶
func NewAuditService(repo domain.WorkspaceRepository) *AuditService
func (*AuditService) GetAITelemetry ¶ added in v0.4.0
func (s *AuditService) GetAITelemetry() (*AITelemetrySummary, error)
GetAITelemetry returns aggregated AI usage metrics from events.
func (*AuditService) GetTimeline ¶
func (s *AuditService) GetTimeline() ([]domain.Event, error)
func (*AuditService) GetVelocity ¶
func (s *AuditService) GetVelocity() (float64, error)
GetVelocity returns the average verified tasks per day over the last 7 days.
func (*AuditService) Log ¶
func (s *AuditService) Log(action string, actor string, metadata map[string]interface{}) error
func (*AuditService) VerifyIntegrity ¶
func (s *AuditService) VerifyIntegrity() ([]string, error)
type BillingService ¶ added in v0.7.0
type BillingService struct {
// contains filtered or unexported fields
}
func NewBillingService ¶ added in v0.7.0
func NewBillingService(repo domain.WorkspaceRepository, audit domain.AuditLogger) *BillingService
func (*BillingService) AddRate ¶ added in v0.7.0
func (s *BillingService) AddRate(rate billing.Rate) error
func (*BillingService) CompleteTask ¶ added in v0.7.0
func (s *BillingService) CompleteTask(taskID string) error
func (*BillingService) GetBudgetStatus ¶ added in v0.7.0
func (s *BillingService) GetBudgetStatus() (*billing.BudgetStatus, error)
func (*BillingService) GetCostReport ¶ added in v0.7.0
func (s *BillingService) GetCostReport(opts CostReportOpts) (*billing.CostReport, error)
func (*BillingService) GetDefaultRate ¶ added in v0.7.0
func (s *BillingService) GetDefaultRate() (*billing.Rate, error)
func (*BillingService) GetRate ¶ added in v0.7.0
func (s *BillingService) GetRate(rateID string) (*billing.Rate, error)
func (*BillingService) ListRates ¶ added in v0.7.0
func (s *BillingService) ListRates() (*billing.RateConfig, error)
func (*BillingService) RemoveRate ¶ added in v0.7.0
func (s *BillingService) RemoveRate(rateID string) error
func (*BillingService) SetDefaultRate ¶ added in v0.7.0
func (s *BillingService) SetDefaultRate(rateID string) error
type CostReportOpts ¶ added in v0.7.0
type DebtService ¶ added in v0.4.0
type DebtService struct {
// contains filtered or unexported fields
}
DebtService provides debt analysis capabilities.
func NewDebtService ¶ added in v0.4.0
func NewDebtService(driftSvc *DriftService, auditSvc domain.AuditLogger) *DebtService
NewDebtService creates a new debt service.
func (*DebtService) GetDebtByCategory ¶ added in v0.4.0
func (s *DebtService) GetDebtByCategory() (map[debt.DebtCategory][]*debt.DebtItem, error)
GetDebtByCategory returns debt items grouped by category.
func (*DebtService) GetDebtByComponent ¶ added in v0.4.0
func (s *DebtService) GetDebtByComponent() (map[string][]*debt.DebtItem, error)
GetDebtByComponent returns debt items grouped by component.
func (*DebtService) GetDebtReport ¶ added in v0.4.0
func (s *DebtService) GetDebtReport(ctx context.Context) (*debt.DebtReport, error)
GetDebtReport generates a comprehensive debt report based on current drift.
func (*DebtService) GetDebtScore ¶ added in v0.4.0
func (s *DebtService) GetDebtScore(componentID string) (*debt.DebtScore, error)
GetDebtScore calculates the debt score for a specific component.
func (*DebtService) GetDebtSummary ¶ added in v0.4.0
func (s *DebtService) GetDebtSummary(ctx context.Context) (*DebtSummary, error)
GetDebtSummary returns a quick overview of the debt status.
func (*DebtService) GetDriftHistory ¶ added in v0.4.0
func (s *DebtService) GetDriftHistory(windowDays int) ([]events.DriftSnapshot, error)
GetDriftHistory returns historical drift snapshots.
func (*DebtService) GetDriftTrend ¶ added in v0.4.0
func (s *DebtService) GetDriftTrend(windowDays int) (events.DriftTrend, error)
GetDriftTrend analyzes drift patterns over time.
func (*DebtService) GetHealthLevel ¶ added in v0.4.0
func (s *DebtService) GetHealthLevel(ctx context.Context) (string, error)
GetHealthLevel returns an overall health assessment based on debt.
func (*DebtService) GetStickyDrift ¶ added in v0.4.0
func (s *DebtService) GetStickyDrift() ([]*debt.DebtItem, error)
GetStickyDrift returns all sticky debt items (unresolved >7 days).
func (*DebtService) GetTopDebtors ¶ added in v0.4.0
GetTopDebtors returns the components with the highest debt scores.
func (*DebtService) RecordDriftAccepted ¶ added in v0.4.0
func (s *DebtService) RecordDriftAccepted(componentID string, driftType drift.DriftType) error
RecordDriftAccepted records a drift acceptance event.
func (*DebtService) RecordDriftDetection ¶ added in v0.4.0
RecordDriftDetection records a drift detection event for historical tracking.
func (*DebtService) RecordDriftResolved ¶ added in v0.4.0
func (s *DebtService) RecordDriftResolved(componentID string, driftType drift.DriftType) error
RecordDriftResolved records a drift resolution event.
type DebtSummary ¶ added in v0.4.0
type DebtSummary struct {
TotalItems int `json:"total_items"`
StickyItems int `json:"sticky_items"`
AverageScore float64 `json:"average_score"`
HealthLevel string `json:"health_level"`
TopDebtor string `json:"top_debtor,omitempty"`
TopDebtorScore float64 `json:"top_debtor_score,omitempty"`
}
DebtSummary provides a quick overview of debt status.
type DependencyRepository ¶ added in v0.4.0
type DependencyRepository interface {
SaveDependencyGraph(graph *dependency.DependencyGraph) error
LoadDependencyGraph() (*dependency.DependencyGraph, error)
AddDependency(dep *dependency.RepoDependency) error
RemoveDependency(depID string) error
GetDependency(depID string) (*dependency.RepoDependency, error)
ListDependencies() ([]*dependency.RepoDependency, error)
UpdateRepoHealth(health *dependency.RepoHealth) error
GetRepoHealth(repoPath string) (*dependency.RepoHealth, error)
}
DependencyRepository defines the storage interface for dependency data.
type DependencyService ¶ added in v0.4.0
type DependencyService struct {
// contains filtered or unexported fields
}
DependencyService manages cross-repo dependencies.
func NewDependencyService ¶ added in v0.4.0
func NewDependencyService(repo DependencyRepository, rootPath string) *DependencyService
NewDependencyService creates a new dependency service.
func (*DependencyService) AddDependency ¶ added in v0.4.0
func (s *DependencyService) AddDependency(targetRepo string, depType dependency.DependencyType, description string) (*dependency.RepoDependency, error)
AddDependency adds a new dependency to the graph.
func (*DependencyService) CheckForCycles ¶ added in v0.4.0
func (s *DependencyService) CheckForCycles() (bool, error)
CheckForCycles checks if the dependency graph has cycles.
func (*DependencyService) GetDependency ¶ added in v0.4.0
func (s *DependencyService) GetDependency(depID string) (*dependency.RepoDependency, error)
GetDependency retrieves a specific dependency.
func (*DependencyService) GetDependencyGraph ¶ added in v0.4.0
func (s *DependencyService) GetDependencyGraph() (*dependency.DependencyGraph, error)
GetDependencyGraph returns the current dependency graph.
func (*DependencyService) GetDependencyOrder ¶ added in v0.4.0
func (s *DependencyService) GetDependencyOrder() ([]string, error)
GetDependencyOrder returns repos in dependency order (dependencies first).
func (*DependencyService) GetDependencySummary ¶ added in v0.4.0
func (s *DependencyService) GetDependencySummary() (*dependency.DependencySummary, error)
GetDependencySummary returns a summary of the dependency graph.
func (*DependencyService) GetUnhealthyDependencies ¶ added in v0.4.0
func (s *DependencyService) GetUnhealthyDependencies() ([]*dependency.RepoHealth, error)
GetUnhealthyDependencies returns all unhealthy dependencies.
func (*DependencyService) ImportFromSpec ¶ added in v0.4.0
func (s *DependencyService) ImportFromSpec(specDeps []dependency.SpecDependency) (*ImportResult, error)
ImportFromSpec imports dependencies from spec configuration.
func (*DependencyService) ListDependencies ¶ added in v0.4.0
func (s *DependencyService) ListDependencies() ([]*dependency.RepoDependency, error)
ListDependencies returns all dependencies.
func (*DependencyService) RemoveDependency ¶ added in v0.4.0
func (s *DependencyService) RemoveDependency(depID string) error
RemoveDependency removes a dependency by ID.
func (*DependencyService) ScanDependentRepos ¶ added in v0.4.0
func (s *DependencyService) ScanDependentRepos(healthScanner HealthScanner) (*ScanResult, error)
ScanDependentRepos scans health status of all dependent repositories.
type DriftService ¶
type DriftService struct {
// contains filtered or unexported fields
}
func NewDriftService ¶
func NewDriftService(repo domain.WorkspaceRepository, audit domain.AuditLogger, inspector drift.CodeInspector, policy *PolicyService) *DriftService
func (*DriftService) AcceptDrift ¶ added in v0.4.0
func (s *DriftService) AcceptDrift() error
AcceptDrift locks the current spec snapshot and records the acceptance event.
func (*DriftService) DetectDrift ¶
type EventSourcedAuditService ¶ added in v0.4.0
type EventSourcedAuditService struct {
// contains filtered or unexported fields
}
EventSourcedAuditService implements AuditLogger using the event store. It bridges the existing audit interface with the new event sourcing system.
func NewEventSourcedAuditService ¶ added in v0.4.0
func NewEventSourcedAuditService(store events.EventStore, publisher events.EventPublisher) (*EventSourcedAuditService, error)
NewEventSourcedAuditService creates a new event-sourced audit service.
func (*EventSourcedAuditService) GetAITelemetry ¶ added in v0.4.0
func (s *EventSourcedAuditService) GetAITelemetry() (*AITelemetrySummary, error)
GetAITelemetry returns aggregated AI usage metrics from events.
func (*EventSourcedAuditService) GetAllTaskStates ¶ added in v0.4.0
func (s *EventSourcedAuditService) GetAllTaskStates() map[string]*events.TaskState
GetAllTaskStates returns all task states from the projection.
func (*EventSourcedAuditService) GetCompletionVelocity ¶ added in v0.4.0
func (s *EventSourcedAuditService) GetCompletionVelocity() float64
GetCompletionVelocity returns tasks completed per day.
func (*EventSourcedAuditService) GetDispatcher ¶ added in v0.4.0
func (s *EventSourcedAuditService) GetDispatcher() *events.EventDispatcher
GetDispatcher returns the event dispatcher.
func (*EventSourcedAuditService) GetRecentTimeline ¶ added in v0.4.0
func (s *EventSourcedAuditService) GetRecentTimeline(n int) []events.TimelineEntry
GetRecentTimeline returns the most recent n timeline entries.
func (*EventSourcedAuditService) GetTaskState ¶ added in v0.4.0
func (s *EventSourcedAuditService) GetTaskState(taskID string) *events.TaskState
GetTaskState returns the current state of a task from the projection.
func (*EventSourcedAuditService) GetTimeline ¶ added in v0.4.0
func (s *EventSourcedAuditService) GetTimeline() []events.TimelineEntry
GetTimeline returns the audit timeline from the projection.
func (*EventSourcedAuditService) GetVerificationVelocity ¶ added in v0.4.0
func (s *EventSourcedAuditService) GetVerificationVelocity() float64
GetVerificationVelocity returns tasks verified per day.
func (*EventSourcedAuditService) LoadEvents ¶ added in v0.4.0
func (s *EventSourcedAuditService) LoadEvents() ([]*events.BaseEvent, error)
LoadEvents returns all events from the store.
func (*EventSourcedAuditService) LoadEventsSince ¶ added in v0.4.0
LoadEventsSince returns events since the given time.
func (*EventSourcedAuditService) Log ¶ added in v0.4.0
func (s *EventSourcedAuditService) Log(action string, actor string, metadata map[string]interface{}) error
Log implements domain.AuditLogger.
func (*EventSourcedAuditService) RegisterHandler ¶ added in v0.4.0
func (s *EventSourcedAuditService) RegisterHandler(reg events.HandlerRegistration)
RegisterHandler registers an event handler with the dispatcher. If no dispatcher is set, this creates one.
func (*EventSourcedAuditService) SetDispatcher ¶ added in v0.4.0
func (s *EventSourcedAuditService) SetDispatcher(dispatcher *events.EventDispatcher)
SetDispatcher sets the event dispatcher for this service.
func (*EventSourcedAuditService) VerifyIntegrity ¶ added in v0.4.0
func (s *EventSourcedAuditService) VerifyIntegrity() ([]string, error)
VerifyIntegrity checks the hash chain for tampering.
type ForecastService ¶ added in v0.4.0
type ForecastService struct {
// contains filtered or unexported fields
}
ForecastService provides enhanced project forecasting with trend analysis.
func NewForecastService ¶ added in v0.4.0
func NewForecastService( projection *events.ExtendedVelocityProjection, repo domain.WorkspaceRepository, ) *ForecastService
NewForecastService creates a new forecast service.
func (*ForecastService) GetBurndown ¶ added in v0.4.0
func (s *ForecastService) GetBurndown() ([]analytics.BurndownPoint, error)
GetBurndown returns burndown chart data.
func (*ForecastService) GetForecast ¶ added in v0.4.0
func (s *ForecastService) GetForecast() (*analytics.ForecastResult, error)
GetForecast returns a comprehensive forecast for the current project.
func (*ForecastService) GetSimpleForecast ¶ added in v0.4.0
func (s *ForecastService) GetSimpleForecast() (*SimpleForecast, error)
GetSimpleForecast returns a simplified forecast result.
func (*ForecastService) GetVelocityStats ¶ added in v0.4.0
func (s *ForecastService) GetVelocityStats() analytics.VelocityStats
GetVelocityStats returns statistical summary of velocity.
func (*ForecastService) GetVelocityTrend ¶ added in v0.4.0
func (s *ForecastService) GetVelocityTrend() analytics.VelocityTrend
GetVelocityTrend returns the current velocity trend analysis.
func (*ForecastService) GetVelocityWindows ¶ added in v0.4.0
func (s *ForecastService) GetVelocityWindows() []analytics.VelocityWindow
GetVelocityWindows returns velocity for each configured time window.
type GitService ¶ added in v0.4.0
type GitService struct {
// contains filtered or unexported fields
}
func NewGitService ¶ added in v0.4.0
func NewGitService(repo domain.WorkspaceRepository, taskSvc *TaskService) *GitService
func (*GitService) SyncMarkers ¶ added in v0.4.0
func (s *GitService) SyncMarkers(n int) ([]string, error)
SyncMarkers scans the last n commits for [roady:task-id] markers and completes tasks.
type HealthResult ¶ added in v0.6.0
type HealthResult struct {
Name string `json:"name"`
Status HealthStatus `json:"status"`
Latency string `json:"latency,omitempty"`
Error string `json:"error,omitempty"`
CheckedAt time.Time `json:"checked_at"`
}
HealthResult holds health check results for a plugin.
type HealthScanner ¶ added in v0.4.0
type HealthScanner interface {
ScanRepoHealth(repoPath string) (*dependency.RepoHealth, error)
}
HealthScanner defines an interface for scanning repo health.
type HealthStatus ¶ added in v0.6.0
type HealthStatus string
HealthStatus represents plugin health state.
const ( HealthStatusHealthy HealthStatus = "healthy" HealthStatusDegraded HealthStatus = "degraded" HealthStatusUnhealthy HealthStatus = "unhealthy" HealthStatusUnknown HealthStatus = "unknown" )
type ImportResult ¶ added in v0.4.0
type ImportResult struct {
Imported int `json:"imported"`
Skipped int `json:"skipped"`
Errors map[string]string `json:"errors,omitempty"`
}
ImportResult contains the results of importing dependencies from spec.
type InitService ¶
type InitService struct {
// contains filtered or unexported fields
}
func NewInitService ¶
func NewInitService(repo domain.WorkspaceRepository, audit domain.AuditLogger) *InitService
func (*InitService) InitializeProject ¶
func (s *InitService) InitializeProject(name string) error
func (*InitService) SetTemplate ¶ added in v0.6.0
func (s *InitService) SetTemplate(name string)
SetTemplate sets the template to use for project initialization.
type OrgService ¶ added in v0.6.0
type OrgService struct {
// contains filtered or unexported fields
}
OrgService provides organizational multi-project operations.
func NewOrgService ¶ added in v0.6.0
func NewOrgService(root string) *OrgService
NewOrgService creates a new OrgService rooted at the given directory.
func (*OrgService) AggregateMetrics ¶ added in v0.6.0
func (s *OrgService) AggregateMetrics() (*org.OrgMetrics, error)
AggregateMetrics collects metrics from all discovered projects.
func (*OrgService) DetectCrossDrift ¶ added in v0.6.0
func (s *OrgService) DetectCrossDrift() (*org.CrossDriftReport, error)
DetectCrossDrift discovers projects and aggregates drift reports.
func (*OrgService) DiscoverProjects ¶ added in v0.6.0
func (s *OrgService) DiscoverProjects() ([]string, error)
DiscoverProjects walks the root directory tree and returns paths containing .roady directories.
func (*OrgService) LoadMergedPolicy ¶ added in v0.6.0
func (s *OrgService) LoadMergedPolicy(projectPath string) (*policy.PolicyConfig, error)
LoadMergedPolicy loads org-level SharedPolicy and overlays project-level policy.yaml values.
func (*OrgService) LoadOrgConfig ¶ added in v0.6.0
func (s *OrgService) LoadOrgConfig() (*org.OrgConfig, error)
LoadOrgConfig loads the org config from .roady/org.yaml in the root directory.
func (*OrgService) SaveOrgConfig ¶ added in v0.6.0
func (s *OrgService) SaveOrgConfig(config *org.OrgConfig) error
SaveOrgConfig saves the org config to .roady/org.yaml in the root directory.
type PlanRepositoryAdapter ¶ added in v0.4.0
type PlanRepositoryAdapter struct {
// contains filtered or unexported fields
}
PlanRepositoryAdapter adapts WorkspaceRepository to project.PlanRepository.
func NewPlanRepositoryAdapter ¶ added in v0.4.0
func NewPlanRepositoryAdapter(repo domain.WorkspaceRepository) *PlanRepositoryAdapter
NewPlanRepositoryAdapter creates a new adapter.
type PlanService ¶
type PlanService struct {
// contains filtered or unexported fields
}
func NewPlanService ¶
func NewPlanService(repo domain.WorkspaceRepository, audit domain.AuditLogger) *PlanService
func (*PlanService) ApprovePlan ¶
func (s *PlanService) ApprovePlan() error
func (*PlanService) ApprovePlanWithActor ¶ added in v0.4.0
func (s *PlanService) ApprovePlanWithActor(actor string) error
ApprovePlanWithActor atomically approves the plan and initializes task states.
func (*PlanService) GeneratePlan ¶
GeneratePlan updates the Plan based on the current Spec using a default heuristic.
func (*PlanService) GetBlockedTasks ¶ added in v0.4.0
func (s *PlanService) GetBlockedTasks(ctx context.Context) ([]project.TaskSummary, error)
GetBlockedTasks returns tasks that are currently blocked.
func (*PlanService) GetCoordinator ¶ added in v0.4.0
func (s *PlanService) GetCoordinator() *project.Coordinator
GetCoordinator returns the underlying project coordinator for advanced operations.
func (*PlanService) GetInProgressTasks ¶ added in v0.4.0
func (s *PlanService) GetInProgressTasks(ctx context.Context) ([]project.TaskSummary, error)
GetInProgressTasks returns tasks that are currently in progress.
func (*PlanService) GetProjectSnapshot ¶ added in v0.4.0
func (s *PlanService) GetProjectSnapshot(ctx context.Context) (*project.ProjectSnapshot, error)
GetProjectSnapshot returns a consistent view of plan and execution state.
func (*PlanService) GetReadyTasks ¶ added in v0.4.0
func (s *PlanService) GetReadyTasks(ctx context.Context) ([]project.TaskSummary, error)
GetReadyTasks returns tasks that are ready to be started (unlocked and pending).
func (*PlanService) GetState ¶
func (s *PlanService) GetState() (*planning.ExecutionState, error)
func (*PlanService) GetTaskSummaries ¶ added in v0.4.0
func (s *PlanService) GetTaskSummaries(ctx context.Context) ([]project.TaskSummary, error)
GetTaskSummaries returns summaries of all tasks with their current status.
func (*PlanService) GetUsage ¶
func (s *PlanService) GetUsage() (*domain.UsageStats, error)
func (*PlanService) PrunePlan ¶
func (s *PlanService) PrunePlan() error
func (*PlanService) ReconcilePlan ¶
ReconcilePlan merges new tasks with the existing plan state.
func (*PlanService) RejectPlan ¶
func (s *PlanService) RejectPlan() error
func (*PlanService) UpdatePlan ¶
UpdatePlan allows external agents (AI) to provide a specific list of tasks.
type PluginConfigRepository ¶ added in v0.4.0
type PluginConfigRepository interface {
LoadPluginConfigs() (*domainPlugin.PluginConfigs, error)
GetPluginConfig(name string) (*domainPlugin.PluginConfig, error)
SetPluginConfig(name string, cfg domainPlugin.PluginConfig) error
}
PluginConfigRepository provides access to plugin configurations
type PluginInfo ¶ added in v0.6.0
type PluginInfo struct {
Name string `json:"name"`
Binary string `json:"binary"`
Version string `json:"version,omitempty"`
Description string `json:"description,omitempty"`
Status string `json:"status"` // "available", "missing", "unknown"
}
PluginInfo represents enriched plugin information.
type PluginService ¶ added in v0.6.0
type PluginService struct {
// contains filtered or unexported fields
}
PluginService manages plugin registration, validation, and health.
func NewPluginService ¶ added in v0.6.0
func NewPluginService(repo *storage.FilesystemRepository) *PluginService
NewPluginService creates a new PluginService.
func (*PluginService) CheckAllHealth ¶ added in v0.6.0
func (s *PluginService) CheckAllHealth() (map[string]*HealthResult, error)
CheckAllHealth checks health of all registered plugins.
func (*PluginService) CheckHealth ¶ added in v0.6.0
func (s *PluginService) CheckHealth(name string) (*HealthResult, error)
CheckHealth checks the health of a single plugin.
func (*PluginService) ListPlugins ¶ added in v0.6.0
func (s *PluginService) ListPlugins() ([]PluginInfo, error)
ListPlugins returns all registered plugins with status information.
func (*PluginService) RegisterPlugin ¶ added in v0.6.0
func (s *PluginService) RegisterPlugin(name, binaryPath string) error
RegisterPlugin registers a plugin by name and binary path.
func (*PluginService) UnregisterPlugin ¶ added in v0.6.0
func (s *PluginService) UnregisterPlugin(name string) error
UnregisterPlugin removes a plugin by name.
func (*PluginService) ValidatePlugin ¶ added in v0.6.0
func (s *PluginService) ValidatePlugin(name string) (*ValidationResult, error)
ValidatePlugin loads a plugin and calls Init() to verify it works.
type PolicyService ¶
type PolicyService struct {
// contains filtered or unexported fields
}
func NewPolicyService ¶
func NewPolicyService(repo domain.WorkspaceRepository) *PolicyService
func (*PolicyService) CheckCompliance ¶
func (s *PolicyService) CheckCompliance() ([]policy.Violation, error)
CheckCompliance validates the current plan against active policies.
func (*PolicyService) ValidateTransition ¶
func (s *PolicyService) ValidateTransition(taskID string, event string) error
type ScanResult ¶ added in v0.4.0
type ScanResult struct {
ScannedAt time.Time `json:"scanned_at"`
TotalRepos int `json:"total_repos"`
HealthyRepos int `json:"healthy_repos"`
UnhealthyRepos int `json:"unhealthy_repos"`
Unreachable int `json:"unreachable"`
Details map[string]*dependency.RepoHealth `json:"details"`
}
ScanResult contains the results of a dependency scan.
func (*ScanResult) AllHealthy ¶ added in v0.4.0
func (r *ScanResult) AllHealthy() bool
AllHealthy returns true if all repos are healthy.
type SimpleForecast ¶ added in v0.4.0
type SimpleForecast struct {
Velocity float64
RemainingTasks int
TotalTasks int
EstimatedDays float64
Trend analytics.TrendDirection
TrendSlope float64
}
SimpleForecast provides basic forecasting without the full service infrastructure. Useful for CLI commands that don't need all the complexity.
type SpecService ¶
type SpecService struct {
// contains filtered or unexported fields
}
func NewSpecService ¶
func NewSpecService(repo domain.WorkspaceRepository) *SpecService
func (*SpecService) AddFeature ¶
func (s *SpecService) AddFeature(title, description string) (*spec.ProductSpec, error)
func (*SpecService) AnalyzeDirectory ¶
func (s *SpecService) AnalyzeDirectory(root string) (*spec.ProductSpec, error)
AnalyzeDirectory crawls a directory for markdown files and merges them into a single Spec.
func (*SpecService) GetSpec ¶
func (s *SpecService) GetSpec() (*spec.ProductSpec, error)
func (*SpecService) ImportFromMarkdown ¶
func (s *SpecService) ImportFromMarkdown(path string) (*spec.ProductSpec, error)
ImportFromMarkdown reads a markdown file and converts it into a ProductSpec.
type StateRepositoryAdapter ¶ added in v0.4.0
type StateRepositoryAdapter struct {
// contains filtered or unexported fields
}
StateRepositoryAdapter adapts WorkspaceRepository to project.StateRepository.
func NewStateRepositoryAdapter ¶ added in v0.4.0
func NewStateRepositoryAdapter(repo domain.WorkspaceRepository) *StateRepositoryAdapter
NewStateRepositoryAdapter creates a new adapter.
func (*StateRepositoryAdapter) Load ¶ added in v0.4.0
func (a *StateRepositoryAdapter) Load(ctx context.Context) (*planning.ExecutionState, error)
Load implements project.StateRepository.
func (*StateRepositoryAdapter) Save ¶ added in v0.4.0
func (a *StateRepositoryAdapter) Save(ctx context.Context, state *planning.ExecutionState) error
Save implements project.StateRepository.
type SyncResult ¶ added in v0.6.0
type SyncResult struct {
Action string `json:"action"`
Files []string `json:"files,omitempty"`
Conflict bool `json:"conflict"`
Message string `json:"message"`
}
SyncResult holds the outcome of a push or pull operation.
type SyncService ¶ added in v0.4.0
type SyncService struct {
// contains filtered or unexported fields
}
func NewSyncService ¶ added in v0.4.0
func NewSyncService(repo domain.WorkspaceRepository, taskSvc *TaskService) *SyncService
func NewSyncServiceWithPlugins ¶ added in v0.4.0
func NewSyncServiceWithPlugins(repo domain.WorkspaceRepository, pluginRepo PluginConfigRepository, taskSvc *TaskService) *SyncService
NewSyncServiceWithPlugins creates a SyncService with plugin config support
func (*SyncService) GetPluginConfig ¶ added in v0.4.0
func (s *SyncService) GetPluginConfig(name string) (*domainPlugin.PluginConfig, error)
GetPluginConfig returns the configuration for a named plugin
func (*SyncService) ListPluginConfigs ¶ added in v0.4.0
func (s *SyncService) ListPluginConfigs() ([]string, error)
ListPluginConfigs returns all configured plugin names
func (*SyncService) SetPluginConfig ¶ added in v0.4.0
func (s *SyncService) SetPluginConfig(name string, cfg domainPlugin.PluginConfig) error
SetPluginConfig saves a plugin configuration
func (*SyncService) SyncWithNamedPlugin ¶ added in v0.4.0
func (s *SyncService) SyncWithNamedPlugin(name string) ([]string, error)
SyncWithNamedPlugin syncs using a named plugin configuration from plugins.yaml
func (*SyncService) SyncWithPlugin ¶ added in v0.4.0
func (s *SyncService) SyncWithPlugin(pluginPath string) ([]string, error)
SyncWithPlugin syncs using a plugin binary path (uses empty config, relies on env vars)
func (*SyncService) SyncWithPluginConfig ¶ added in v0.4.0
func (s *SyncService) SyncWithPluginConfig(pluginPath string, config map[string]string) ([]string, error)
SyncWithPluginConfig syncs using a plugin binary path with explicit configuration
type TaskService ¶
type TaskService struct {
// contains filtered or unexported fields
}
func NewTaskService ¶
func NewTaskService(repo domain.WorkspaceRepository, audit domain.AuditLogger, policy *PolicyService) *TaskService
func (*TaskService) AssignTask ¶ added in v0.6.0
func (s *TaskService) AssignTask(ctx context.Context, taskID, assignee string) error
AssignTask sets the owner on a task without requiring a status transition.
func (*TaskService) BlockTask ¶ added in v0.4.0
func (s *TaskService) BlockTask(ctx context.Context, taskID, reason string) error
BlockTask blocks a task with a reason.
func (*TaskService) CompleteTask ¶ added in v0.4.0
CompleteTask completes a task and returns newly unlocked task IDs.
func (*TaskService) GetCoordinator ¶ added in v0.4.0
func (s *TaskService) GetCoordinator() *project.Coordinator
GetCoordinator returns the underlying project coordinator for advanced operations.
func (*TaskService) LinkTask ¶
func (s *TaskService) LinkTask(taskID string, provider string, ref planning.ExternalRef) error
func (*TaskService) StartTask ¶ added in v0.4.0
func (s *TaskService) StartTask(ctx context.Context, taskID, owner, rateID string) error
StartTask starts a task using the coordinator with proper dependency validation.
func (*TaskService) TransitionTask ¶
func (*TaskService) UnblockTask ¶ added in v0.4.0
func (s *TaskService) UnblockTask(ctx context.Context, taskID string) error
UnblockTask unblocks a previously blocked task.
func (*TaskService) VerifyTask ¶ added in v0.4.0
func (s *TaskService) VerifyTask(ctx context.Context, taskID, verifier string) error
VerifyTask marks a completed task as verified.
type TeamService ¶ added in v0.6.0
type TeamService struct {
// contains filtered or unexported fields
}
TeamService manages team membership and role-based access.
func NewTeamService ¶ added in v0.6.0
func NewTeamService(repo *storage.FilesystemRepository, audit domain.AuditLogger) *TeamService
func (*TeamService) AddMember ¶ added in v0.6.0
func (s *TeamService) AddMember(name string, role team.Role) error
AddMember adds or updates a team member.
func (*TeamService) GetMemberRole ¶ added in v0.6.0
func (s *TeamService) GetMemberRole(name string) (team.Role, error)
GetMemberRole returns the role for a given member name, or empty if not found.
func (*TeamService) ListMembers ¶ added in v0.6.0
func (s *TeamService) ListMembers() (*team.TeamConfig, error)
ListMembers returns the current team configuration.
func (*TeamService) RemoveMember ¶ added in v0.6.0
func (s *TeamService) RemoveMember(name string) error
RemoveMember removes a team member.
type Template ¶ added in v0.6.0
type Template struct {
Name string
Description string
Spec func(projectName string) *spec.ProductSpec
}
Template represents a starter project template.
func BuiltinTemplates ¶ added in v0.6.0
func BuiltinTemplates() []Template
BuiltinTemplates returns the available starter templates.
func FindTemplate ¶ added in v0.6.0
FindTemplate returns the template with the given name, or nil.
type UsageService ¶ added in v0.4.0
type UsageService struct {
// contains filtered or unexported fields
}
UsageService tracks command and AI token usage separately from audit logging.
func NewUsageService ¶ added in v0.4.0
func NewUsageService(repo domain.WorkspaceRepository) *UsageService
func (*UsageService) GetTotalTokens ¶ added in v0.4.0
func (s *UsageService) GetTotalTokens() (int, error)
GetTotalTokens returns the total token count across all providers.
func (*UsageService) GetUsage ¶ added in v0.4.0
func (s *UsageService) GetUsage() (*domain.UsageStats, error)
GetUsage returns the current usage statistics.
func (*UsageService) IncrementCommand ¶ added in v0.4.0
func (s *UsageService) IncrementCommand() error
IncrementCommand records that a command was executed.
func (*UsageService) RecordTokenUsage ¶ added in v0.4.0
func (s *UsageService) RecordTokenUsage(model string, inputTokens, outputTokens int) error
RecordTokenUsage records AI token usage for a specific model.
type ValidationResult ¶ added in v0.6.0
type ValidationResult struct {
Name string `json:"name"`
Valid bool `json:"valid"`
Error string `json:"error,omitempty"`
Latency string `json:"latency,omitempty"`
}
ValidationResult holds the result of plugin validation.
type WorkspaceSyncService ¶ added in v0.6.0
type WorkspaceSyncService struct {
// contains filtered or unexported fields
}
WorkspaceSyncService handles git-based synchronization of the .roady/ directory.
func NewWorkspaceSyncService ¶ added in v0.6.0
func NewWorkspaceSyncService(root string, audit domain.AuditLogger) *WorkspaceSyncService
func (*WorkspaceSyncService) Pull ¶ added in v0.6.0
func (s *WorkspaceSyncService) Pull(ctx context.Context) (*SyncResult, error)
Pull fetches remote changes and merges .roady/ files. Returns conflict info if merge fails.
func (*WorkspaceSyncService) Push ¶ added in v0.6.0
func (s *WorkspaceSyncService) Push(ctx context.Context) (*SyncResult, error)
Push stages and commits .roady/ changes, then pushes to the remote.
Source Files
¶
- ai_planning_service.go
- audit_service.go
- billing_service.go
- codebase_scanner.go
- coordinator_adapters.go
- debt_service.go
- dependency_service.go
- drift_service.go
- event_sourced_audit.go
- forecast_service.go
- git_service.go
- init_service.go
- org_service.go
- plan_service.go
- plugin_service.go
- policy_service.go
- spec_service.go
- sync_service.go
- task_service.go
- team_service.go
- templates.go
- usage_service.go
- workspace_sync_service.go