8000 post-1.0: design and implement database branching/forking · Issue #201 · project-minigraf/minigraf · GitHub
[go: up one dir, main page]

Skip to content

post-1.0: design and implement database branching/forking #201

Closed as not planned

Description

@adityamukho

Roadmap source

ROADMAP.md: Phase 9.5 Database Branching / Forking.

Work item

Design and implement database branching/forking.

Concept

db.branch() produces a new independent .graph file pre-populated with facts from the parent. db.branch_as_of(path, tx_count) forks from a specific transaction count.

Acceptance criteria

  • Produce an independent single-file database.
  • Ensure WAL is fully flushed/checkpointed before fork.
  • Support current-state fork and explicit transaction-count fork if design confirms API.
  • Add tests proving child writes do not affect the parent.
  • Document semantics and limitations.

Activity

  1. added
    enhancementNew feature or request
    rustPull requests that update rust code
    on May 1, 2026
  2. adityamukho commented on May 15, 2026

    @adityamukho
    CollaboratorAuthor

    Prerequisites

    Database branching/forking interacts deeply with WAL state and checkpoint boundaries — a fork of an uncheckpointed database must flush/checkpoint first, and the semantics of a fork mid-WAL-replay need to be well-defined. The WAL reliability work below should land first so that branching is built on a well-tested foundation and doesn't duplicate fault-case reasoning.

  3. adityamukho commented on Oct 27, 2026

    @adityamukho
    CollaboratorAuthor

    Non-trivial data model to be designed first. No known use case at present. Deferred indefinitely.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestrustPull requests that update rust code

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      0