Pre-alpha. No tagged release and no upgrade path between versions. Use for evaluation and development only, not production.
AllPre-alpha

Platform gaps

Sumeru is a small Go kernel for modular ERP-style apps: addons, domains, views, chatter, cron, and JSON-RPC. This page sets expectations for implementers — not a claim of feature parity with any other product.

Architecture snapshot

DimensionSumeru todayTypical mature modular ERP
RuntimeSingle Go binary per process; horizontal scale via N replicasMulti-process app servers (threaded / prefork / async workers)
Modules~5 kernel + ~8 business (sumeru_addons)Hundreds of optional apps and localizations
UISWC (TypeScript SPA workspace) + server HTML shellRealtime bus WebSocket
ORM extensionView XML inherit, bridge modules, eventsDynamic model inheritance, computed fields, metadata models
RPCAllowlisted JSON-RPC at POST /api/rpcBroad unrestricted RPC on many public methods
RealtimeIn-process event bus + outbox drain + SWC WebSocket hubDedicated bus / WebSocket + DB NOTIFY
Scale knobsINI pool, read replica, rate limits (see Scale architecture)Worker pools, connection limits, dedicated cron workers

Closed since August 2026 (gap-plan work)

These were listed as gaps in early 2026 docs and are now implemented (pre-alpha):

AreaWhat shipped
Computed fieldsGo orm.RegisterCompute + ApplyComputes on read paths
Aggregationread_group RPC + ORM ReadGroup (sum/count)
Object actions via RPCcall method invokes RegisterObjectAction handlers
Versioned migrationsaddons/MODULE/migrations/*.sql + sumeru-migrate / install hook
List searchWorkspace list ?q= filter with ilike across view columns
Kanban searchSame ?q= filter on kanban workspace load
Email (transactional)SMTP INI + password reset when smtp_host / smtp_from set
DB pool & replicadb_max_open_conns, db_read_replica_dsn, etc.
Rate limitingrate_limit_rpm on /api/rpc and /web/login
Multi-instance cronFOR UPDATE SKIP LOCKED on due sys.cron rows
Async plumbingOutbox drain → in-process queue; mail queue worker
SWC realtime busWebSocket /web/swc/bus forwards outbox events to logged-in sessions
Developer CLIssumeru-shell, sumeru-module, sumeru-migrate, sumeru-i18n-import, make test-db

Do not double-count these as open gaps — see also Feature matrix.

Still open — kernel / platform (P0–P1)

GapTypical ERP patternSumeru todayImpact
Model _inheritMRO merge in dynamic ORMDeliberately absentBridge modules or duplicate models
Rich computed graphDeclarative depends/constraints/onchangeRegisterCompute + onchange RPC; SWC modifier expressions v1Business logic stays in Go services for complex rules
Metadata ORMRuntime model/field registrysys.model exists; no runtime field creationCustomization needs recompile + -u
Rich server actionsScriptable automation, webhooksDeclarative publish: / write: onlyPower users need Go for complex automation
Graph / calendar / ganttFull view typesGraph v1 + Calendar v1 in SWC; gantt/map/cohort stubsReporting UX improving
Full mail gatewaySMTP/IMAP, templates, followersChatter UI + transactional SMTP stubNo full notification stack
Multi-process in one hostPrefork worker poolsOne HTTP listener per binaryScale out = N processes behind LB
Attachment filestoreCentral attachment store, object storage hooksBinary fields onlyLarge files / CDN unclear

Deferred — business catalog (P2)

Not kernel goals for pre-beta; full ERP suites include inventory/MRP/POS, website/eCommerce, country localizations, payments, payroll, and more. Sumeru covers a thin lead-to-cash + P2P + HR directory slice. See Limitations.

Deferred — SWC / UX (document, not stub)

FeatureStatusNotes
Field onchangeImplementedGo RegisterOnchange + POST /api/rpc onchange; SWC RecordStore.applyOnchange
sum-template (.sum.xml)ImplementedCompiler in template/sum/ + esbuild plugin
SWC Vision devtoolsImplementeddevtools/bridge.ts, in-app panel, optional browser extension
Rich graph/chartsPartial v1GraphView uses read_group RPC; richer charting is future work
List/kanban toolbar searchImplementedSearch beside New button; SPA view-tab sync on record open
Form field a11yImplementedLabel for association, autocomplete tokens, native date input

UI stubs still visible

AreaStatus
List bulk selectImplemented in SWC list viewClient pagination + bulk delete
sumeru_ai addonPass-through interceptor; placeholder UI
XML evalStored as literal; not executed

List search and password-reset email are no longer stubs when SMTP is configured.

Scale roadmap

PhaseFocus
1 — Production-shapedPool INI, stateless replicas, read replica routing, rate limits, SMTP
2 — AsyncQueue-backed outbox/cron/mail, cron row locks (shipped), external broker hook
3 — Millions of readsHPA, PgBouncer, CDN, optional separate API vs render services

Details: Scale-out architecture, Multi-instance cron.

See also