Documentation
¶
Overview ¶
Package export provides converters for exporting PRISM data to other formats.
Package export provides converters for exporting PRISM data to other formats.
Index ¶
- func CalculateCriterionProgress(mc prism.MetricCriterion, metric *prism.Metric) float64
- func ConvertToRoadmap(doc *prism.PRISMDocument) *roadmap.Roadmap
- func ConvertToStructuredOKR(doc *prism.PRISMDocument) *okr.OKRDocument
- type KeyResult
- type OKRAlignment
- type OKRDocument
- type OKRMetadata
- type Objective
- type PhaseTarget
- type RoadmapExport
- type V2MOMDocument
- type V2MOMMeasure
- type V2MOMMetadata
- type V2MOMMethod
- type V2MOMObstacle
- type V2MOMValue
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CalculateCriterionProgress ¶
func CalculateCriterionProgress(mc prism.MetricCriterion, metric *prism.Metric) float64
CalculateCriterionProgress calculates progress toward a metric criterion.
func ConvertToRoadmap ¶
func ConvertToRoadmap(doc *prism.PRISMDocument) *roadmap.Roadmap
ConvertToRoadmap converts a PRISM document to a structured-plan roadmap.
func ConvertToStructuredOKR ¶
func ConvertToStructuredOKR(doc *prism.PRISMDocument) *okr.OKRDocument
ConvertToStructuredOKR converts a PRISM document to structured-plan OKR format. Each maturity level to achieve becomes an Objective. SLOs and metric criteria become Key Results.
Types ¶
type KeyResult ¶
type KeyResult struct {
ID string `json:"id"`
Title string `json:"title"`
Description string `json:"description,omitempty"`
Owner string `json:"owner,omitempty"`
Metric string `json:"metric,omitempty"`
Baseline string `json:"baseline,omitempty"`
Target string `json:"target"`
Current string `json:"current,omitempty"`
Unit string `json:"unit,omitempty"`
MeasurementMethod string `json:"measurementMethod,omitempty"`
Score float64 `json:"score,omitempty"`
Confidence string `json:"confidence,omitempty"`
Status string `json:"status,omitempty"`
DueDate string `json:"dueDate,omitempty"`
PhaseTargets []PhaseTarget `json:"phaseTargets,omitempty"`
Tags []string `json:"tags,omitempty"`
}
KeyResult represents an OKR key result.
func MetricCriteriaToKeyResult ¶
func MetricCriteriaToKeyResult(mc prism.MetricCriterion, level int, doc *prism.PRISMDocument, phases []prism.Phase, goalID string, index int) KeyResult
MetricCriteriaToKeyResult converts a metric criterion to a key result.
func SLOToKeyResult ¶
func SLOToKeyResult(slo prism.SLORequirement, level int, doc *prism.PRISMDocument, phases []prism.Phase, goalID string, index int) KeyResult
SLOToKeyResult converts an SLO requirement to a key result.
type OKRAlignment ¶
type OKRAlignment struct {
ParentOKRID string `json:"parentOkrId,omitempty"`
CompanyOKRs []string `json:"companyOkrs,omitempty"`
}
OKRAlignment links to parent OKRs.
type OKRDocument ¶
type OKRDocument struct {
Schema string `json:"$schema,omitempty"`
Metadata OKRMetadata `json:"metadata"`
Theme string `json:"theme,omitempty"`
Objectives []Objective `json:"objectives"`
Alignment *OKRAlignment `json:"alignment,omitempty"`
}
OKRDocument represents a structured-plan OKR document.
func ConvertToOKR ¶
func ConvertToOKR(doc *prism.PRISMDocument) *OKRDocument
ConvertToOKR converts a PRISM document to an OKR document.
type OKRMetadata ¶
type OKRMetadata struct {
ID string `json:"id"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
Owner string `json:"owner,omitempty"`
Team string `json:"team,omitempty"`
Period string `json:"period,omitempty"`
Status string `json:"status,omitempty"`
CreatedAt string `json:"createdAt,omitempty"`
UpdatedAt string `json:"updatedAt,omitempty"`
Source string `json:"source,omitempty"`
}
OKRMetadata holds document metadata.
type Objective ¶
type Objective struct {
ID string `json:"id"`
Title string `json:"title"`
Description string `json:"description,omitempty"`
Rationale string `json:"rationale,omitempty"`
Category string `json:"category,omitempty"`
Owner string `json:"owner,omitempty"`
Timeframe string `json:"timeframe,omitempty"`
Status string `json:"status,omitempty"`
KeyResults []KeyResult `json:"keyResults"`
Progress float64 `json:"progress,omitempty"`
Tags []string `json:"tags,omitempty"`
}
Objective represents an OKR objective.
func GoalToObjective ¶
func GoalToObjective(goal prism.Goal, doc *prism.PRISMDocument) Objective
GoalToObjective converts a PRISM goal to an OKR objective.
type PhaseTarget ¶
type PhaseTarget struct {
PhaseID string `json:"phaseId"`
Target string `json:"target"`
Status string `json:"status,omitempty"`
Actual string `json:"actual,omitempty"`
Notes string `json:"notes,omitempty"`
}
PhaseTarget represents a per-phase target for a key result.
func GeneratePhaseTargets ¶
func GeneratePhaseTargets(phases []prism.Phase, goalID string, targetLevel int) []PhaseTarget
GeneratePhaseTargets generates phase targets for a key result.
type RoadmapExport ¶
type RoadmapExport struct {
Roadmap *roadmap.Roadmap `json:"roadmap"`
OKRs *okr.OKRDocument `json:"okrs,omitempty"`
}
RoadmapExport contains both the roadmap and associated OKRs. This combined export captures the full PRISM model: - Roadmap: phases, deliverables, rollout tracking - OKRs: maturity-based objectives with SLO key results
func ConvertToRoadmapWithOKRs ¶
func ConvertToRoadmapWithOKRs(doc *prism.PRISMDocument) *RoadmapExport
ConvertToRoadmapWithOKRs converts a PRISM document to both roadmap and OKRs. This provides the complete export with: - Phases → roadmap.Phase - Initiatives → roadmap.Deliverable with RolloutStatus - Goals/Maturity → OKR Objectives - SLOs → OKR Key Results
type V2MOMDocument ¶
type V2MOMDocument struct {
Schema string `json:"$schema,omitempty"`
Metadata V2MOMMetadata `json:"metadata"`
Vision string `json:"vision"`
Values []V2MOMValue `json:"values,omitempty"`
Methods []V2MOMMethod `json:"methods"`
Obstacles []V2MOMObstacle `json:"obstacles,omitempty"`
Measures []V2MOMMeasure `json:"measures,omitempty"`
}
V2MOMDocument represents a structured-plan V2MOM document.
func ConvertToV2MOM ¶
func ConvertToV2MOM(doc *prism.PRISMDocument) *V2MOMDocument
ConvertToV2MOM converts a PRISM document to a V2MOM document.
type V2MOMMeasure ¶
type V2MOMMeasure struct {
ID string `json:"id"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
Baseline string `json:"baseline,omitempty"`
Target string `json:"target"`
Current string `json:"current,omitempty"`
Unit string `json:"unit,omitempty"`
Progress float64 `json:"progress,omitempty"`
Timeline string `json:"timeline,omitempty"`
Status string `json:"status,omitempty"`
}
V2MOMMeasure represents a V2MOM measure (like an OKR key result).
func CriterionToMeasure ¶
func CriterionToMeasure(mc prism.MetricCriterion, level int, doc *prism.PRISMDocument, index int) V2MOMMeasure
CriterionToMeasure converts a metric criterion to a V2MOM measure.
func SLOToMeasure ¶
func SLOToMeasure(slo prism.SLORequirement, level int, doc *prism.PRISMDocument, index int) V2MOMMeasure
SLOToMeasure converts an SLO requirement to a V2MOM measure.
type V2MOMMetadata ¶
type V2MOMMetadata struct {
ID string `json:"id"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
Author string `json:"author,omitempty"`
Team string `json:"team,omitempty"`
FiscalYear int `json:"fiscalYear,omitempty"`
Quarter string `json:"quarter,omitempty"`
Status string `json:"status,omitempty"`
CreatedAt string `json:"createdAt,omitempty"`
UpdatedAt string `json:"updatedAt,omitempty"`
Source string `json:"source,omitempty"`
}
V2MOMMetadata holds V2MOM document metadata.
type V2MOMMethod ¶
type V2MOMMethod struct {
ID string `json:"id"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
Priority string `json:"priority,omitempty"`
Status string `json:"status,omitempty"`
Owner string `json:"owner,omitempty"`
StartDate string `json:"startDate,omitempty"`
EndDate string `json:"endDate,omitempty"`
Measures []V2MOMMeasure `json:"measures,omitempty"`
Obstacles []V2MOMObstacle `json:"obstacles,omitempty"`
Projects []string `json:"projects,omitempty"`
}
V2MOMMethod represents a V2MOM method (like an OKR objective).
func GoalToMethod ¶
func GoalToMethod(goal prism.Goal, doc *prism.PRISMDocument, priority int) V2MOMMethod
GoalToMethod converts a PRISM goal to a V2MOM method.
type V2MOMObstacle ¶
type V2MOMObstacle struct {
ID string `json:"id"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
Impact string `json:"impact,omitempty"`
Mitigation string `json:"mitigation,omitempty"`
Status string `json:"status,omitempty"`
}
V2MOMObstacle represents a V2MOM obstacle.