Releases: JGabrielGruber/palmengine
Release list
v0.39.0 β Analytics plane + reactive foundations
π΄ 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.changedon mutating provider invokehost.tick_work()β run-when-able drain (Android-shaped)EventJournalβ offsets, consume, compact keys, redrive
Dashboards & system ops (0.39)
DashboardDefinition/ tiles β render = loopqueryonly- REST dashboards + UI
?dashboard= - Palm provider system-read:
list_jobs|instances|waiting|flows|resources(local + remote) - Pack
system/+ dashboardpalm-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-todoscurl -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 | jqUpgrade 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
π΄ 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
dispatchmodular (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 valuesopen: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
π΄ 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 proxyAssist-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=assistfor one-tool weak-LLM hosts. - Prefer
palm://agent/cardbefore loading the full operator guide.
v0.30.7 β Assist operator UX, local resources, compositional design
π΄ 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-entryguided 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_assistdefault 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)
kvprovider (auto/memory/storage) andfiledocument 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: branchfor 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_assistover sprawlingpalm_flows_*for interactive work - Prefer
palm_design_publish_*over multi-step proposeβimpactβcommit - Treat unknown handoff
kind(e.g.design) likenoneand always readoperator_hint
v0.26.0 β Design hardening and CQRS bus parity
π΄ 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_impactandpalm_design_commitwork on standaloneServerContext(no missingAnalyzeDefinitionImpactQueryhandler). - Service CQRS contributors β
definitionsanddesignregister transport viaServiceCqrsContributor; singlecollect_cqrs_catalog()for host and standalone (ADR-009). - Registry-driven design dispatch β
DesignService.dispatchusesdesign_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.pyend-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 mcpPublish (when ready)
just release-prep
just publish # requires PYPI_TOKENv0.25.0 β Definition Revisioning, Migration & Design Service
π΄ 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_flowpublishes revisionN+1, not an in-place overwrite - Instances pin
flow_revisionat submit and keep their snapshot until explicitly migrated - Migration rules registry with
can_migrate/migrate_statehooks - 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, MCPpalm_design_*- Durable proposals on
StorageEnginewhen storage is active - Auto-migrate compatible instances on commit (blocked instances skipped; revision not rolled back)
- Agent safety β
commit_tokenfrom validate/impact; strict mode viaPALM_MCP_REQUIRE_INPUT_TOKEN palm_assistdesign 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
π΄ 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 (defaultpalm://agent/guideviaPALM_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, bundleddata/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 fromdocs/skills/palm/viadocs-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 withcall_connected_toolprefix.- Docker β
PALM_SKILL_DIR=docs/skills/palmin Dockerfile and compose;docs/copied into image. docs/llms.txtβ project context only; points todocs/mcp.txtfor operator guide.- Version
0.22.0on documentation surfaces.
v0.21.12 - MCP playbook
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
[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 surfacesRELEASE-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_assistformatparam; link toMIGRATION-0.20.mdAGENTS.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_assistformatparam β defaultassistant;powertool/verboseopt-inshape_dispatch_result+resolve_dispatch_formatin assist MCP dispatch
Changed
- Flows/system paths dispatched via
palm_assistremain powertool regardless of tool default - REST assist dispatch forwards
formatquery 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 toformat=assistant;verboseandpowertoolopt-instart_scenarioβ returns first assistant turn (question + choices), not ids-only- REST assist handlers β
?format=assistant|powertool|verboseon session routes - MCP assist dispatch β passthrough assistant envelopes (
questionfield)
[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 enveloperegister_assistant_enricheron assist registry β per-scenario post-humanize hooksOperatorViewContext.handoff_readyβ assist handoff shaping- Tests β
tests/test_assistant_view.py
Changed
AssistServiceβ registersassistantview 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βpowertoolalias- 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
- Spec β docs/superpowers/specs/2026-07-01-assistant-powertool-views-design.md: assistant (compose + human) default on assist surfaces; powertool (today's compact) on flows/system; thin
view_registryin common
[0.19.1] β 2026-07-01
Bugfix β palm_assist compact shaping for in-process flow session dispatch.
Fixed
compact_dispatch_resultβ coerceSessionContextdataclass results to dicts before compact branching sopalm_assistflow session inspect/input returns slim operator snapshots (not verboseresultblobs)
[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_assistMCP tool β parametricpath/alias/paramsdispatchpalm://assist/routesβ generated command-path catalog + contributor aliasesmcp_aliasesonAssistContributorβ stable alias map (operator-entry/start, etc.)assist_dispatchon in-process and REST MCP backends- Tests β
test_palm_assist_tool.py,test_assist_mcp_aliases.py
Changed
docs/MCP.md,docs/llms.txtβ documentpalm_assistoperator 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, grammarhost.assistβ wired onApplicationHostandServerContext- 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.pyaggregates 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_assistproxy deferred to 0.19 - Assist wizards support existing
step_kind: resourcecompositional 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-serviceROUTESintoRouteDefinitionmetadatatests/test_openapi_registry.py
Changed
openapi.py,docs.py,doc_examples.pyβ full service-domain route catalogroutes.pyβ registers meta routes only; service routes remain onservice_routes.pyARCHITECTURE.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}/createget_job_remoteβGET /v1/api/system/jobs/{job_id}submit_process_remoteβ/v1/api/processes/{process_id}/prepare+/submitremote_job_payloadβ mapssession_idtoinstance_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,dispatchwith command-path grammar- REST β
POST /v1/api/processes/{process_id}/prepare,/submit,/run - Registry β
process_commands()inexecution/processes/registry.py
Changed
PalmRestClient/ in-process MCP β plan staging via/v1/api/processes/β¦ServerContextβ wiresProcessExecutionServicewith runtime for submit idle sync
Removed (breaking)
POST /v1/plans/prepare,POST /v1/plans/submitmonolith 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_instanceon/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_inputdelegates to flows session inputjob_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/jobsmonolith routes (submit β/v1/api/flows/{flow_id}/create; input β flows session)/v1/instances,/v1/snapshotsmonolith routes
v0.16.5 β Services are the API
π΄ 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,systemwith per-domainregistry.pyanddispatch()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/DELETEon/v1/api/definitions/{flows,processes,resources}/β¦ FlowSession/SessionContextβ service-layer session handles;session_idterminology at API boundary
Changed
host.internalβhost.system(SystemService)host.execution.on(id)βhost.execution.flowssession API (dispatch,FlowSession)- Explorer SSR and operator hints updated to
/v1/api/flows/β¦andpalm_flows_*tool names - MCP prompts and
docs/llms.txtagent guide rewritten for 0.16 conventions
Removed (breaking β no deprecation window)
/v1/wizardsREST surface andhandlers/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/snapshotson legacy monolith route table (not yet migrated to/v1/api/system)