#21978·meshery

[Models] Migrate from Integrations spreadsheet to GitHub as source of truth

Author: yi-nuo426Created Sep 15, 2026Updated Sep 18, 2026
Labelskind/enhancementarea/devopsarea/models

Summary

Today the Meshery Integrations spreadsheet is treated as the canonical source for model/integration metadata, with sync work aimed at keeping the sheet in lockstep with committed definitions under models/ (see related tracking such as #21720).

This issue proposes flipping that relationship: GitHub (meshery/meshery, especially models/) should become the source of truth for Meshery’s models, and the spreadsheet should either be retired, demoted to a derived/read-only view, or limited to non-canonical editorial notes.

Problem

  • Dual sources of truth create drift (relationships/components land in git but lag in the sheet, or the reverse).
  • Spreadsheet edits are harder to review, bisect, CI-gate, and attribute than PRs.
  • Automation and contributor workflows already center on the repo; keeping the sheet as SoT fights that gravity.
  • Issue #21720 currently frames success as syncing into the spreadsheet — that direction should be reconsidered if GitHub is SoT.

Proposed direction

  1. Declare GitHub-committed model artifacts (models, components, relationships, and related metadata under the project’s agreed paths) as canonical.
  2. Make any remaining spreadsheet a generated or optional export, not an authoritative store (or document a clear sunset).
  3. Update docs, contributor handbook, and CI/automation so generate/import/export pipelines treat git as authoritative.
  4. Define a one-time migration plan for any sheet-only data not yet represented in the repo.
  5. Clarify ownership and acceptance criteria so future sync issues (e.g. #21720) align with GitHub-as-SoT rather than sheet-as-SoT.

Expected outcome

  • Contributors change models via PRs only.
  • No requirement to update the Integrations spreadsheet for a model change to be considered complete.
  • Drift between sheet and repo is either eliminated or explicitly accepted as non-blocking for the sheet as a non-SoT view.

Open questions

  • Which spreadsheet columns/entities still lack a first-class representation in models/?
  • What is the sunset timeline for write access to the sheet?
  • Should exports (CSV/Sheets API) remain for human browsing, or is docs/models/ browsing enough?

Related

  • #21720 — currently tracks syncing committed relationships into the Integrations spreadsheet (direction to revisit under this proposal)
  • Historical sheet-population work such as #7278

Contributor Guides and Handbook