Who is qualified for what,right now.
Competency tracking that is always current: crew × qualification × expiry × operational role. The answer reflects the live operation because the model is the source of truth, not a derived spreadsheet.
Training, safety and quality share the operation.
Qualifications connect people to roles with validity periods. A safety finding can trigger a training requirement; a training gap can surface as a hazard. Same operation, no double entry.
The capabilities, on one record.
Role × competency × person with validity period and source training record.
Expiry cascades ahead of due date. Scheduling windows auto-open; no expired crews get through the gate.
Gaps surface as typed findings, not a dashboard chart that nobody opens.
Bulk CSV import with classification applied on the way in, so existing training history lands as records, not attachments.
Real records, one reference each.
Every record carries a stable reference and a source on every field. Nothing is silently overwritten, and the trail is the record.
Qualification = person × role × validity
Expiry alerts fire ahead of due date
Training gaps surface as findings
Training currency is computed from records, never tracked in a side spreadsheet
It links to the rest of the graph.
Competence is current, or visible.
Qualifications carry expiry and evidence. A lapsed requirement surfaces to the owner before the audit finds it, and training closes with proof.
The team is qualified. The next chapter extends the same accountability to work done by others: outsourcing oversight.