Skip to content

Releases: JGabrielGruber/palmengine

v0.39.0 β€” Analytics plane + reactive foundations

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

v0.34.5 β€” Assist modularity & operator remote

Choose a tag to compare

@JGabrielGruber JGabrielGruber released this 09 Jul 16:50

🌴 Palm Engine 0.34.5

Bundled release since 0.32.10 (0.33.0–0.33.3 Β· 0.34.0–0.34.5).

Execution-shaped Assist (tool vs chat, small modules) plus the operator remote: browse/search/page any flow, open it, design chat L0, Portal menu shell. No Bot β€” Assist is the remote; Portal/MCP are clients.

PyPI palmengine==0.34.5
Import palm
Tag v0.34.5
Previous 0.32.10
Docs VISION-0.33 Β· VISION-0.34 Β· CHANGELOG Β· RELEASE-0.34.5

Highlights

Assist modularity (0.33)

  • Presentation pipeline: assist/present/*
  • Tool vs chat profiles under assist/profiles/
  • FaΓ§ade leafs: scenarios Β· sessions Β· catalog (like Execution)
  • Chat continuity (auto-start demos, intro continue) out of WebSocket transport
  • MCP dispatch modular (normalize / operator / shape/*)

Operator remote (0.34)

  • Design intents β†’ auto-start design-entry (not dead-end handoff)
  • Confirm steps: Yes / No chips
  • assist/menu β€” browse / search / page (flows, waiting, scenarios)
  • assist/open + chip values open:flow:… / open:session:…
  • Portal: Menu, typeahead debounce, Browse all flows, Resume waiting
  • Open flow re-inspects first turn (question + input, not blank WAITING_FOR_INPUT)

Try it

uv pip install 'palmengine==0.34.5'
just palm-server
# Portal
open http://127.0.0.1:8080/portal/?open=1
# Menu β†’ Flows β†’ pick a flow β†’ first wizard prompt
# Raw WS
websocat ws://127.0.0.1:8080/ws/v1/assist
{"op":"dispatch","id":"1","format":"assistant","alias":"assist/menu","params":{"section":"flows"}}
{"op":"dispatch","id":"2","format":"assistant","alias":"assist/open","params":{"value":"open:flow:todo-builder"}}

Upgrade notes

  • Non-breaking for MCP / REST / existing flows
  • New aliases: assist/menu, assist/open
  • Chat auto-start default on WS; opt out with params.auto_start=false
  • Portal remains dogfood (open auth, not production PWA)
  • Hello reports 0.34.5

Ladder

Range What
0.33.0–0.33.3 Modular Assist + MCP dispatch split
0.34.1 Design auto-start + confirm chips
0.34.2–0.34.3 Menu + open protocol
0.34.4–0.34.5 Portal menu shell + typeahead + resume chips + open fix

Still open

Push events Β· cookie auth Β· PWA Β· Android Β· optional Bot (only if persona/LLM needed)


Related: 0.32.10 WebSocket + Portal Β· 0.31.5 MCP meta-surface

v0.31.5 β€” MCP meta-surface and progressive disclosure

Choose a tag to compare

@JGabrielGruber JGabrielGruber released this 08 Jul 20:51

🌴 Palm Engine 0.31.5

Bundled release since 0.30.7. Ships token-efficient MCP for weak LLMs: slim tool surfaces, assist-complete aliases, progressive docs, and terminal assistant polish.

Install: pip install palmengine==0.31.5
Migration: MIGRATION-0.30.md (see Β§ 0.31.1 surface, 0.31.2 aliases)


Highlights

Slim MCP surface (PALM_MCP_SURFACE)

Value Tools
full (default) ~39 domain tools (unchanged)
assist palm_assist only (~90%+ less tool-catalog size)
core assist + system
PALM_MCP_SURFACE=assist PALM_MCP_IN_PROCESS=1 uv run --extra mcp palm-mcp
just mcp-inventory surface=assist   # measure catalog size proxy

Assist-complete operation (one tool)

Need Call
Menu palm_assist()
Discover alias=assist/discover (+ optional query)
Run flow params={flow_id: "coconut-npc"}
Continue params={session_id, flow_id, value}
Publish params={body: …} or alias=design/publish
Doctor / list / waiting assist/doctor Β· assist/catalog/flows Β· assist/catalog/waiting
Resume resource alias=flows/session-resume

Progressive docs

Layer Resource
L0 Short always-on palm_assist description
L1 palm://agent/card (start here)
L2 palm://agent/guide / skill / references (only when stuck)

Terminal polish (0.30.8)

  • Complete: Finished. Answers: …
  • Waiting: Send answer β†’ palm_assist
  • Complete: Run again / operator-entry

What’s bundled

Range Theme
0.30.8 Terminal assistant blurb + lean CTAs
0.31.0 Meta-surface vision + open ladder
0.31.1 Surface profiles + inventory
0.31.2 Assist-complete aliases
0.31.3 Progressive docs + publish CTAs
0.31.4 assist/discover + docs refresh
0.31.5 This release cut

Full notes: CHANGELOG.md Β· RELEASE-0.31.5.md Β· VISION-0.31.md

Compatibility

  • Default surface remains full β€” existing multi-tool configs keep working.
  • Set PALM_MCP_SURFACE=assist for one-tool weak-LLM hosts.
  • Prefer palm://agent/card before loading the full operator guide.

v0.30.7 β€” Assist operator UX, local resources, compositional design

Choose a tag to compare

@JGabrielGruber JGabrielGruber released this 08 Jul 19:02

🌴 Palm Engine 0.30.7

Bundled release since 0.26.0. Ships local document/KV providers, the coconut-npc reference flow, and a major Assist / weak-LLM operator track (0.30.0–0.30.6).

Install: pip install palmengine==0.30.7
Migrations: MIGRATION-0.30.md Β· MIGRATION-0.25.md if upgrading from older than Design Service.


Highlights

Assist as the primary agent surface

  • Design discovery from operator-entry: create/improve flow, propose resource
  • design-entry guided scenario (design-entry/start)
  • One-shot publish: palm_design_publish_flow / palm_design_publish_resource (propose β†’ impact β†’ commit in one call)
  • palm_assist(params={body}) β†’ publish; palm_assist(params={flow_id}) β†’ start a flow
  • Flows driven through palm_assist default to assistant views (questions + choices)
  • Resource step failures: resume, doctor preflight, publish resource CTAs
  • operator-entry includes coconut-npc (KV-backed demo)

Local document resources (0.28–0.29)

  • kv provider (auto / memory / storage) and file document provider
  • Tiered KV hot/cold backend for constrained hosts
  • Coconut NPC cross-session player profile via KV

Compositional design (0.27)

  • Prompt {{ state.* }} interpolation
  • step_kind: branch for state-driven routing
  • Design propose_resource, branching playbook MCP resource
  • Resource operator ergonomics (on_resource_failure, remediation hints)

Preferred weak-LLM paths

# Run a flow (e.g. coconut with auto-run KV load/save)
palm_assist(params={flow_id: "coconut-npc"})
palm_assist(params={session_id, flow_id: "coconut-npc", value: "…"})

# Publish a flow definition (one tool)
palm_design_publish_flow(body={name, pattern, options: {steps: […]}})
# or
palm_assist(params={body: {…}})

# Publish a resource definition
palm_design_publish_resource(body={name, provider, action, resource_id, …})

What’s bundled (micro-track map)

Range Theme
0.27.x Compositional design parity, coconut-npc, branch steps
0.28.x kv / file providers, coconut persistence
0.29.0 Tiered KV
0.30.0–0.30.6 Assist design entry + flow/resource operator UX
0.30.7 This PyPI/GitHub cut

Full notes: CHANGELOG.md Β· RELEASE-0.30.7.md

Agent notes

  • Prefer palm_assist over sprawling palm_flows_* for interactive work
  • Prefer palm_design_publish_* over multi-step proposeβ†’impactβ†’commit
  • Treat unknown handoff kind (e.g. design) like none and always read operator_hint

v0.26.0 β€” Design hardening and CQRS bus parity

Choose a tag to compare

@JGabrielGruber JGabrielGruber released this 08 Jul 11:27

🌴 Palm Engine 0.26.0 β€” Design hardening and CQRS bus parity

Summary

Palm 0.26.0 is a quality release on top of 0.25.0. It hardens the Design Service, fixes in-process MCP for design impact/commit, and introduces a registry-driven CQRS transport model for service domains. No breaking API changes β€” upgrade from 0.25.0 is drop-in.

Highlights

  • In-process MCP fixed β€” palm_design_impact and palm_design_commit work on standalone ServerContext (no missing AnalyzeDefinitionImpactQuery handler).
  • Service CQRS contributors β€” definitions and design register transport via ServiceCqrsContributor; single collect_cqrs_catalog() for host and standalone (ADR-009).
  • Registry-driven design dispatch β€” DesignService.dispatch uses design_commands() + handler table instead of an if-chain.
  • Design CQRS bindings β€” bus-level transport for propose/validate/impact/commit (business rules stay in DesignService).
  • Correctness hardening β€” commit re-runs impact before auto-migrate; durable proposal index cleanup; pipeline + wizard design contributors.
  • Dogfooding β€” design_proposal_demo.py end-to-end with auto-migrate.

For agents: Restart palm-mcp after upgrade. Verify with palm_design_propose_flow β†’ palm_design_impact β†’ palm_design_commit.

Docs: CHANGELOG.md Β· RELEASE-0.26.0.md Β· MIGRATION-0.25.md

Install

pip install "palmengine==0.26.0[mcp]"
# or from source:
uv sync --extra mcp

Publish (when ready)

just release-prep
just publish   # requires PYPI_TOKEN

v0.25.0 β€” Definition Revisioning, Migration & Design Service

Choose a tag to compare

@JGabrielGruber JGabrielGruber released this 07 Jul 21:14

🌴 Palm Engine 0.25.0 β€” Definition Revisioning, Migration & Design Service

This release is a single jump from 0.23.1 that delivers the full definition evolution stack Palm has been building toward since the 0.24 vision.

What's new

Definition revisioning (0.24)

  • Flow catalog is append-only β€” update_flow publishes revision N+1, not an in-place overwrite
  • Instances pin flow_revision at submit and keep their snapshot until explicitly migrated
  • Migration rules registry with can_migrate / migrate_state hooks
  • Impact query β€” see which instances are behind a target revision and whether migration is compatible, blocked, or snapshot-only
  • Instance migration β€” dry-run or apply via REST/MCP; migration_* metadata preserved across job sync

Design Service (0.25)

  • Sixth service domain: propose β†’ validate β†’ impact β†’ commit
  • host.design, REST /v1/api/design/proposals, MCP palm_design_*
  • Durable proposals on StorageEngine when storage is active
  • Auto-migrate compatible instances on commit (blocked instances skipped; revision not rolled back)
  • Agent safety β€” commit_token from validate/impact; strict mode via PALM_MCP_REQUIRE_INPUT_TOKEN
  • palm_assist design paths β€” design/propose, design/impact, design/commit, etc.
  • Wizard design contributor β€” slug uniqueness, collection schema checks

Agent workflow

palm_design_propose_flow β†’ palm_design_validate β†’ palm_design_impact β†’ palm_design_commit

Agents should prefer palm_design_* for catalog writes. Direct palm_definitions_* CRUD remains for integrators and Explorer.

Upgrade from 0.23.1

Read MIGRATION-0.24.md (revision semantics, impact/migrate) and MIGRATION-0.25.md (design workflow).

Breaking semantic change: PUT /v1/api/definitions/flows/{id} appends a revision; running instances are not silently upgraded.

References


One-liner (social / commit tag)

Palm 0.25.0: revisioned definitions, instance migration, and Design Service β€” safe, inspectable catalog evolution for agents and operators.

v0.22.0 β€” Agent skill release

Choose a tag to compare

@JGabrielGruber JGabrielGruber released this 03 Jul 10:13

🌴 Palm Engine v0.22.0 β€” Agent skill release

Portable skill as MCP resources, operator guide split, Docker stack documentation.

Added

  • docs/mcp.txt β€” focused MCP operator guide (default palm://agent/guide via PALM_LLMS_TXT).
  • docs/skills/palm/ β€” portable agent skill + references (manual adoption for any agent host).
  • MCP resources β€” palm://agent/skill, palm://agent/references/agent-guide, …/mcp-patterns, …/session-management, …/common-flows.
  • palm.runtimes.mcp.agent_assets β€” skill path resolution (PALM_SKILL_DIR, bundled data/skills/palm/).
  • palm.runtimes.mcp.descriptions.tool_description() β€” weak-LLM-friendly MCP tool docstrings.
  • docs/DOCKER.md β€” Docker Compose stack, volumes, HTTP MCP against container, troubleshooting.
  • .grok/skills/palm/ β€” Grok Build mirror (synced from docs/skills/palm/ via docs-check).
  • MIGRATION-0.22.md β€” agent doc split and resource migration guide.

Changed

  • palm_assist, palm_flows_session, palm_flows_session_input, palm_flows_list, palm_flows_create_session, palm_system_doctor β€” enriched descriptions with call_connected_tool prefix.
  • Docker β€” PALM_SKILL_DIR=docs/skills/palm in Dockerfile and compose; docs/ copied into image.
  • docs/llms.txt β€” project context only; points to docs/mcp.txt for operator guide.
  • Version 0.22.0 on documentation surfaces.

v0.21.12 - MCP playbook

Choose a tag to compare

@JGabrielGruber JGabrielGruber released this 01 Jul 17:24
release(0.21.12): weak-LLM MCP playbook and conversation replay harness

Bundle 0.21.10–0.21.12: unified palm_assist flows driving, edit shortcuts,
fuzzy menu coercion, priority intent, optional-field defaults in collection
edit, and end-to-end todo-builder replay test.

v0.20.5 β€” Assistant Service

Choose a tag to compare

@JGabrielGruber JGabrielGruber released this 01 Jul 15:41

[0.20.5] β€” 2026-07-01

0.20 release complete β€” migration guide, agent docs, verification.

Added

  • MIGRATION-0.20.md β€” assistant vs powertool migration for assist surfaces
  • RELEASE-0.20.5.md β€” release checklist and verify commands

Changed

  • docs/llms.txt β€” 0.20.5 agent rules (two view modes, typical session examples)
  • docs/MCP.md β€” palm_assist format param; link to MIGRATION-0.20.md
  • AGENTS.md β€” assistant/powertool conventions for MCP operators

[0.20.4] β€” 2026-07-01

palm_assist format default β€” assistant on assist paths; powertool on flows/system.

Added

  • palm_assist format param β€” default assistant; powertool / verbose opt-in
  • shape_dispatch_result + resolve_dispatch_format in assist MCP dispatch

Changed

  • Flows/system paths dispatched via palm_assist remain powertool regardless of tool default
  • REST assist dispatch forwards format query param when set

[0.20.3] β€” 2026-07-01

Assist session defaults β€” assistant envelope on service + REST; start returns first turn.

Changed

  • AssistSessionContext.to_dict β€” defaults to format=assistant; verbose and powertool opt-in
  • start_scenario β€” returns first assistant turn (question + choices), not ids-only
  • REST assist handlers β€” ?format=assistant|powertool|verbose on session routes
  • MCP assist dispatch β€” passthrough assistant envelopes (question field)

[0.20.2] β€” 2026-07-01

Assistant views β€” compose + humanize pipeline registered from assist domain.

Added

  • palm/services/assist/views.py β€” build_assistant_view, compose-always pipeline, humanized envelope
  • register_assistant_enricher on assist registry β€” per-scenario post-humanize hooks
  • OperatorViewContext.handoff_ready β€” assist handoff shaping
  • Tests β€” tests/test_assistant_view.py

Changed

  • AssistService β€” registers assistant view builder at construction

[0.20.1] β€” 2026-07-01

Operator view registry β€” thin format dispatch in common; powertool registered by default.

Added

  • palm/common/operator/view_registry.py β€” OperatorViewContext, register_operator_view_builder, build_operator_view, compact β†’ powertool alias
  • Tests β€” tests/test_operator_view_registry.py

[0.20.0] β€” 2026-07-01

Design β€” Assistant vs Powertool operator view split (implementation 0.20.1–0.20.5).

Added

[0.19.1] β€” 2026-07-01

Bugfix β€” palm_assist compact shaping for in-process flow session dispatch.

Fixed

  • compact_dispatch_result β€” coerce SessionContext dataclass results to dicts before compact branching so palm_assist flow session inspect/input returns slim operator snapshots (not verbose result blobs)

[0.19.0] β€” 2026-07-01

Stable MCP proxy β€” single palm_assist dispatch tool for agent config stability.

Migration: MIGRATION-0.19.md Β· Vision: docs/VISION-0.18-ASSIST.md

Added

  • palm_assist MCP tool β€” parametric path / alias / params dispatch
  • palm://assist/routes β€” generated command-path catalog + contributor aliases
  • mcp_aliases on AssistContributor β€” stable alias map (operator-entry/start, etc.)
  • assist_dispatch on in-process and REST MCP backends
  • Tests β€” test_palm_assist_tool.py, test_assist_mcp_aliases.py

Changed

  • docs/MCP.md, docs/llms.txt β€” document palm_assist operator loop
  • Per-domain MCP tools (palm_flows_*, …) unchanged β€” migration optional

[0.18.0] β€” 2026-07-01

Assist domain MVP β€” fifth service for conversational operator guidance and handoff.

Migration: MIGRATION-0.18.md Β· Vision: docs/VISION-0.18-ASSIST.md

Added

  • palm/services/assist/ β€” AssistService, AssistSession, command registry, grammar
  • host.assist β€” wired on ApplicationHost and ServerContext
  • REST /v1/api/assist/… β€” scenarios, session verbs, doctor shortcut, handoff
  • palm-operator-entry β€” assist catalog scenario (examples/definitions/operator_entry.py)
  • palm/app/assist_registry.py β€” app-level assist contributor registry
  • OpenAPI Assist group β€” openapi_registry.py aggregates assist routes
  • Tests β€” test_assist_*, test_operator_entry_flow.py

Changed

  • INSTALLED_SERVICES β€” includes "assist"
  • STATUS.md, docs/MCP.md, docs/llms.txt, AGENTS.md β€” assist surface documented
  • ADR-006 β€” status Accepted

Notes

  • MCP unchanged in 0.18; stable palm_assist proxy deferred to 0.19
  • Assist wizards support existing step_kind: resource compositional steps

[0.17.3] β€” 2026-07-01

OpenAPI from service registries β€” /v1/openapi.json and /v1/docs document the full /v1/api/… surface.

Migration: MIGRATION-0.17.md Β· Plan: docs/superpowers/plans/2026-07-01-0.17-service-completion.md

Added

  • openapi_registry.py β€” aggregates per-service ROUTES into RouteDefinition metadata
  • tests/test_openapi_registry.py

Changed

  • openapi.py, docs.py, doc_examples.py β€” full service-domain route catalog
  • routes.py β€” registers meta routes only; service routes remain on service_routes.py
  • ARCHITECTURE.md β€” REST/OpenAPI layout note

Fixed

  • OpenAPI/HTML docs no longer meta-only after 0.17 monolith route removal

[0.17.2] β€” 2026-07-01

Palm provider remote alignment β€” compositional remote client uses /v1/api/… only.

Migration: MIGRATION-0.17.md

Changed

  • submit_flow_remote β†’ POST /v1/api/flows/{flow_id}/create
  • get_job_remote β†’ GET /v1/api/system/jobs/{job_id}
  • submit_process_remote β†’ /v1/api/processes/{process_id}/prepare + /submit
  • remote_job_payload β€” maps session_id to instance_id

Documentation

  • docs/PROVIDER-APPS.md β€” remote binding path table

[0.17.1] β€” 2026-07-01

Process execution service β€” multi-flow runs under /v1/api/processes/…; legacy /v1/plans removed.

Migration: MIGRATION-0.17.md

Added

  • ProcessExecutionService β€” prepare, submit, run, dispatch with command-path grammar
  • REST β€” POST /v1/api/processes/{process_id}/prepare, /submit, /run
  • Registry β€” process_commands() in execution/processes/registry.py

Changed

  • PalmRestClient / in-process MCP β€” plan staging via /v1/api/processes/…
  • ServerContext β€” wires ProcessExecutionService with runtime for submit idle sync

Removed (breaking)

  • POST /v1/plans/prepare, POST /v1/plans/submit monolith routes

[0.17.0] β€” 2026-07-01

System REST parity β€” observe/lifecycle HTTP under /v1/api/system/…; legacy monolith job/instance/snapshot routes removed.

Migration: MIGRATION-0.17.md Β· Plan: docs/superpowers/plans/2026-07-01-0.17-service-completion.md

Added

  • System REST β€” inspect_job, cancel_job, list_instances, inspect_instance, instance_tree, snapshots, resume_instance on /v1/api/system/…
  • tests/test_system_service_routes.py, tests/test_rest_system_routes.py

Changed

  • PalmRestClient β€” waiting jobs, job context, cancel, tree, snapshots β†’ /v1/api/system/…; provide_job_input delegates to flows session input
  • job_context.next_actions β€” flows session input + system instance/job paths
  • Wizard read model and invoke tree links β†’ system service paths
  • Explorer SSR copy and doc examples updated

Removed (breaking)

  • GET/POST /v1/jobs monolith routes (submit β†’ /v1/api/flows/{flow_id}/create; input β†’ flows session)
  • /v1/instances, /v1/snapshots monolith routes

v0.16.5 β€” Services are the API

Choose a tag to compare

@JGabrielGruber JGabrielGruber released this 01 Jul 12:17

🌴 Palm Engine v0.16.5 β€” Services are the API

Domain services in palm/services/, per-service REST under /v1/api/…, MCP remounted by service domain. Breaking release for integrators on legacy /v1/wizards and monolithic MCP tool names.

Added

  • palm/services/ β€” definitions, execution/flows, execution/providers, system with per-domain registry.py and dispatch() command-path grammar
  • REST /v1/api/… β€” definitions catalog + CRUD, flow session REPL, provider invoke, system doctor/jobs
  • MCP per-domain tools β€” palm_flows_*, palm_system_*, palm_definitions_*, palm_providers_invoke (26 tools total with pattern contributors)
  • ProviderExecutionService β€” host.execution.providers.invoke() with provider validation
  • Definitions CRUD β€” POST/PUT/DELETE on /v1/api/definitions/{flows,processes,resources}/…
  • FlowSession / SessionContext β€” service-layer session handles; session_id terminology at API boundary

Changed

  • host.internal β†’ host.system (SystemService)
  • host.execution.on(id) β†’ host.execution.flows session API (dispatch, FlowSession)
  • Explorer SSR and operator hints updated to /v1/api/flows/… and palm_flows_* tool names
  • MCP prompts and docs/llms.txt agent guide rewritten for 0.16 conventions

Removed (breaking β€” no deprecation window)

  • /v1/wizards REST surface and handlers/wizard.py
  • Legacy catalog routes (/v1/flows, /v1/processes, /v1/resources, /v1/doctor, /v1/flows/validate)
  • POST /v1/resources/invoke β€” replaced by /v1/api/providers/{provider}/{resource_ref}/invoke
  • Orphaned monolith handlers handlers/catalog.py, handlers/resources.py
  • Monolithic MCP tools (palm_submit_wizard, palm_inspect_instance, palm_wizard_input, palm_doctor, …)

Transitional (still mounted)

  • /v1/jobs, /v1/instances, /v1/plans, /v1/snapshots on legacy monolith route table (not yet migrated to /v1/api/system)