Approvals App — Change Log
This log tracks software changes for this area.
Current status
| Item |
Status |
Notes |
| Active development |
Open |
Core workflows implemented |
| Next release target |
TBA |
Pending service-layer consolidation |
| Known risk |
Medium |
Delegation + forwarding edge cases |
Recent changes (newest first)
| Date |
Type |
Summary |
Impact |
Reference |
| 2026-04-15 |
Refactor |
Extracted permissions into approvals.permissions module |
Low |
|
| 2026-04-15 |
Refactor |
Split services into domain-focused modules (assignees, inbox, handlers, audit) |
Medium |
|
| 2026-04-15 |
Feature |
Added forwarding and unforwarding workflows for approvals |
Medium |
|
| 2026-04-15 |
Feature |
Implemented delegation lifecycle with notifications |
Medium |
|
| 2026-04-15 |
Feature |
Added approval inbox with delegated and forwarded visibility |
High |
|
| 2026-04-15 |
Feature |
Implemented decision endpoint with side effects and notifications |
High |
|
| YYYY-MM-DD |
Feature |
|
Low |
|
Type values
- Feature
- Fix
- Refactor
- Performance
- Security
- Breaking change
- Deprecation
Impact values
Open items and status
| ID |
Title |
Status |
Priority |
Owner |
Target |
Reference |
| APPROVALS-001 |
Extract decision workflow into service layer (decide_approval) |
Open |
P1 |
Unassigned |
TBA |
|
| APPROVALS-002 |
Move forwarding logic into services |
Open |
P2 |
Unassigned |
TBA |
|
| APPROVALS-003 |
Add approval reminder / escalation tasks |
Open |
P2 |
Unassigned |
TBA |
|
| APPROVALS-004 |
Improve audit logging (move payload audit → AuditLog) |
Open |
P2 |
Unassigned |
TBA |
|
| APPROVALS-005 |
Add multi-step approval support |
Open |
P3 |
Unassigned |
TBA |
|
Status values
- Open
- In progress
- Blocked
- Review
- Done
- Dropped
Priority values
- P0 blocks release or causes data loss/security risk
- P1 important for reliability or major UX
- P2 normal improvements
- P3 nice to have
Known bugs
| ID |
Symptom |
Severity |
Status |
Workaround |
Reference |
| BUG-APPROVALS-001 |
Forwarded approvals may still appear in edge inbox cases |
Medium |
Open |
Refresh inbox / reassign |
|
| BUG-APPROVALS-002 |
Duplicate delegation edge case under concurrent requests |
Medium |
Open |
Retry operation |
|
Severity values
Breaking changes and migrations
| Date |
Change |
Action required |
Reference |
| YYYY-MM-DD |
|
|
|
Notes
Current architecture direction
The approvals app is transitioning toward a clean service-layer architecture, where:
- views become thin orchestration layers
- services own all workflow logic
- permissions are fully decoupled
- serializers focus only on input/output shaping
Known complexity areas
- Delegation + forwarding interaction rules
- Generic foreign key usage (no strict DB enforcement)
- Inbox query performance under large datasets
- Payload-based audit vs structured audit logs
Next focus areas
- Full service extraction (
decide_approval, forward_approval, disable_delegation)
- Improved observability (audit + logging)
- Background processing (reminders, escalations)
- Expansion to additional approval kinds