Skip to content

[Feature Request] Cross-Session File Persistence: Reliability guarantees, versioning, and export #2695

Description

@cc3wangdehai-hue

Problem

The current file system has persistence and isolation risks:

  1. Weak session isolation: Other session directories are enumerable and potentially readable
  2. No persistence SLA: Files may be lost without clear retention guarantees
  3. No version control: Accidental overwrites are irreversible
  4. No cross-session consistency: Files referenced in one session may not exist in another
  5. No export mechanism: Users cannot reliably download all their files

Proposed Solution

1. Strong Session Isolation

  • Each session gets an isolated storage volume
  • No cross-session access by default
  • Explicit opt-in sharing with access control

2. Persistence Tiers with SLA

Tier Retention Use Case
Ephemeral Session lifetime Temp files, cache
Standard 30 days Working documents
Persistent 1 year Knowledge bases, configs
Permanent Indefinite Critical records

Users can explicitly tag files/directories with persistence tier.

3. File Versioning

  • Automatic versioning for modified files (like git history)
  • file_history API to browse previous versions
  • One-click rollback to any previous version
  • Configurable version retention policy

4. Backup & Recovery

  • Automatic daily backups for persistent+ files
  • Point-in-time recovery for critical data
  • User-initiated backup before risky operations

5. Export & Migration

  • Bulk export: download all session files as zip
  • Selective export: mark files for long-term archival
  • Migration: move files between sessions or platforms

Impact

  • Data reliability increases user trust
  • Enterprise customers require persistence guarantees
  • Version control prevents accidental data loss
  • Export enables offline workflows and vendor independence

Priority

P2 (Medium) - Essential for enterprise adoption and data safety

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions