feat(replay): record runtime identity; label compatibility; analyse first divergence
Snapshots, replays and experiments now record the runtime they ran under: build (module version, VCS commit, modified tree, commit time, Go version, platform), schema version, a digest of the non-secret configuration that ignores secret and credential changes, personality version, policy digest, model routing including per-mind overrides, prompt versions, deterministic subsystem versions and timezone. A replay compares its identity with the snapshot's and is an exact-candidate, a different-build (differences listed) or incompatible (schema differs; the replay stops before running). The first non-exact step is analysed into events only in the recording, events only in the replay, and the components they belong to, labelled as inferred; live model calls are named as their own source of difference. Migration 0022 is additive; unrecorded identities are reported as such.
This commit is contained in:
@@ -42,6 +42,11 @@ type CognitiveConfig struct {
|
||||
DreamLLMCalls int `json:"dream_llm_calls"`
|
||||
DreamMaxMemories int `json:"dream_max_memories"`
|
||||
DreamMaxHypotheses int `json:"dream_max_hypotheses"`
|
||||
|
||||
// LLMRoles overrides the daemon-wide model routing for this mind:
|
||||
// role → model id. It is what lets two forks of one snapshot run on
|
||||
// different providers while sharing everything else.
|
||||
LLMRoles map[string]string `json:"llm_roles,omitempty"`
|
||||
}
|
||||
|
||||
// AttentionFeatures is the fixed set of scoring features (spec §6). Weights are
|
||||
|
||||
Reference in New Issue
Block a user