ProjectTech4DevAI / ProjectTech4DevAI/kaapi-backend
Storage: Standardize S3 paths
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 18
- Forks
- 10
- Avg merge
- 2d 20h
- Merged PRs (30d)
- 14
Description
Is your feature request related to a problem?
Different modules are inconsistent in how they store objects in S3, which complicates data management and raises security concerns.
Describe the solution you'd like
- Standardize all storage paths to use
project.storage_pathfor documents, voice notes, eval datasets, batch data, and LLM call/chain artifacts. - Remove the per-module cleanup logic to facilitate project-reference-based deletion of data from S3.
Original issue
Context
Different modules store objects in S3 differently — documents use project.storage_path (a UUID-based path, good), while audio/TTS-STT paths embed org/project IDs directly.
Decision
Everything (documents, voice notes, eval datasets, batch data, LLM call/chain artifacts) must use project.storage_path.
Rationale
- Security: UUID paths mean S3 access alone can't be correlated to an org/project without DB access.
- Cleanup: enables deleting all of a project's data from S3 by project reference (DPDP-relevant), and removes per-module if/else cleanup logic.
Acceptance criteria
- Documents, LLM call, LLM chain, and eval artifacts all resolve their S3 paths via
project.storage_path. - Per-module cleanup if/else logic is removed in favor of project-reference-based deletion.
@vprashrex @Prajna1999 @AkhileshNegi
Contributor guide
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 by locating S3 path construction and cleanup logic for documents, voice notes, eval datasets, batch data, and LLM call/chain artifacts. Trace how each resolves project.storage_path and identify the project-reference-based deletion entry point; done means all listed artifacts use that path and per-module cleanup branches are removed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, python
- Domain
- backend, cloud
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100