events: injected federation transport (fed-sx-ready) + 6 tests
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 41s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 41s
fetch abstracts how a peer's agenda arrives: (fetch peer-id ws we) ->
{:status :ok :occurrences} | {:status :error}. ev/federated-agenda-via merges
local + trusted peers fetched via the transport; unreachable peers degrade
gracefully. ev/peer-fetch = in-process adapter; ev/federation-status reports
reachability. A real fed-sx transport drops in unchanged. 278/278 green.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -18,7 +18,7 @@ capacity rules, transactional booking, and a flow-driven notification dispatcher
|
||||
|
||||
## Status (rolling)
|
||||
|
||||
`bash lib/events/conformance.sh` → **272/272** (Phases 1-4 + 6 ext: fed f/b, waitlist, EXDATE/RDATE, overrides, booking-notify, reschedule-notify)
|
||||
`bash lib/events/conformance.sh` → **278/278** (Phases 1-4 + 7 ext: fed f/b, waitlist, EXDATE/RDATE, overrides, booking/reschedule-notify, fed transport)
|
||||
|
||||
## Ground rules
|
||||
|
||||
@@ -82,10 +82,19 @@ lib/events/api.sx ── (events/schedule) (events/book) (events/agenda) ──
|
||||
- [x] cross-instance events (peer calendar) — trust-gated stub
|
||||
- [x] tests: federated agenda merge
|
||||
- [x] federated availability/free-busy across trusted peers
|
||||
- [ ] real transport behind `ev/peer-agenda` (fed-sx / signed fetch)
|
||||
- [x] injected transport (`ev/federated-agenda-via` + fetch) — fed-sx-ready, graceful degradation
|
||||
|
||||
## Progress log
|
||||
|
||||
- 2026-06-07 — Injected federation transport (last plan item). `fetch` abstracts
|
||||
how a peer's agenda arrives: (fetch peer-id ws we) -> {:status :ok :occurrences}
|
||||
| {:status :error}. `ev/federated-agenda-via` merges local + each trusted
|
||||
peer fetched via the transport, tagged with :origin; an unreachable peer is
|
||||
skipped (graceful degradation), never breaking the agenda.
|
||||
`ev/peer-fetch` is the in-process adapter (runs the existing store model
|
||||
through the same interface); a real fed-sx/signed-fetch transport drops in
|
||||
unchanged. `ev/federation-status` reports per-peer reachability. +6 tests,
|
||||
278/278 green. All plan checkboxes (incl. extensions) now ticked.
|
||||
- 2026-06-07 — Reschedule notifications (extension). When an event carries
|
||||
per-occurrence overrides, `ev/reschedule-notifications` reads the roster at
|
||||
each overridden occurrence's ORIGINAL occ-key and produces a reschedule
|
||||
|
||||
Reference in New Issue
Block a user