Skip to content

Keep a local recovery archive of what the graph migration deleted, and of the graph data itself #4190

Description

@kevinthelago

The graph migration has now deleted source files (#3608/#3636, #4183) and moved parts of the app's UI into records that have no .tsx behind them. That is fine while GitHub and components.db are both healthy. It is a single point of failure otherwise.

Done as a local, out-of-git archive at ../base-studio-code-archive/ (sibling of the repo, deliberately not inside it — a copy that dies with the repo is not a backup).

What is in it

deleted-sources/ 21 files Everything the migration deleted, at its content in the commit before the deletion — the fleet cutover (8), the dormant Settings graph path (11), the two superseded parity tests (2).
graph-records-seed/ 94 records src-tauri/data/components/app/** as it ships. For the 8 migrated pages this is the page.
graph-records-store/ 363 records Exported live from components.db. Holds the packaged kit, the demo pages, and anything authored locally that was never committed — which exists nowhere else.

Plus a README.md with provenance and restore instructions written for someone who does not already know the system.

Why the store copy matters as much as the seed

They disagree, and #4188 proved the disagreement can be load-bearing in either direction: ui-charts was corrupt in the seed and valid in the store because a 3895-repair pass fixed the store and never the seed. Backing up only the committed copy would have preserved the broken one.

The store is also nearly 4× the size of the seed. Most of that gap is designer output that has never been committed.

Follow-ups worth deciding

  • Refresh cadence. The archive is a snapshot at develop @ 08a4428f. The deleted sources are frozen history and never need refreshing; the two record sets go stale the moment anyone authors a component. A npm run archive script, or a note in the release checklist, would keep it honest — right now it is a point-in-time copy and should not be mistaken for a live mirror.
  • Whether the store belongs in git at all. 363 records of designer output living only in a local SQLite file and a local archive folder is a real exposure. The seed pipeline (bsc ui exportdata/components/) already exists; the open question is which records are product (belong in the repo) and which are scratch.

Acceptance criteria

  • Every file deleted by the migration recoverable without git.
  • Both record copies — packaged and live — archived, with the difference documented.
  • Restore instructions that do not assume prior knowledge.
  • A decision on refresh cadence.
  • A decision on whether locally-authored records should be committed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions