Skip to content

feat: support Hugging Face revision and commit pinning #10

Description

@elbruno

Context

Production model bundles must not silently change when main changes.

Proposed API

public sealed class DownloadRequest
{
    public required string RepoId { get; init; }
    public string Revision { get; init; } = "main";
    public string? ExpectedCommitSha { get; init; }
}

Requirements

  • Revision may be branch, tag, or commit.
  • Resolve immutable SHA when possible.
  • Cache includes repo and resolved revision.
  • Store resolution metadata.
  • Existing callers default to main.
  • CLI supports --revision.

Acceptance criteria

  • Download by tag.
  • Download by commit.
  • Revisions do not overwrite each other.
  • Result reports resolved commit.
  • Existing API compatible.
  • Unit tests use injectable HTTP.

Priority: P0
Labels: enhancement, reproducibility, huggingface, ElBruno.Speech

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions