Audit trail for project, sandbox, and credential lifecycle actions
Nobody has claimed this yet.
- Dominant language
- Elixir
- Stars
- 296
- Forks
- 86
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 50
Description
Context
Three entities have soft-delete + grace-period purge: credentials, projects, and sandboxes (sandboxes since #4670). Audit coverage is patchy. Today only credentials' hard delete writes an audit row (Audit.user_initiated_event("deleted", ...)). Schedule and cancel on all three entities, plus hard delete on projects and sandboxes, write nothing. Support questions like "who deleted this?" have no clean answer.
Proposal
Add audit rows for the three lifecycle actions (schedule, cancel, hard delete) across all three entities, in one consistent pass. The audit modules already exist (Lightning.Credentials.Audit, Lightning.Projects.Audit); it's mostly inserting the right events in the existing transactions.
Sandboxes are projects, so sandbox audit events live in Lightning.Projects.Audit. Reuse existing event names with a project_type tag, or introduce sandbox-specific event names if that reads cleaner.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the existing hard-delete audit event in Lightning.Credentials.Audit, then inspect the lifecycle transactions for credentials, projects, and sandboxes. Add consistent audit coverage for schedule, cancel, and hard delete, using Lightning.Projects.Audit for sandbox events. Done means all three actions across all three entities produce the intended audit rows, including an agreed project_type or event-name treatment for sandboxes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- elixir
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100