Skip to content

[C03] Close ZIP gap: couple ordinary durable writes to immutable temporal history #52

Description

@DivyamTalwar

Gap

#48 persists explicit structured perspectives, but ordinary durable MemoryAgent updates do not transactionally preserve earlier knowledge perspectives. C03 closes the supported write/history/query integration, rather than claiming two independent databases are atomic.

Baseline: 48a2a72a4637298f46bce79d7bd045efcc30d58c. Related #32, #33, #40, #50 and #51.

Required delivery

Record immutable fact-version and operation history in the same transaction as pages, current facts, receipts and outbox. Provide revision/time/validity-aware historical reads, explicit schema migration and coverage boundaries for old data. Add bounded all-event enumeration for independently delivered consumers. Preserve the existing opt-in durable and legacy APIs.

Acceptance

  • Ordinary durable add/update/delete/noop retains the previously recorded state; retries do not duplicate history.
  • Corrections and historical selection pass through a public MemoryAgent/store path, including the reviewed temporal oracle where structured fields are necessary.
  • Process death and commit/acknowledgement failures cannot leave a committed fact without its history.
  • V1 migration preserves aliases, receipts and candidate-era writes and never invents unavailable pre-migration history.
  • Current deletion protection and separately authorized historical retention remain distinct.
  • Bounded namespace-qualified history and event APIs reject malformed intervals, huge cursors and inconsistent revision/time requests.
  • Backup/restore and composed C01/C02 tests pass on the actual new schema.

No implicit production migration, destructive real-data test, or automatic merge.

Activity

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

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions