ObjectStackObjectStack

Implementation Status Matrix

Detailed status of protocol implementations across ObjectStack packages

Implementation Status Matrix

This document provides a comprehensive overview of which protocols from @objectstack/spec have been implemented in the ObjectStack packages.

Last Updated: June 2026

This matrix is generated from actual codebase analysis and represents the current implementation status.

Status Legend

SymbolStatusDescription
βœ…Fully ImplementedProduction-ready implementation with all core features
⚠️Partially ImplementedBasic implementation, missing advanced features
🚧In ProgressCurrently being developed
πŸ“‹PlannedScheduled for future implementation
❌Not ImplementedProtocol defined but not yet implemented

Core Infrastructure (Kernel)

Runtime & Kernel

Protocol@objectstack/core@objectstack/runtime@objectstack/objectqlStatus
Manifestβœ…βœ…βœ…βœ… Full
Contextβœ…βœ…βœ…βœ… Full
Pluginβœ…βœ…βŒβœ… Full
Plugin Lifecycleβœ…βŒβŒβœ… Full
Plugin Capabilityβœ…βŒβŒβœ… Full
Service Registryβœ…βŒβŒβœ… Full
Startup Orchestratorβœ…βŒβŒβœ… Full
Eventsβœ…βŒβŒβœ… Full

Notes:

  • Core package provides complete microkernel implementation
  • Plugin system supports lifecycle hooks, dependency resolution, and service injection
  • Event bus enables inter-plugin communication
  • ObjectQL serves as the example kernel β€” a reference implementation that will be modularized into plugins

Data Infrastructure

Protocol@objectstack/objectql@objectstack/runtime@objectstack/driver-memoryStatus
Driverβœ…βœ…βš οΈβœ… Interface
Datasourceβœ…βœ…βŒβœ… Full
Data Engineβœ…βŒβŒβœ… Full
Queryβœ…βš οΈβš οΈβš οΈ Partial
Filterβœ…βš οΈβš οΈβš οΈ Partial

Notes:

  • ObjectQL implements complete IDataEngine interface
  • Memory driver is reference implementation (basic CRUD only)
  • Advanced query features (aggregations, window functions) require production drivers
  • Memory driver supports aggregations (groupBy, count, sum, avg, min, max)

Metadata Framework

Runtime Boundary β€” runtime metadata is file/artifact-backed and read-only at boot. Database-backed metadata persistence exists for explicitly configured control-plane services, not as an automatic runtime project-DB bridge.

  • Metadata API (list types, list items, get item) is fully functional
  • Metadata is loaded from config files or dist/objectstack.json at startup and held in memory
  • MetadataPlugin no longer registers sys_metadata / sys_metadata_history into the runtime or auto-bridges ObjectQL to DatabaseLoader
  • Future: production Artifact API loader and durable local artifact cache

System Services

ProtocolImplementation PackageStatusNotes
Logging@objectstack/coreβœ…Cross-platform logger (browser + server)
API Registry@objectstack/coreβœ…Central endpoint registry
Metrics@objectstack/observabilityβœ…Metrics exporters shipped (metrics-exporters.ts)
Tracing@objectstack/observability⚠️Error/exporter pipeline shipped (error-exporters.ts); full distributed tracing in progress
Audit@objectstack/plugin-auditβœ…Audit writers + audit objects shipped
Job@objectstack/service-jobβœ…Job service with cron/db/interval adapters
Cache⚠️⚠️HTTP caching implemented, in-memory cache partial
Translation@objectstack/service-i18nβœ…i18n/translation service with file adapter
Feature FlagsβŒπŸ“‹Planned
EncryptionβŒπŸ“‹Planned
ComplianceβŒπŸ“‹Planned
MaskingβŒπŸ“‹Planned
Notification@objectstack/service-messaging, @objectstack/service-feed🟑Framework pipeline shipped; objectui bell cut-over remains
Change ManagementβŒπŸ“‹Planned
CollaborationβŒπŸ“‹Planned

Data Layer (ObjectQL)

Core Data Modeling

Protocol@objectstack/spec@objectstack/objectql@objectstack/clientStatus
Fieldβœ…βœ…βœ…βœ… Full
Objectβœ…βœ…βœ…βœ… Full
Validationβœ…βš οΈβŒβš οΈ Partial
Hookβœ…βœ…βŒβœ… Full
Datasetβœ…βŒβŒβŒ Not Impl
Mappingβœ…βŒβŒβŒ Not Impl
Documentβœ…βŒβŒβŒ Not Impl
External Lookupβœ…βŒβŒβŒ Not Impl

Field Type Support:

Field TypeImplementationNotes
text, textarea, email, url, phoneβœ…Full support
number, currency, percentβœ…Full support
boolean, checkboxβœ…Full support
date, datetime, timeβœ…Full support
select, multiselectβœ…Full support
lookup, master_detailβœ…Full support in spec, partial in memory driver
formulaβœ…CEL-backed formula fields are implemented
summaryβœ…Server-side rollups for count/sum/min/max/avg on child records
json, arrayβœ…Full support
file, imageπŸ“‹Protocol defined, not implemented

Query Engine

Protocol@objectstack/objectql@objectstack/client@objectstack/driver-memoryStatus
Query ASTβœ…βœ…βš οΈβœ… Full
Query BuilderβŒβœ…βŒβœ… Client
Filter Operatorsβœ…βœ…βš οΈβš οΈ Partial
Aggregationsβœ…βœ…βœ…βœ… Full
Joinsβœ…βœ…βŒβš οΈ Spec only
Sortingβœ…βœ…βŒβš οΈ Spec only
Paginationβœ…βœ…βœ…βœ… Full
Window Functionsβœ…βŒβŒβŒ Spec only
Subqueriesβœ…βŒβŒβŒ Spec only

Notes:

  • Full query protocol is defined and implemented in ObjectQL engine
  • Actual query capability depends on driver implementation
  • Memory driver supports basic queries only
  • Client SDK provides query builder utilities

API Layer (Transport)

HTTP & REST

Protocol@objectstack/rest@objectstack/runtime@objectstack/plugin-hono-server@objectstack/clientStatus
REST Serverβœ…βœ… (re-export)βœ…βŒβœ… Full
HTTP ServerβŒβœ…βœ…βŒβœ… Full
Endpointβœ…βŒβœ…βŒβœ… Full
Routerβœ…βœ…βœ…βŒβœ… Full
DiscoveryβŒβœ…βœ…βœ…βœ… Full
Contractβœ…βœ…βŒβŒβš οΈ Partial
ProtocolβŒβœ…βŒβœ…βœ… Full
Errorsβœ…βœ…βœ…βœ…βœ… Full
HTTP Cacheβœ…βœ…βœ…βœ…βœ… Full
Batchβœ…βœ…βœ…βœ…βœ… Full

The data (/data), metadata (/meta), and batch endpoints are implemented in @objectstack/rest (rest-server.ts); @objectstack/runtime re-exports RestServer from that package and provides the underlying HTTP server/dispatcher.

REST Endpoints Implemented:

Endpoint PatternMethodPurposeStatus
/api/v1GETAPI discoveryβœ…
/metaGETList metadata typesβœ…
/meta/{type}GETList items of typeβœ…
/meta/{type}/{name}GETGet specific metadata itemβœ…
/data/{object}GETList recordsβœ…
/data/{object}/{id}GETGet single recordβœ…
/data/{object}POSTCreate recordβœ…
/data/{object}/{id}PATCHUpdate recordβœ…
/data/{object}/{id}DELETEDelete recordβœ…
/data/{object}/createManyPOSTBatch createβœ…
/data/{object}/updateManyPOSTBatch updateβœ…
/data/{object}/deleteManyPOSTBatch deleteβœ…
/data/{object}/{id}/clonePOSTClone a record (gated by enable.clone)βœ…
/data/{object}/batchPOSTAtomic batch operationsβœ…

Advanced Protocols

ProtocolImplementationStatusNotes
Analyticsβœ…βœ…ObjectQL aggregation plus @objectstack/service-analytics dataset execution; analytics read scope auto-bridges to security.getReadFilter for RLS-aware dashboards/reports
ODataβŒπŸ“‹Protocol defined, not implemented
GraphQLβŒπŸ“‹Protocol defined, not implemented
Realtime@objectstack/service-realtime⚠️Realtime service with in-memory adapter shipped; production adapters in progress
WebSocket@objectstack/service-realtime⚠️Transport provided via the realtime service in-memory adapter

UI Layer (ObjectUI)

View System

Protocol@objectstack/specImplementationStatus
Viewβœ…πŸŸ‘πŸŸ‘ Studio/ObjectUI renders authored metadata surfaces; general-purpose renderer coverage is still incomplete
ListViewβœ…πŸŸ‘πŸŸ‘ ObjectUI grid/list surfaces support per-view persistence, filters, row actions, density, galleries, and permission-aware affordances; full protocol parity is ongoing
FormViewβœ…πŸŸ‘πŸŸ‘ ObjectUI forms support live field rules (visibleWhen / readonlyWhen / requiredWhen), inline-grid row rules, and server-aligned required enforcement
Pageβœ…πŸŸ‘πŸŸ‘ Record-page authoring, page create flows, block canvas editing, slotted record pages, and selected page blocks are implemented in ObjectUI; full component catalogue remains in progress
Appβœ…πŸŸ‘πŸŸ‘ Navigation metadata is consumed by the console/app shell; full renderer parity remains in progress
Dashboardβœ…πŸŸ‘πŸŸ‘ ObjectUI renders metric/chart/list/pivot/funnel/table widgets, drill-downs (group β†’ records β†’ record chain), type-aware cells, and dataset-bound widgets; Studio can author per-widget dataset bindings (dataset / dimensions / values)
Reportβœ…πŸŸ‘πŸŸ‘ ObjectUI renders spec-native tabular/summary/matrix/joined reports, chart/KPI blocks, drill-downs, and dataset-bound reports
Actionβœ…πŸŸ‘πŸŸ‘ ObjectUI supports row/global/header actions, action modal transport, parameter collection, visibility CEL, and nested action runners
Componentβœ…πŸŸ‘πŸŸ‘ Selected page/record components render in ObjectUI (record:alert, related lists, highlights, page blocks); catalogue parity remains in progress
Themeβœ…βŒβŒ Spec only
Widgetβœ…πŸŸ‘πŸŸ‘ Dashboard/report/list/form widgets render in ObjectUI; custom widget manifest/runtime parity remains in progress
Chartβœ…πŸŸ‘πŸŸ‘ Recharts-backed dashboard/report charts cover bar/line/pie/area/scatter/funnel/gauge/treemap/sankey with formatting and field-coverage guards

Notes:

  • All UI protocols are fully defined in spec
  • Metadata API can retrieve UI definitions (views, apps, pages, dashboards, reports, actions)
  • Active Studio/ObjectUI source lives in the sibling ../objectui repo and is bundled into packages/console via the objectui refresh workflow
  • Metadata-admin curated forms now merge server-only fields back into the save payload, so a Studio form that exposes only part of a metadata type should not strip newer protocol properties
  • The 2026-05-08 β†’ 2026-06-08 ObjectUI scan covered 910 non-merge frontend commits. The largest functional clusters were metadata-admin/Studio, master-detail forms, reports/dashboards, record detail/related lists, action transport, flow designer, developer/API pages, AI draft publishing, and i18n.
  • React SDK provides data hooks; the cross-surface renderer is still being completed in ObjectUI rather than in this backend repo

Automation Layer

Plugin-Provided Service β€” The kernel does NOT include an automation engine. Flow, workflow, and approval services are provided by plugins β€” the flow engine ships in @objectstack/service-automation, with approval nodes in @objectstack/plugin-approvals.

Protocol@objectstack/specKernelPlugin RequiredStatus
Flowβœ…βŒβœ…βœ… @objectstack/service-automation
Workflowβœ…βŒβœ…βœ… @objectstack/service-automation
Approvalβœ…βŒβœ…βœ… @objectstack/plugin-approvals
Webhookβœ…βŒβœ…βœ… @objectstack/plugin-webhooks
ETLβœ…βŒβœ…πŸ“‹ Plugin
Syncβœ…βŒβœ…πŸ“‹ Plugin
Trigger Registryβœ…βŒβœ…βœ… plugin-trigger-record-change / plugin-trigger-schedule

Notes:

  • Hook system is implemented in ObjectQL (beforeFind, afterInsert, etc.) β€” this is data-layer eventing, not workflow automation
  • The flow/workflow engine ships in @objectstack/service-automation (engine.ts, builtin nodes, plugin.ts); approvals, webhooks, and triggers ship as plugin-approvals, plugin-webhooks, plugin-trigger-record-change, and plugin-trigger-schedule
  • ETL and Sync protocols are defined but not yet implemented as plugins
  • Discovery API reports automation service as unavailable until a plugin is registered

Security Layer

Plugin-Provided Service β€” The kernel does NOT handle authentication or authorization. Security services must be provided by plugins (e.g., @objectstack/plugin-auth). The Discovery API reports auth as unavailable until a plugin is registered.

Auth Service (plugin-auth)

The auth service in CoreServiceName covers both authentication (identity) and authorization (permissions). There is no separate permission service β€” it is part of auth.

ProtocolArea@objectstack/specKernelPlugin RequiredStatus
IdentityAuthenticationβœ…βŒβœ…πŸ“‹ Plugin
Auth ConfigAuthenticationβœ…βŒβœ…πŸ“‹ Plugin
RoleAuthenticationβœ…βŒβœ…πŸ“‹ Plugin
OrganizationAuthenticationβœ…βŒβœ…πŸ“‹ Plugin
PolicyAuthenticationβœ…βŒβœ…πŸ“‹ Plugin
SCIMAuthenticationβœ…βŒβœ…πŸ“‹ Plugin
PermissionAuthorizationβœ…βœ… Phase-1βœ…βœ… plugin-security
SharingAuthorizationβœ…βŒβœ…πŸ“‹ Plugin
RLSAuthorizationβœ…βœ… Phase-1 (tenant + owner)βœ…βœ… plugin-security
TerritoryAuthorizationβœ…βŒβœ…πŸ“‹ Plugin

Notes:

  • All security protocols (identity + permission) are delivered by a single auth plugin β€” matching CoreServiceName
  • Client SDK supports bearer token header β€” but token validation requires the auth plugin
  • Auth route (/auth/*) only appears in Discovery when the auth plugin is registered
  • Fine-grained authorization (RLS, sharing, territory) is internal to the auth plugin
  • Phase-1 RBAC enforcement is live end-to-end: REST β†’ ObjectQL β†’ SecurityPlugin middleware now receives a populated ExecutionContext (userId, tenantId, positions, permissions). Default member_default permission set ships a wildcard RLS rule organization_id == current_user.organization_id plus per-object overrides sys_organization_self (id == current_user.organization_id) and sys_user_self (id == current_user.id) for the global tables that lack an organization_id column. The earlier tenantField indirection (RLS expressions written against an abstract tenant_id column then rewritten to the configured physical column at compile time) was removed β€” the placeholder, the column name, and RLSUserContext.organization_id are now the same name end-to-end. The legacy objectql.registerTenantMiddleware (hardcoded where.tenant_id injection that pre-dated SecurityPlugin) has been removed; SecurityPlugin is the sole authority for tenant isolation. Analytics now uses the same reusable read scope via security.getReadFilter, so dataset-bound dashboards/reports do not bypass RLS. Verified cross-organization isolation on pnpm dev:crm across sys_organization, sys_member, sys_user, sys_user_permission_set, sys_position_permission_set. Anonymous traffic is denied by default (the ADR-0056 D2 default-deny flip landed: requireAuth defaults to true); an explicit requireAuth: false opt-out logs a boot-time warning, and public forms do not depend on any fall-open β€” they carry a declaration-derived publicFormGrant (ADR-0056 Option A).
  • OWD / sharing-model enforcement is live and proven end-to-end (ADR-0056): private, public_read, public_read_write, and controlled_by_parent are enforced through plugin-sharing + plugin-security and verified by dogfood proofs over the real HTTP stack. object.sharingModel accepts the canonical OWD vocabulary only (private / public_read / public_read_write / controlled_by_parent) β€” the legacy read / read_write / full aliases were removed from the enum (ADR-0090 D4), and an unset sharingModel on a custom object resolves to private (ADR-0090 D1). RLS owner policies resolve current_user.email in addition to id / organization_id / positions (#2054). Permission sets may declare isDefault: true as the install-time suggestion to bind the set to the built-in everyone position (ADR-0090 D5, superseding the ADR-0056 D7 fallback-profile mechanism).

AI Layer

The in-UI AI runtime below ships in ObjectOS, not in the open-source framework. The agent / skill / tool schemas stay open in @objectstack/spec/ai; the open-source framework exposes AI via @objectstack/mcp (BYO-AI). The Implementation / Status columns describe that separate runtime.

Protocol@objectstack/specImplementationStatus
Agentβœ…ObjectOS runtimeβœ… Agent runtime
Model Registryβœ…ObjectOS runtimeβœ… Model registry
RAG Pipelineβœ…@objectstack/service-knowledge⚠️ Knowledge service + knowledge-memory / knowledge-ragflow / embedder-openai plugins
NLQβœ…ObjectOS runtime⚠️ Data-query tools
Conversationβœ…ObjectOS runtimeβœ… In-memory + ObjectQL conversation services
Agent Actionβœ…ObjectOS runtime⚠️ Action/data/knowledge tools
Costβœ…βŒβŒ Spec only
Predictiveβœ…βŒβŒ Spec only
Orchestrationβœ…ObjectOS runtime⚠️ Agent tool orchestration
Feedback Loopβœ…ObjectOS runtime⚠️ Eval harness
DevOps Agentβœ…βŒβŒ Spec only

Notes:

  • Complete AI protocol suite defined
  • The ObjectOS runtime ships agents, model registry, conversation, tools, skills, and an eval harness
  • RAG/embedding is provided by @objectstack/service-knowledge plus the knowledge-memory, knowledge-ragflow, and embedder-openai plugins (all open)
  • Cost tracking, predictive, and the DevOps agent protocols remain spec-only

Integration Layer

Protocol@objectstack/specImplementationStatus
Connectorβœ…connector-rest, connector-openapi, connector-mcp, connector-slackβœ… REST/OpenAPI/MCP/Slack connectors shipped
SaaS Connectorβœ…connector-slack⚠️ Slack connector shipped; broader SaaS catalogue in progress
Database Connectorβœ…@objectstack/driver-sql, driver-mongodbβœ… Delivered via the database drivers
File Storageβœ…@objectstack/service-storageβœ… File storage service with local + S3 adapters and storage routes
Message Queueβœ…@objectstack/service-queue⚠️ Queue service shipped
GitHub Connectorβœ…βŒβŒ Spec only
Vercel Connectorβœ…βŒβŒ Spec only

QA & Testing

Protocol@objectstack/spec@objectstack/core@objectstack/verifyStatus
Testingβœ…βœ…βœ…βœ… Full

Features Implemented:

  • TestSuite, TestScenario, TestStep schemas βœ…
  • HTTP adapter for testing βœ…
  • MSW integration for browser mocking βœ…
  • QA runner in core βœ…

Implementation Roadmap

Phase 1: Core Infrastructure βœ… COMPLETE

  • Microkernel & Plugin System
  • Logging System
  • Service Registry
  • Event Bus
  • API Registry

Phase 2: Data Layer βœ… COMPLETE

  • ObjectQL Engine
  • Schema Registry
  • Protocol Implementation
  • Basic Query Support
  • CRUD Operations
  • Hook System

Phase 3: API Layer βœ… COMPLETE

  • REST Server
  • HTTP Server (Hono)
  • Endpoint Generation
  • Discovery API
  • Metadata API
  • Batch Operations
  • HTTP Caching

Phase 4: Client SDKs βœ… COMPLETE

  • TypeScript Client
  • React Hooks
  • Query Builder
  • Error Handling

Phase 5: Developer Tools βœ… COMPLETE

  • CLI Tools
  • Config Validation
  • Development Server
  • Metadata Management

Phase 6: Advanced Features 🚧 IN PROGRESS

  • Production Database Drivers β€” @objectstack/driver-sql (PostgreSQL/MySQL dialects), @objectstack/driver-mongodb, and @objectstack/driver-sqlite-wasm ship; additional dialect coverage ongoing
  • GraphQL API
  • OData Support
  • Realtime Subscriptions
  • WebSocket Support

Phase 7: UI Layer 🟑 IN PROGRESS

  • UI Renderer
  • Studio metadata-admin engine β€” generic metadata list/detail/edit surfaces, live preview, draft/publish/rollback, create-mode forms, server-side diagnostics, package scoping, and skew-safe curated inspectors
  • Form conditional rules β€” ObjectUI supports visibleWhen, readonlyWhen, requiredWhen, row-scoped inline-grid rules, and required-on-submit enforcement
  • Master-detail forms β€” inline subforms, spreadsheet-style line items, atomic batch create/edit, lookup auto-fill, line ordering, duplicate/reorder, and subtotal/tax/total stack
  • Record detail + related lists β€” derived related lists, record-page assignment, action slots, system/audit sections, and opt-in reference rail
  • Dashboard renderer/editor β€” widget layout persistence, drill-downs, pivot/funnel/table/list widgets, type-aware cells, and per-widget dataset binding authoring (dataset, dimensions, values)
  • Report renderer/editor β€” spec-native summary/matrix/joined reports, chart/KPI blocks, drill-downs, dataset-bound reports, and i18n labels
  • Flow/page designers β€” typed flow node config panels, simulator/debug runner, page block canvas, slotted record pages, and schema-driven block inspectors
  • Action transport β€” row/global/header actions, modal parameter collection, visible CEL, popup-safe open actions, and nested action runner sharing
  • Developer/admin console surfaces β€” Integrations & APIs, public forms, flow runs, approvals inbox, settings, marketplace/package management, AI draft review/publish
  • List View Renderer full protocol parity
  • Cross-surface UI Renderer full protocol parity
  • Theme Engine

Phase 8: Automation (Plugin) 🟑 IN PROGRESS

  • Flow Engine Plugin
  • Approval Node Plugin
  • ETL Pipeline Plugin
  • Trigger Registry Plugin

Phase 9: Security (Plugin) 🟑 PHASE-1 LANDED

  • Authentication Plugin (@objectstack/plugin-auth, better-auth)
  • Authorization Plugin β€” @objectstack/plugin-security enforces CRUD/FLS/RLS in the ObjectQL middleware chain; REST β†’ ObjectQL now propagates ExecutionContext end-to-end (Phase-1)
  • Row-Level Security β€” default member_default permission set applies a wildcard organization_id == current_user.organization_id rule plus per-object overrides sys_organization_self / sys_user_self. The earlier tenantField rewrite indirection was removed: RLS column, placeholder, and RLSUserContext.organization_id use the same canonical name end-to-end
  • Analytics RLS bridge β€” @objectstack/service-analytics auto-bridges to security.getReadFilter(object, context) and fails closed when read-scope resolution cannot be safely applied
  • Multi-tenancy β€” verified cross-organization isolation on pnpm dev:crm (Alice@OrgAlpha vs. Bob@OrgBeta only see their own records across sys_organization, sys_member, sys_user, and sys_*_permission_set link tables)
  • Legacy objectql.registerTenantMiddleware removed β€” SecurityPlugin is now the sole tenant-isolation authority
  • Organization-Wide Defaults / sharing model β€” private, public_read, public_read_write, and controlled_by_parent enforced via plugin-sharing + plugin-security, proven by dogfood over the real HTTP stack (ADR-0056). Canonical vocabulary only β€” legacy aliases removed from the enum (ADR-0090 D4); unset custom-object OWD resolves to private (ADR-0090 D1)
  • Sharing Rule evaluator β€” criteria rules re-evaluated on afterInsert / afterUpdate (plugin-sharing/rule-hooks.ts); enforced recipients are user / position / unit_and_subordinates (business-unit-subtree widening, ADR-0057 D5 / ADR-0090 D3); owner-type rules and group/guest recipients remain [experimental β€” not enforced]
  • Everyone-baseline suggestion β€” a permission set may set isDefault: true as the install-time suggestion to bind it to the built-in everyone position; resolved per-request as an additive baseline, no fallback cliff (ADR-0090 D5)
  • Default-deny for anonymous traffic β€” the global default-deny flip landed (ADR-0056 D2): requireAuth defaults to true, explicit requireAuth: false opt-outs warn at boot, and public forms self-authorize via publicFormGrant (Option A)
  • Studio RLS visual editor
  • Per-userΓ—org permission cache
  • Audit UI / denied-access logging

Phase 10: AI Integration πŸ“‹ PLANNED

  • Agent Framework
  • RAG Pipeline
  • NLQ Engine
  • Model Registry

Summary Statistics

Overall Implementation Status

CategoryTotal ProtocolsStatus
Data16Core modeling, hooks, and query engine fully implemented; document/mapping/external-lookup still pending
UI10Studio/ObjectUI render most authored surfaces (🟑); full cross-surface renderer parity in progress
API14REST/HTTP/discovery/batch fully implemented; OData/GraphQL pending
System39Logging, audit, job, translation, metrics, notification implemented; several governance services pending
Auth (plugin)10Permission + RLS live (plugin-security); identity/sharing/territory still plugin-pending
Automation (plugin)7Flow, workflow, approval, webhook, and triggers implemented; ETL/Sync pending
AI12Agents, model registry, conversation, tools, RAG implemented (ObjectOS runtime + open knowledge plugins); cost/predictive/DevOps-agent pending
Integration7REST/OpenAPI/MCP/Slack connectors, file storage, and queue implemented; GitHub/Vercel connectors pending
QA1Fully implemented

Implementation Coverage

Implementation spans every layer of the platform. Core infrastructure, data modeling, the REST API, client SDKs, security (Phase-1), automation, AI, and integration all have shipping implementations. Remaining gaps are concentrated in specific protocols (OData/GraphQL, cross-surface UI renderer parity, sharing/territory authorization, ETL/Sync, and a handful of governance and AI-cost services) rather than entire layers. Refer to the per-layer tables above for protocol-level status.

Core Functionality Status

Feature AreaStatusProduction Ready
Kernel & Pluginsβœ…Yes
Data Modelingβœ…Yes
Query Engine⚠️Partial (depends on driver)
REST APIβœ…Yes
Client SDKsβœ…Yes
Metadata System⚠️Partial (in-memory only, DB persistence pending)
HTTP Cachingβœ…Yes
Testing Toolsβœ…Yes
UI Rendering❌No
Workflowsβœ…Yes (plugin: service-automation)
Security⚠️Partial (Phase-1 RBAC/RLS via plugin-security)
AI Features⚠️Partial (ObjectOS runtime + open knowledge plugins)

Package Feature Matrix

Featurespeccoreobjectqlruntimeclientclient-reactclimetadatahonomemorymsw
Protocol Definitionsβœ…βŒβŒβŒβŒβŒβŒβŒβŒβŒβŒ
MicrokernelβŒβœ…βŒβŒβŒβŒβŒβŒβŒβŒβŒ
Plugin SystemβŒβœ…βŒβœ…βŒβŒβŒβŒβŒβŒβŒ
Service RegistryβŒβœ…βŒβŒβŒβŒβŒβŒβŒβŒβŒ
Event BusβŒβœ…βŒβŒβŒβŒβŒβŒβŒβŒβŒ
LoggingβŒβœ…βŒβŒβŒβŒβŒβŒβŒβŒβŒ
Schema RegistryβŒβŒβœ…βŒβŒβŒβŒβŒβŒβŒβŒ
ObjectQL EngineβŒβŒβœ…βŒβŒβŒβŒβŒβŒβŒβŒ
Protocol ImplementationβŒβŒβœ…βŒβŒβŒβŒβŒβŒβŒβŒ
REST ServerβŒβŒβŒβœ…βŒβŒβŒβŒβŒβŒβŒ
Endpoint GenerationβŒβŒβŒβœ…βŒβŒβŒβŒβŒβŒβŒ
HTTP ServerβŒβŒβŒβœ…βŒβŒβŒβŒβœ…βŒβŒ
Client SDKβŒβŒβŒβŒβœ…βŒβŒβŒβŒβŒβŒ
Query BuilderβŒβŒβŒβŒβœ…βŒβŒβŒβŒβŒβŒ
React HooksβŒβŒβŒβŒβŒβœ…βŒβŒβŒβŒβŒ
CLI CommandsβŒβŒβŒβŒβŒβŒβœ…βŒβŒβŒβŒ
Config ValidationβŒβŒβŒβŒβŒβŒβœ…βŒβŒβŒβŒ
Metadata LoadingβŒβŒβŒβŒβŒβŒβŒβœ…βŒβŒβŒ
File WatchingβŒβŒβŒβŒβŒβŒβŒβœ…βŒβŒβŒ
Database Driver❌❌❌❌❌❌❌❌❌⚠️❌
API MockingβŒβŒβŒβŒβŒβŒβŒβŒβŒβŒβœ…

The REST server, endpoint generation, and data/meta/batch endpoints are implemented in the @objectstack/rest package (not shown as a column above); @objectstack/runtime re-exports RestServer from it.


Next Steps

On this page