Skip to content

feat: version control engine — push, history, content-addressable deduplication #6

Description

@Ali7040

Implement VersioningService:

  • POST /prompts/:id/versions — push new version
    • Compute SHA-256 hash of content (first 16 chars)
    • Reject if identical hash already exists for this prompt
    • Auto-increment version tag: v1.0.0 → v1.0.1
    • Store parentId to build the version tree
  • GET /prompts/:id/versions — list all versions with author + eval count
  • GET /prompts/:id/versions/:tag — get specific version by tag

Acceptance criteria:

  • Pushing identical content twice returns 409 Conflict with the existing version tag
  • Version tree is traversable via parentId

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions