ProjectTech4DevAI / ProjectTech4DevAI/kaapi-backend

Storage: Standardize S3 paths

Open
#1,170 0 comments 0 reactions 0 assignees View on GitHub

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_path for 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.