ObjectStackObjectStack Protocol

Manifesto

The unshakable core principles that govern the ObjectStack ecosystem. The Constitution of the Post-SaaS Era.

ObjectStack exists to return enterprise application development to its essence: Data.

To maintain a healthy, decoupled, and future-proof ecosystem, we pledge to uphold the following unshakable core principles. These are not suggestions; they are the constraints that enable our freedom.

I. Protocol Neutrality

The Protocol is law. The Implementation is merely an opinion.

II. Mechanism over Policy

Provide the tools to build rules, do not hardcode the rules themselves.

III. Data Sovereignty

Data belongs to the user, not the SaaS provider.


Principle I: Protocol Neutrality

"The Protocol is neutral. The Engine is replaceable."

ObjectQL must not contain any logic specific to a particular language (e.g., Node.js), database (e.g., PostgreSQL), or runtime (e.g., Browser).

The Law

  • Spec before Engine: Any feature must first be defined in the Specification layer (packages/spec) before a single line of code is written in the Engine layer. We reject the "implement first, standardize later" approach.
  • Zero Leakage: Implementation details (like React Hooks usage, or SQL specific syntax) must never leak into the Protocol definition.

The Benefit

This ensures that an ObjectStack application defined today can theoretically run on:

  • A Node.js server with PostgreSQL (Today's Standard)
  • A Python server with SQLite (AI/Data Science)
  • A Rust WASM module in the browser (Local-First)

Principle II: Mechanism over Policy

"Give them the physics, not the simulation."

ObjectStack provides the Mechanisms (The "How"):

  • "Here is how you define a validation rule."
  • "Here is how you define a permission scope."

ObjectStack never dictates the Policy (The "What"):

  • It never says "Passwords must be 8 characters".
  • It never says "Users must belong to a Department".

Separation of Concerns

We cleanly separate the Definition from the Execution.

LayerResponsibilityExample
Protocol (Mechanism)Defines the capabilities.allowRead: string (A slot for a formula)
App (Policy)Defines the business logic.allowRead: "$user.role == 'admin'"
Engine (Execution)Enforces the logic.Compiles formula to SQL WHERE clause.

Principle III: The Single Source of Truth

"There is no 'Code'. There is only Schema."

In a traditional application, the "truth" is scattered:

  1. Database Schema (table.sql)
  2. Backend Models (User.ts)
  3. Frontend Validation (schema.zod.ts)
  4. API Documentation (swagger.json)

In ObjectStack, The Object Protocol is the only truth.

  • The Database is a derivative of the Protocol.
  • The UI is a projection of the Protocol.
  • The API is a consequence of the Protocol.

If you change the Protocol, the entire system (DB, API, UI) must adapt automatically.


Principle IV: Local-First by Default

"The Cloud is a sync peer, not a master."

We reject the notion that software must stop working when the internet connection drops.

  • Latency is the enemy: All interactions should be optimistic and instant (0ms).
  • Ownership is the goal: The user's data essentially lives on their device. The server is just a hub for backup and collaboration.

"We shape our tools, and thereafter our tools shape us." — Marshall McLuhan

On this page