Skip to content

CreditAuditException

A single finding raised by a CreditAudit, attributed to one of the five gates and to an owner responsible for it.

Gates fail for specific reasons. Each reason is captured as an exception with a severity — blocking, review or resolved — so the governance view can show what stands between a credit and release, who owns it, and when it was raised. Resolved exceptions stay on the record rather than being deleted, preserving the audit trail.

Edited under the parent audit and read by the governance service.

  • app/Filament/Resources/ProjectResource/Actions/EditProjectCreditAuditExceptionsAction.php — create, edit and remove
  • app/Filament/Resources/ProjectResource/Schemas/ProjectCreditAuditExceptionsCard.php — display within the project resource
  • app/Services/GovernanceAuditService.php — aggregates exceptions for the governance view
Relation Type Related model
creditAudit belongsTo CreditAudit
owner belongsTo User

Table: credit_audit_exceptions

Column Type Notes
id uuid Primary key
credit_audit_id uuid FK credit_audits, cascade delete
severity CreditAuditExceptionSeverity blocking, review, resolved
gate CreditAuditGate 1 mandate … 5 release
title string Short finding title
description text Detail of the finding
owner_id uuid Nullable in DB, FK users, null on delete
date date Nullable; defaults to creation day
created_at, updated_at timestamp Nullable; ordering uses created_at

date is defaulted on the model rather than in the form, so imports and seeders get the same behaviour. owner_id is nullable in the database but required by the admin form.