Documentation
¶
Overview ¶
Package deltascope exposes the public library surface for consumers. input: public audit requests carrying SQL text, dialect, optional config path, and optional metadata providers output: stable audit results for embedding DeltaScope in tools and agents pos: public audit API above the internal application service note: if this file changes, update this header and module README.md.
Package deltascope exposes the public library surface for consumers. input: external library calls into the DeltaScope audit engine output: stable exported API for embedding DeltaScope pos: public package boundary above internal application services note: if this file changes, update this header and module README.md.
Package deltascope exposes the stable public audit API. input: build metadata consumers and public version/logo queries output: shared default version and ASCII logo values for CLIs and services pos: public package metadata alongside the stable audit entrypoint note: if this file changes, update this header and module README.md.
Index ¶
- Constants
- Variables
- type Column
- type Constraint
- type Dialect
- type Explanation
- type ExplanationMetadata
- type Finding
- type FindingExplanation
- type Impact
- type ImpactConfidence
- type ImpactRisk
- type ImpactSource
- type Index
- type InstanceFacts
- type Level
- type Location
- type Metadata
- type MetadataProvider
- type Request
- type Result
- type StatementResult
- type Summary
- type Table
- type TableSnapshot
- type Verdict
Constants ¶
const ( ImpactSourceShape ImpactSource = "shape" ImpactSourceMetadata ImpactSource = "metadata" ImpactSourcePlan ImpactSource = "plan" ImpactRiskLow ImpactRisk = "low" ImpactRiskMedium ImpactRisk = "medium" ImpactRiskHigh ImpactRisk = "high" ImpactRiskUnknown ImpactRisk = "unknown" ImpactConfidenceLow ImpactConfidence = "low" ImpactConfidenceMedium ImpactConfidence = "medium" ImpactConfidenceHigh ImpactConfidence = "high" )
const ( // DefaultVersion is the repository's current default semantic version. DefaultVersion = "v0.16.2" // Logo is the canonical ASCII DeltaScope banner used by human-facing commands. Logo = " ____ ____ _____ \n" + " / __ \\___ / / /_____ _/ ___/_________ ____ ___ \n" + " / / / / _ \\/ / __/ __ `/\\__ \\/ ___/ __ \\/ __ \\/ _ \\\n" + " / /_/ / __/ / /_/ /_/ /___/ / /__/ /_/ / /_/ / __/\n" + "/_____/\\___/_/\\__/\\__,_//____/\\___/\\____/ .___/\\___/ \n" + " /_/ " )
Variables ¶
var ErrUnsupportedStatement = errors.New("deltascope audit includes unsupported statements")
Functions ¶
This section is empty.
Types ¶
type Constraint ¶
type Constraint = spec.Constraint
Constraint mirrors the domain constraint shape used inside metadata snapshots.
type Explanation ¶ added in v0.6.2
type Explanation struct {
Summary string `json:"summary,omitempty"`
Reasons []string `json:"reasons,omitempty"`
}
Explanation is the stable public result-level explanation shape.
type ExplanationMetadata ¶ added in v0.6.2
type ExplanationMetadata struct {
Status string `json:"status,omitempty"`
Note string `json:"note,omitempty"`
}
ExplanationMetadata describes how metadata availability affected a public finding explanation.
type Finding ¶
type Finding struct {
RuleID string `json:"rule_id"`
Level Level `json:"level"`
Message string `json:"message"`
StatementIndex int `json:"statement_index,omitempty"`
StatementKind string `json:"statement_kind,omitempty"`
Location *Location `json:"location,omitempty"`
Suggestion string `json:"suggestion,omitempty"`
Metadata map[string]any `json:"metadata,omitempty"`
Explanation *FindingExplanation `json:"explanation,omitempty"`
}
Finding is the stable public finding shape.
type FindingExplanation ¶ added in v0.6.2
type FindingExplanation struct {
Summary string `json:"summary,omitempty"`
Why string `json:"why,omitempty"`
Risk string `json:"risk,omitempty"`
Suggestion string `json:"suggestion,omitempty"`
Metadata *ExplanationMetadata `json:"metadata,omitempty"`
}
FindingExplanation is the stable public per-finding explanation shape.
type Impact ¶ added in v0.14.0
type Impact struct {
EstimatedRows *int64 `json:"estimated_rows,omitempty"`
EstimatedRatio *float64 `json:"estimated_ratio,omitempty"`
RiskLevel ImpactRisk `json:"risk_level,omitempty"`
Confidence ImpactConfidence `json:"confidence,omitempty"`
Source ImpactSource `json:"source,omitempty"`
ReasonCodes []string `json:"reason_codes,omitempty"`
Notes []string `json:"notes,omitempty"`
}
Impact is the stable public statement-level DML impact estimate shape.
type ImpactConfidence ¶ added in v0.14.0
type ImpactConfidence string
ImpactConfidence identifies the public estimate-confidence bucket.
type ImpactRisk ¶ added in v0.14.0
type ImpactRisk string
ImpactRisk identifies the public conservative risk bucket for a DML statement.
type ImpactSource ¶ added in v0.14.0
type ImpactSource string
ImpactSource identifies the public origin of a statement-level DML impact estimate.
type InstanceFacts ¶
type InstanceFacts = spec.InstanceFacts
InstanceFacts mirror metadata-aware instance facts for public providers.
type MetadataProvider ¶
type MetadataProvider interface {
LoadInstanceFacts(ctx context.Context, dialect Dialect, schema string) (*InstanceFacts, error)
LoadTableSnapshot(ctx context.Context, dialect Dialect, schema string, table string) (*TableSnapshot, error)
}
MetadataProvider supplies optional metadata-aware facts for one public audit request.
type Request ¶
type Request struct {
SQL string
Dialect Dialect
ConfigPath string
Schema string
MetadataProvider MetadataProvider
}
Request describes one public audit invocation.
type Result ¶
type Result struct {
Verdict Verdict `json:"verdict"`
Summary Summary `json:"summary"`
Statements []StatementResult `json:"statements,omitempty"`
GlobalFindings []Finding `json:"global_findings,omitempty"`
Unsupported []spec.UnsupportedDetail `json:"unsupported,omitempty"`
Explanation *Explanation `json:"explanation,omitempty"`
}
Result is the stable public audit output.
type StatementResult ¶
type StatementResult struct {
Index int `json:"index"`
Kind string `json:"kind"`
RawSQL string `json:"raw_sql,omitempty"`
NormalizedSQL string `json:"normalized_sql,omitempty"`
Findings []Finding `json:"findings,omitempty"`
Impact *Impact `json:"impact,omitempty"`
Explanation *Explanation `json:"explanation,omitempty"`
}
StatementResult stores public findings for a single SQL statement.
type Summary ¶
type Summary struct {
Statements int `json:"statements"`
Blockers int `json:"blockers"`
Warnings int `json:"warnings"`
Notices int `json:"notices"`
}
Summary captures high-level public audit counts.
type TableSnapshot ¶
type TableSnapshot = spec.TableSnapshot
TableSnapshot mirrors metadata-aware target table snapshots for public providers.