Files
quixos-protocol/test/fixtures/events/rules.qx
T
Timothy J. Aveni 1e72713ae2 Implement durable typed journals, subscriptions, and Reader document connections
Add checked native journal/subscription bindings, managed-reference retention,
bounded history and backpressure, atomic delivery receipts, and fenced hosting.
Preserve source publication prediction and replica reconciliation; subscription
attachment, controls, and delivery remain authoritative in this initial version.

Connect independent manual/Gutenberg document producers to Reader bookshelves
through typed adapters. Add connection inspection, shared provider selection,
authoring documentation, and restart/rejection/fan-out integration coverage.

Verified compiler suite (287 passed, two existing skips), Nix runtime and
PostgreSQL qualification, five example assemblies, headless Reader integration,
Chromium Reader integration, resource pins, formatting, and lint.
No pinned workspace runtime was deployed.
2026-09-28 19:35:51 -07:00

22 lines
1.1 KiB
Plaintext

fragment {
import interface EventStream;
import interface EventHandler;
import interface EventSubscription;
import interface EventStreamRecord;
import interface EventSubscriptionRecord;
conform<value Payload> EventStreamRecord<Payload> as EventStream<Payload> id "events:standard-stream" {
private state Entries id "events:entries" on Self : Payload policy journal {"maxEntries":128,"maxBytes":1048576,"maxPublicationBytes":262144,"maxProtectedSubscriptions":32};
bind publish.call to journal Entries.publish;
bind head.get to journal Entries.head;
bind readPage.call to journal Entries.readPage;
}
conform<value Payload,value Parameters> EventSubscriptionRecord<Payload,Parameters> as EventSubscription<Payload,Parameters> id "events:standard-subscription" {
private state Delivery id "events:delivery" on Self : Parameters policy subscription(Payload);
bind attach.call to subscription Delivery.attach;
bind status.get to subscription Delivery.status;
bind pause.call to subscription Delivery.pause;
bind resume.call to subscription Delivery.resume;
bind retire.call to subscription Delivery.retire;
}
}