Skip to content

EventStore read verbs leave events.db-wal/-shm sidecars behind (tree-byte-identity broken for read-only ops) #79

Description

@SollanSystems

Summary

Discovered by sealed holdout H4b during PR #77 (doctor-events); reproduced on unfixed base, so it predates that PR.

All EventStore read verbs — status, replay, simulate, and now doctor — leave .loop/events.db-wal + .loop/events.db-shm sidecar files behind when run against a store-backed workspace. The mode=ro URI connections in loop/runtime.py recreate the WAL sidecars but cannot checkpoint/delete them on close (read-only connections can't checkpoint).

Impact

  • Zero content mutation: events.db stays byte-identical; no other files change. The read verbs are data-read-only.
  • But they are not tree-byte-identical: any S4-style zero-carve-out tree-equality smoke over a store-backed workspace will false-flag after a read verb runs.

Fix surface

loop/runtime.py readers + connection lifecycle in loop/events.py — e.g. open read connections in a mode that doesn't recreate sidecars, or checkpoint/clean via a writable connection where safe.

References

Activity

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

Metadata

Metadata

Labels

bugSomething isn't working

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions