v0.3.0¶
Released: 2026-03-14
Highlights¶
- Domain-specific ontology packages as opt-in imports while keeping core slogo generic
- Alert condition builders for OpenSLO alert policies with burn rate configuration
Upgrade Guide¶
Breaking Changes¶
Domain-specific labels have been moved to opt-in packages:
// Before (v0.2.0)
import "github.com/grokify/slogo/ontology"
ontology.LabelDomain // No longer exists in core
ontology.LabelJourneyStage // No longer exists in core
// After (v0.3.0)
import (
"github.com/grokify/slogo/ontology"
"github.com/grokify/slogo/ontologies/domains/business"
"github.com/grokify/slogo/ontologies/domains/product"
)
business.LabelDomain // Use domain-specific package
product.LabelJourneyStage // Use domain-specific package
Migration Steps¶
- Import domain packages for domain-specific labels:
ontologies/domains/businessfor business verticalsontologies/domains/productfor AARRR journey stagesontologies/domains/iamfor IAM/IGA labelsontologies/domains/saasfor multi-tenancy labelsontologies/domains/securityfor security labelsontologies/domains/compliancefor regulatory frameworks-
ontologies/domains/operationsfor operational processes -
Replace
ontology.LabelDomainwithbusiness.LabelDomain - Replace
ontology.LabelJourneyStagewithproduct.LabelJourneyStage
Added¶
Alert Conditions¶
- Alert condition builders and helpers for OpenSLO alert policies (
a90d564) - AlertSeverity type with critical, high, medium, low, info levels (
a90d564)
import "github.com/grokify/slogo/alert"
cond := alert.NewCondition("high-burn-rate").
WithBurnRate(14.4, "1h").
WithSeverity(alert.SeverityCritical).
Build()
Requirements¶
- Requirement types with Target containing RateGoal and DurationGoal (
92adc13) - Requirements slice type with Table() method for rendering summaries (
92adc13)
CLI Tools¶
gen-examples-json-yamlfor generating JSON/YAML from example SLOs (ed2c1e7)gen-metrics-docfor generating METRICS.md documentation (ed2c1e7)label-statsfor analyzing label usage across examples (ed2c1e7)
Integrations¶
- Datadog HCL converter stub for Terraform integration (
f76c7e1)
Domain Ontology Packages¶
| Package | Description |
|---|---|
ontologies/domains/iam |
IAM/IGA labels (access models, capabilities) |
ontologies/domains/product |
AARRR journey stages |
ontologies/domains/business |
Business verticals (CRM, E-commerce, AI/ML, etc.) |
ontologies/domains/saas |
Multi-tenancy labels |
ontologies/domains/security |
Security labels (risk levels, risk types) |
ontologies/domains/compliance |
Regulatory frameworks (SOC2, GDPR, HIPAA, etc.) |
ontologies/domains/operations |
Operational processes and workflows |
Changed¶
- Core ontology reduced to 12 generic SLO labels (
48d1c9a): - framework, layer, scope, audience
- category, severity, tier, metric-type
- resource-type, service, team, environment
- BREAKING: Domain-specific labels moved to opt-in
ontologies/domains/packages (48d1c9a)
Dependencies¶
- Update github.com/OpenSLO/go-sdk from 0.8.0 to 0.9.1 (
49bacee) - Update github.com/grokify/mogo from 0.72.0 to 0.73.5 (
083a86d) - Update github.com/grokify/gocharts/v2 from 2.26.0 to 2.26.9 (
c46e4aa)
Documentation¶
- Add UTF-8 icons to README bullet lists for improved readability (
ad76e02) - Add CHANGELOG.json and CHANGELOG.md covering v0.1.0-v0.3.0 (
eb7184c) - Add MkDocs documentation site with Material theme (
65b4ea8)
Build¶
- Update golangci-lint-action from 8 to 9 (
06cc583) - Update actions/checkout from 5 to 6 (
97f1292) - Add .gitignore for development tools and build artifacts (
df487da)