JuliusBrussee/caveman · error

ccr: unknown currentness %q

Error message

ccr: unknown currentness %q

What it means

Error "ccr: unknown currentness %q" thrown in JuliusBrussee/caveman.

Source

Thrown at engine/ccr/store.go:112

	ObjectFileObservation: {}, ObjectSearchResult: {}, ObjectCommandResult: {},
	ObjectTestResult: {}, ObjectBuildResult: {}, ObjectDiffSnapshot: {},
	ObjectTaskContract: {}, ObjectTaskDecision: {}, ObjectExecutionState: {},
	ObjectDocumentationExcerpt: {}, ObjectBrowserSnapshot: {},
	ObjectRepositoryMap: {}, ObjectEvidenceBundle: {},
}

func prepareObject(obj Object) (Object, error) {
	if _, ok := objectTypes[obj.Type]; !ok {
		return Object{}, fmt.Errorf("ccr: unknown object type %q", obj.Type)
	}
	if strings.TrimSpace(obj.SessionID) == "" {
		return Object{}, errors.New("ccr: typed object session_id is required")
	}
	if obj.Currentness == "" {
		obj.Currentness = Current
	}
	if obj.Currentness != Current && obj.Currentness != Stale && obj.Currentness != Archived {
		return Object{}, fmt.Errorf("ccr: unknown currentness %q", obj.Currentness)
	}
	if obj.Lifecycle == "" {
		obj.Lifecycle = Hot
	}
	if obj.Lifecycle != Hot && obj.Lifecycle != Warm && obj.Lifecycle != Cold && obj.Lifecycle != LifecycleArchived {
		return Object{}, fmt.Errorf("ccr: unknown lifecycle %q", obj.Lifecycle)
	}
	if obj.CreatedAt.IsZero() {
		obj.CreatedAt = time.Now().UTC()
	} else {
		obj.CreatedAt = obj.CreatedAt.UTC()
	}
	dataSum := sha256.Sum256(obj.Data)
	computedHash := "sha256:" + hex.EncodeToString(dataSum[:])
	if obj.ContentHash == "" {
		obj.ContentHash = computedHash
	} else if obj.ContentHash != computedHash {
		return Object{}, errors.New("ccr: typed object content_hash does not match data")

View on GitHub (pinned to 27d5a3981a)

Solutions

  1. Use a known ccr currentness value.

When it happens

Trigger: Thrown at engine/ccr/store.go:112 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of JuliusBrussee/caveman@27d5a3981a (2026-08-15). Data as JSON: /api/errors/57b773ebf816bb1a. Report an issue: GitHub.