package domain

import "errors"

// Sentinel errors. Used throughout the codebase for typed error handling.
// The API middleware maps these to HTTP status codes (SG11).
var (
	ErrNotFound          = errors.New("entity not found")
	ErrInvalidTransition = errors.New("invalid lifecycle transition")
	ErrApprovalRequired  = errors.New("operator approval required")
	ErrAutonomyBlocked   = errors.New("autonomy policy blocks this action")
	ErrConflict          = errors.New("concurrent modification conflict")
	ErrCircuitOpen       = errors.New("circuit breaker open for target")
	ErrAbstractType      = errors.New("cannot instantiate abstract entity type")
	ErrInvalidEdge       = errors.New("relationship endpoint type mismatch")
	ErrCardinality       = errors.New("relationship cardinality violation")
	ErrSeedHashMismatch  = errors.New("seed content hash mismatch")
	ErrAlreadyExists     = errors.New("entity already exists")
	ErrQuarantined       = errors.New("pattern is quarantined")
	ErrSkillDeprecated   = errors.New("skill is deprecated")
	ErrInvalidInput      = errors.New("invalid input")
)
