Build a draft approval queue.
Keep approval tied to the reviewed version, reviewer permissions, and expiry.
Can a changed, expired, or unapproved draft ever reach the ready state?
A fictional organiser reviews workshop reminders. Each draft has a version and a review record. Build a local gate that exposes the reason for each hold. This project does not send reminders.
Build it, step by step
- 01
Define the fields that approval covers, including destination and draft content.
- 02
Parse numeric expiry fields and explicit boolean strings from the CSV.
- 03
Check decision, matching version, reviewer authority, and expiry.
- 04
Return ready or held with a specific reason and a minimal audit record.
- 05
Test edits after approval, an unauthorised reviewer, exact expiry, and concurrent state changes in a written design.
Your project checklist
- Missing or pending decisions never count as approval.
- Any action-relevant change invalidates an old approval.
- Expired and unauthorised approvals are held.
- Every result explains the decision.
- The design rechecks state before any future external action.
Free, open and run by a nonprofit.
This page is part of AI Automation, a free course of 20 modules and 60 lessons in the engineering.fit( ) Learning Lab. The Learning Lab is built and run by engineering.fit( ), a nonprofit founded by Abdullateef Opeyemi Bakare that helps African engineering students gain research experience. You do not need an account or pay a fee to learn.