// Package assertion holds the pure, backend-free design-assertion result DTOs
// relocated out of internal/bootstrap as the Wave-0 SLICE B slice of the
// bootstrap-decoupling campaign.
//
// Only the stdlib-only result/violation structs live here. RunAssertions and
// every individual assert* function read the live DB and embedded JSON
// definitions, so they remain in internal/bootstrap as behavioral/port symbols.
package assertion

// AssertionViolation represents a single design violation
type AssertionViolation struct {
	Category    string // e.g., "SystemFields", "DuplicateAction"
	Severity    string // "error" or "warning"
	Object      string // Table/Object name affected
	Description string
}

// AssertionResult contains all violations found during assertion checks
type AssertionResult struct {
	Violations []AssertionViolation
	Passed     bool
}
