Story: Infrastructure features

Table of Contents

This page documents a story in Sprint 06. It captures the goal, current status, acceptance criteria, and the tasks that compose it.

Goal

Three infrastructure features that came along: an in-process event bus (basis for upcoming Postgres-listener notifications), system tray support for long-running sessions, and a past-timepoint faker for tests.

Status

Field Value
State DONE
Parent sprint Sprint 06
Now Completed 2025-12-15.
Waiting on None.
Next None.
Last touched 2025-12-15

Acceptance

  • Event bus exposes publish + subscribe; at least one real consumer.
  • System tray icon with minimise-to-tray on supported platforms.
  • Faker generator produces realistic past timepoints used by bitemporal tests.

Tasks

Task State Start End Description
Implement the event bus DONE 2025-12-15 2025-12-15 Add an in-process event bus so components can publish/subscribe without coupling — basis for the upcoming Postgres-listener-driven notifications.
Add system tray support DONE 2025-12-15 2025-12-15 Show ORE Studio in the system tray with minimise-to-tray behaviour for long-running sessions.
Create faker for past timepoint DONE 2025-12-15 2025-12-15 Add a faker generator for past timepoints so tests can produce realistic bitemporal history without hand-rolling dates.

Decisions

Event bus first, listeners later
the Postgres LISTEN/NOTIFY story needs an in-process bus to fan out to; we build that bus here.

See also

  • ores.eventing — the messaging substrate the event bus extends.
  • ores.qt — host of the system-tray code.

Emacs 29.1 (Org mode 9.6.6)