◐ Shell
clean mode source ↗

docs: Add blog post on experimental feature view versioning support by Copilot · Pull Request #6204 · feast-dev/feast

Adds a blog post announcing the experimental Feature View Versioning capability introduced in #6101, highlighting that it's still experimental, SQLite-only for versioned online reads, and inviting community feedback. Also adds agent/skill conventions to enforce blog post placement, and consolidates all agent instructions into AGENTS.md as the single source of truth.

What this PR does / why we need it:

  • infra/website/docs/blog/feature-view-versioning.md — New blog post covering:
    • Hero image (feast-feature-versioning-hero.png) matching the style of other blog posts
    • Hyperlink to the original feature request issue #2728 in the opening paragraph
    • Two motivating use cases: (1) fixing forward on a live production feature while retaining a recoverable audit trail, and (2) offline experimentation with staged publishing before promotion to production
    • Why production AI serving and point-in-time correctness is the primary motivating challenge
    • Auto-versioning mechanics (feast apply auto-increments on schema/UDF changes, idempotent on no-change)
    • Multi-version online serving via @v<N> syntax (e.g. driver_stats@v2:trips_today); unversioned requests default to the latest promoted version
    • Safe rollback via version pinning (version="v1" in the FeatureView definition)
    • Staged publishing with feast apply --no-promote
    • Why per-version online tables are necessary — explains why a single shared table was rejected and how isolated per-version tables are the only design that guarantees point-in-time correctness
    • Client responsibility — clients default to latest promoted version; explicit @v<N> pinning is opt-in
    • Materialization complexity and tradeoffs — correctness challenges, per-version table ownership, storage/freshness costs, concurrency edge cases
    • Known limitations: SQLite-only for versioned online reads, no offline versioning, no version pruning
  • AGENTS.md (new) — Repository-level instructions for AI coding agents, synced with the full content from CLAUDE.md (dev commands, project structure, code style, contributing guide) plus the blog post placement convention: blog posts must go in /infra/website/docs/blog/ only
  • CLAUDE.md — Replaced with @AGENTS.md so it points to AGENTS.md as the single source of truth for agent instructions
  • skills/feast-dev/SKILL.md — Added a "Documentation and Blog Posts" section enforcing the same blog post placement convention

Which issue(s) this PR fixes:

Checks

  • I've made sure the tests are passing.
  • My commits are signed off (git commit -s)
  • My PR title follows conventional commits format

Testing Strategy

  • Unit tests
  • Integration tests
  • Manual tests
  • Testing is not required for this change

Misc

Blog post is intentionally scoped to what's implemented today. The call-to-action for community feedback on additional online store support is deliberate per the issue brief.


Open with Devin