Skip to content

v0.39.0 β€” Analytics plane + reactive foundations

Latest

Choose a tag to compare

@JGabrielGruber JGabrielGruber released this 10 Jul 14:06

🌴 Palm Engine 0.39.0 β€” Analytics plane + reactive foundations

Bundled release since 0.34.5 (0.35–0.39).

Definition-driven data plane (Analytics + dashboards) plus control-plane foundations (WorkIntent, triggers, event journal). Palm provider system inspect for ops datasets (local or remote Palm).

PyPI palmengine==0.39.0
Import palm
Tag v0.39.0
Previous 0.34.5
Docs VISION-0.35 Β· VISION-0.36 Β· ADR-014 Β· RELEASE-0.39.0

Highlights

Analytics (0.35–0.36)

  • AnalyticsService β€” list / describe / query; published-only gate; read-action allowlist
  • Present profiles: raw Β· table Β· series Β· kpi
  • REST /v1/api/analytics/* Β· static dogfood /analytics/
  • Virtual views β€” source + transform (e.g. count_by) at query time
  • Todos pack: durable list + virtual priority view + dashboard palm-todos

Reactive foundations (0.37–0.38)

  • WorkIntent (pure core) + durable store + coalesce
  • Triggers: schedule / on_flow / on_resource (parse + registry)
  • resource.changed on mutating provider invoke
  • host.tick_work() β€” run-when-able drain (Android-shaped)
  • EventJournal β€” offsets, consume, compact keys, redrive

Dashboards & system ops (0.39)

  • DashboardDefinition / tiles β€” render = loop query only
  • REST dashboards + UI ?dashboard=
  • Palm provider system-read: list_jobs|instances|waiting|flows|resources (local + remote)
  • Pack system/ + dashboard palm-system
  • Virtual palm-system-instances-per-flow (instances Γ— flow)

Try it

uv pip install 'palmengine==0.39.0'
just palm-server
open http://127.0.0.1:8080/analytics/?dashboard=palm-system
open http://127.0.0.1:8080/analytics/?dashboard=palm-todos
curl -s -H 'X-Palm-Subject: dev' \
  http://127.0.0.1:8080/v1/api/analytics/dashboards/palm-system/render | jq
curl -s -H 'X-Palm-Subject: dev' -H 'Content-Type: application/json' \
  -d '{"dataset":"palm-system-instances-per-flow","profile":"series"}' \
  http://127.0.0.1:8080/v1/api/analytics/query | jq

Upgrade notes

  • Non-breaking for existing MCP/REST flows
  • New optional surfaces only (analytics, work drain, journal, dashboards)
  • Work drain is explicit (tick_work); not a continuous background Kafka consumer
  • Dashboard registry reloads with host/example packs (in-process)
  • Hello reports 0.39.0

Still open (VISION-0.36+)

Trigger dogfood on example packs Β· continuous drain loop Β· journal multi-consumer production polish Β· design-time dashboard authoring Β· full virtual-view library beyond count_by


Related: 0.34.5 Assist remote Β· 0.32.10 WebSocket + Portal