8000 streaming engine 8/9: streaming transactions (#473) · Issue #550 · project-minigraf/minigraf · GitHub
[go: up one dir, main page]

Skip to content
7FFF

streaming engine 8/9: streaming transactions (#473) #550

Closed

Description

@adityamukho

Part 8 of 9 of #473. Design: docs/superpowers/specs/2026-10-11-streaming-engine-design.md (branch docs/473-streaming-engine-spec), §8.

  • Streaming EDN parser yielding statements; facts materialised and validated in chunks
  • TX_CHUNK_FACTS constant (start 4,096, set by measurement)
  • Transactions of at most TX_CHUNK_FACTS staged facts unchanged (one WAL entry at commit)
  • Larger transactions write chunks into working trees (copy-on-write) and commit as a checkpoint, with no WAL entry; tx_id fixed when the transaction becomes large (CHANGELOG note)
  • Statement base per statement: last statement wins and API-011 across chunks (§8.3); a rejected statement restores the base
  • Copy-on-write delete in btree.rs
  • File-backed databases only; in-memory and BrowserDb keep their paths (§8.5)
  • WriteTransaction reads its own writes through Scan over its snapshot
  • Crash and fault-matrix tests: rollback and crash before the meta write leave the database unchanged
  • Acceptance: a 1M-fact transact never holds more than one chunk of parsed facts

PRs for this part target v3 and must not use a closing keyword for #473.

Activity

  1. added this to the v3.0.0 milestone on Oct 11, 2026
  2. added
    enhancementNew feature or request
    rustPull requests that update rust code
    durabilityData durability concern
    on Oct 11, 2026
  3. adityamukho commented on Oct 23, 2026

    @adityamukho
    CollaboratorAuthor

    Done on v3: PR 1 #684, PR 2 #685, PR 3 #692 (merged 0535212). #473 stays open.

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

    durabilityData durability concernenhancementNew feature or requestrustPull requests that update rust code

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      0