{{define "content"}} {{$m := .Data.Mind}}

{{$m.DisplayName}} consolidation & reflection

Background cognition: generalising episodes into semantic memory, and reviewing recent mistakes. Both are scheduled, budgeted and inspectable.

{{if .Data.Paused}}consolidation paused globally{{end}}
{{template "mind_tabs" (dict "M" $m "Active" "consolidation")}}

Consolidation every {{$m.Config.ConsolidationInterval}} · min {{$m.Config.ConsolidationMinEpisodes}} episodes · {{$m.Config.ConsolidationLLMCalls}} model calls per run{{if not $m.Config.ConsolidationEnabled}} · disabled{{end}}

{{if .Principal.User.Role.AtLeast "operator"}}
{{if .Principal.User.Role.AtLeast "administrator"}}{{end}}
{{end}} {{if .Data.Jobs}}{{range .Data.Jobs}}{{end}}
WhenStatusTriggerClustersProducedOutputs
{{ago .CreatedAt}}{{.Status}}{{with .Error}} {{.}}{{end}}{{.Trigger}} {{.CreatedBy}}{{.Clusters}}{{.Produced}} {{range outputs .Outputs}}
{{trunc .Proposition 90}} ({{conf .Confidence}}, {{len .Episodes}} episodes, {{.Wording}}) {{if $.Principal.User.Role.AtLeast "operator"}}
{{end}}
{{end}}
{{else}}

No runs yet.

{{end}}

Reflection every {{$m.Config.ReflectionInterval}}{{if not $m.Config.ReflectionEnabled}} · disabled{{end}}

{{if .Principal.User.Role.AtLeast "operator"}}
{{end}} {{range .Data.Reflections}}
{{date .CreatedAt}} · {{.PeriodStart.Local.Format "01-02 15:04"}} → {{.PeriodEnd.Local.Format "01-02 15:04"}} {{if .LLMCallID}}· model prose{{end}} {{if .EventID}}· event{{end}}
{{.Prose}}
{{else}}

No reflections yet.

{{end}}
{{end}}