JuliusBrussee/caveman · error

ccr: unknown object type %q

Error message

ccr: unknown object type %q

What it means

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

Source

Thrown at engine/ccr/store.go:103

	Currentness        Currentness `json:"currentness"`
	Lifecycle          Lifecycle   `json:"lifecycle"`
	Dependencies       []string    `json:"dependencies"`
	OriginalByteLength int         `json:"original_byte_length"`
	StoredByteLength   int         `json:"stored_byte_length"`
	Data               []byte      `json:"data"`
}

var objectTypes = map[ObjectType]struct{}{
	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()

View on GitHub (pinned to 27d5a3981a)

Solutions

  1. Use a known ccr object type.

When it happens

Trigger: Thrown at engine/ccr/store.go:103 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/3f4309e043c910b9. Report an issue: GitHub.