Skip to main content

Function Version Graph

Relay maintains an append-only version ledger for every function (RUFID). Each publish appends a ledger entry with semantic tags (v1, v2, ...), branch pointers, diff metadata, and manifest snapshots.

Data Model

  • function_version_ledger: append-only entries with version_tag, branch, author_id, diff metadata, and manifest snapshot.
  • function_branch_heads: current head per branch (main by default).

CLI Commands (preview)

  • relay functions history <rufid> — list versions and metadata.
  • relay functions diff <rufid> --from v1 --to v2 — show diff metadata.
  • relay functions branch <rufid> new-branch — create branch (future work).
  • relay functions rollback <rufid> --to v1 — move branch head back (future work).

API Endpoints (upcoming)

  • GET /functions/{rufid}/versions
  • GET /functions/{rufid}/versions/{tag}

Audit & Observability

  • Ledger emits version.created events for auditing.
  • Metrics: relay.version.append_total, relay.version.rollback_total (to be surfaced in Datadog).
  • FN-102 branch-aware execution depends on branch heads from this ledger.
  • FN-103 dependency manifests store snapshots alongside ledger entries.

Stay tuned for CLI and console UX updates that expose the full version graph experience.