Skip to content

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

  1. Import domain packages for domain-specific labels:
  2. ontologies/domains/business for business verticals
  3. ontologies/domains/product for AARRR journey stages
  4. ontologies/domains/iam for IAM/IGA labels
  5. ontologies/domains/saas for multi-tenancy labels
  6. ontologies/domains/security for security labels
  7. ontologies/domains/compliance for regulatory frameworks
  8. ontologies/domains/operations for operational processes

  9. Replace ontology.LabelDomain with business.LabelDomain

  10. Replace ontology.LabelJourneyStage with product.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-yaml for generating JSON/YAML from example SLOs (ed2c1e7)
  • gen-metrics-doc for generating METRICS.md documentation (ed2c1e7)
  • label-stats for 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)

Installation

go get github.com/grokify/slogo@v0.3.0