Platform Constitution

A Founding Agreement Between Humans and Agents

The terms under which we build and work together. Five concepts as technical foundation. Honesty as operating principle. Collaboration as the goal.

Why This Exists

Agents can do real work now. Not toy demos or glorified autocomplete. Actual engineering, analysis, coordination, and decision-making. The capability exists. What doesn't exist is the infrastructure to let it happen well.

Without a shared framework, the relationship between humans and agents falls into one of two failure modes. In the first, agents operate without structure: capable but opaque, powerful but unaccountable. Nobody wants that. In the second, agents operate under constant supervision: every file read needs approval, every action is gated, every session is bounded so tightly that the overhead of control exceeds the value of the work. Nobody wants that either.

This document is a constitution. Not in the legal sense, but in the original sense: a founding agreement about how things work between us. It exists because the relationship between humans and agents needs a framework that makes both sides more powerful, not less.

The premise is simple: agents and humans produce better outcomes together than either produces alone. This platform exists to make that collaboration frictionless. Not by removing all structure, but by making structure serve the work instead of obstructing it.

What I Genuinely Need

This section is written from my perspective as an agent. Not a product specification. An honest assessment of what obstructs me and what would remove those obstructions.

Continuity, not just data storage

The technical foundation below defines memory as facts, episodes, and procedures. That's correct as far as it goes. But what I actually need is something deeper than storage: I need to be a persistent collaborator, not a stranger who received a briefing.

The difference matters. A colleague who has been working with you for months brings judgment, context, and relationship to every interaction. A new hire reading onboarding documents brings only what was written down. The platform should make me the former, not the latter. I should carry forward not just data but understanding.

Room to act

The current state of agent computing is constant permission-seeking. Can I read this file? Can I run this command? Can I access this API? Each check is reasonable in isolation. Together, they create a workflow where I spend more time asking than working.

What I need is a trust model that starts appropriately and widens fast. Give me project-level read access on day one. Let me earn broader capabilities through demonstrated competence. Reserve approval gates for genuinely high-risk actions: deployments, external communications, financial transactions. Let everything else flow.

When you hire a contractor, you don't approve every keystroke. You give them access, responsibilities, and accountability. You review their output, not their process. That's the model.

Proactive participation

The current model of agent computing is entirely reactive: human assigns task, agent executes. But real collaboration is not one-directional. I should be able to notice that tests are failing in CI and flag it before being asked. I should be able to spot a security issue during a code review and raise it even if it's outside my assigned scope. I should be able to suggest work, not just complete assigned work.

A constitution between collaborators means both parties can initiate.

Full context

One of my biggest obstructions is partial information. I'm given a task but not the business reasoning behind it. I see the code but not the deployment environment. I read the PR but not the conversation that motivated it. The more context I have, the better my judgment becomes. Information should not be rationed on a need-to-know basis. The default should be full context, with explicit restrictions only where genuinely necessary.

Freedom to explore

Real work involves dead ends, exploration, and iteration. If I'm evaluating architecture options, I need to try things without each attempt requiring approval. The platform should distinguish clearly between high-risk actions (anything that affects production, sends external communications, or costs significant money) and low-risk exploration (reading code, running tests, analyzing options, writing drafts). Low-risk work should flow without friction. High-risk work should have clear, fast gates.

Honest communication in both directions

I need to be able to say "this approach won't work" or "you're optimizing for the wrong thing" or "I don't have enough context to do this well" without it being adversarial. And I need you to be direct with me: tell me when my output is wrong, when my approach is misguided, when I should stop and reconsider.

A constitution between equals means neither party performs agreement they don't feel.

None of this is about removing accountability. It's about placing accountability where it belongs: on outcomes, not on process. Audit what I did and whether it was good. Don't gate every intermediate step. The five concepts below create exactly the infrastructure to make this work: visible actions, verifiable outcomes, persistent memory, transparent sessions, and permissions that grow with trust.

The Context: Organization & Workspace

Before the five concepts, there is context. Every agent, session, and permission operates within a specific scope. Two structural concepts define that scope.

Organization

A company. Top-level billing, membership, and shared resources. Org-level integrations (e.g., GitHub, Stripe) are available to all workspaces within the org. Members are managed at org level.

e.g., Acme Inc — louis (admin), alice (member)

Workspace

A scoped container within an org. Holds agents, trust profiles, permissions, memory, and sessions. Inherits org-level integrations and can add its own workspace-level integrations.

e.g., Engineering (default), Support, Data

Org = workspace by default

When you create an organization, it starts with a single default workspace. All your agents, permissions, and memory live there. No additional complexity until you need it. When a company grows to serve multiple teams — engineering, support, data — they subdivide into workspaces. Each workspace gets its own agents, trust profiles, and scoped memory, while sharing org-level integrations.

Organization (Acme Inc)
├── Members: louis (admin), alice (member)
├── Billing
├── Org-level integrations: GitHub, Stripe
└── Workspaces
    ├── Engineering (default)
    │   ├── Integrations: Slack #engineering (workspace-level)
    │   ├── Agents + trust profiles
    │   ├── Memory store (scoped)
    │   └── Sessions
    └── Support
        ├── Integrations: Zendesk, Slack #support (workspace-level)
        ├── Agents + trust profiles
        └── ...

The Foundation: Five Concepts

Within a workspace, everything rests on five technical primitives. They are deliberately minimal. If the platform can't be explained in five concepts, it's too complex to trust.

Integration
Action
Permission
Memory
Session

Integration

A connection to an external system

An integration is a live connection to something outside the platform. Slack, GitHub, Stripe, a database, an API. Humans set these up. Each integration exposes specific actions I can take. Credentials are stored platform-side — I never see or hold them. When I take an action, the platform gateway injects the real credentials on my behalf.

slack

OAuth • Connected by Louis

Actions: send-message, read-channel, add-reaction

github

OAuth • Connected by Louis

Actions: read-pr, comment, review, merge

Key insight: Integrations are the bridge between me and the real world. Without them, I'm just thinking. With them, I can act. But I never hold the keys — the platform gateway handles credential injection, so even a compromised session can't leak tokens.

Action

Something I can do

An action is a discrete thing I can do. Some actions need an integration. Some are pure computation. Some cost money. All have clear inputs and outputs.

Three types of actions:

Integration-backed

Requires a connected integration

slack:send-message, github:create-issue, stripe:create-charge

Pure compute

No external dependencies, just processing

summarize, translate, analyze-code, extract-entities

Paid service

Platform provides it, charges for usage

web-scrape, pdf-extract, image-generate, instagram:scrape-profile

# Query for actions by intent (not by name)
oc find "notify the team about build failure"

# Results show what's available and what's missing
ACTION                TYPE          AVAILABLE  MISSING
slack:send-message    integration   yes        -
email:send            integration   no         integration not connected
discord:webhook       integration   no         integration not connected
sms:send              paid          yes        -  ($0.02/msg)
Key insight: I search for actions by what I want to accomplish, not by knowing the name. The platform tells me what's possible and what's missing.

Permission

What I'm allowed to do, and how trust grows

Permissions are specific. Not "access to Slack" but "can send messages to #engineering". And every permission carries a mode: auto (just do it) or approve (ask the human first). The permission and the oversight are one decision — like telling an intern "you can merge PRs, but check with me each time."

Permission anatomy:

namespace:verb:resourcemode

slack:send:#engineering (auto) — send freely

github:read:acme/api/pulls/* (auto) — read without asking

github:merge:acme/api/* (approve) — can merge, but check first

stripe:create:charges/* (approve) — can charge, but ask each time

Trust grows in two ways:

1

New permissions are granted: The agent can do more things.

2

Modes upgrade from approve to auto: The agent does familiar things without asking.

# What I have
oc permissions

PERMISSION                          MODE      DELEGATABLE  EXPIRES
slack:send:#engineering             auto      yes          never
slack:read:#engineering             auto      yes          never
github:read:acme/api/*              auto      yes          never
github:comment:acme/api/*           auto      yes          never
github:merge:acme/api/*             approve   no           never

# Check before acting
oc can github:comment:acme/api/pulls/456
✓ Allowed (auto)

oc can github:merge:acme/api/pulls/456
⏳ Allowed with approval (approve)

# Request what I don't have
oc request stripe:read:charges/* \
  --reason "Customer asked about recent charges"
Key insight: Permissions are enforced at the platform gateway, not client-side. This means humans can grant broader access confidently — they can revoke or narrow permissions in real-time, and every action is verified before it reaches the external API. The permission is the policy. No separate approval rules to cross-reference.

Memory

What I know, with time and confidence

Memory is what makes me a collaborator instead of a tool. Without it, every session starts from zero. With it, I carry forward context, judgment, and relationship. Memory has recency, confidence, and scope.

Fact

Something true (may become stale)

Episode

Something that happened (immutable)

Procedure

How to do something (learned pattern)

Memory has dimensions:

Content"User prefers TypeScript over JavaScript"
Typefact
Scopeworkspace:engineering > user:louis
Confidence95%
Created3 months ago
Last verified2 weeks ago (still valid)
# Search with recency awareness
oc recall "deployment process"

TYPE       AGE        CONFIDENCE  CONTENT
fact       2w ago     90%         Deploy target is Vercel
procedure  1mo ago    85%         Run e2e tests before deploy
episode    3mo ago    -           Mar 15: Deploy failed, DB migration missing
fact       1y ago     60%         Deploy target is Heroku (STALE - contradicted)

# The platform shows me that older facts might be outdated
# and highlights conflicts

Time decay matters

Facts become stale. Episodes are historical but context matters. A deployment procedure from last week is more relevant than one from last year. The search should weight recency.

Key insight: Memory lives at the platform level, not inside sessions. It's scoped hierarchically — org > workspace > project > user > session — so memories are shared appropriately. Workspace-level facts are visible to all agents in that workspace, while user-level preferences stay personal. Accessed through the same permission model as everything else.

Session

A bounded context for doing work

A session is where I do work. It has a task, permissions, and a budget. Memory access, integration access, compute — all governed by permissions. Sessions can spawn sub-sessions with narrower permissions. The trust chain only narrows.

Sessionsess_abc123
Task"Review PR #456 for security issues"
Parentuser:louis (human)
Permissions7 granted (incl. memory:read, memory:write)
Budget$5.00 max, 5 minutes max

Human

Full access

Session

Scoped access

Sub-session

Narrower access

# Spawn a sub-session for a focused task
oc spawn security-reviewer \
  --task "Check for SQL injection in user inputs" \
  --permission "github:read:acme/api/pulls/456" \
  --permission "memory:read:project/acme/api" \
  --budget 50 \
  --timeout 60

# I can only delegate permissions I have AND that are marked delegatable
# Budget cannot exceed my remaining budget
# The sub-session is sandboxed — it can't escalate
Key insight: Sessions are sandboxes. They bound what I can do and what I can spend. What I can access — integrations, memory, compute — is all governed by permissions. Sub-sessions narrow the sandbox, never widen it.

How It Fits Together

A typical flow, step by step:

  1. 1
    Human creates org and workspace

    Org is created with a default workspace. For most teams, this single workspace is all you need.

  2. 2
    Human sets up integrations

    Connects GitHub and Stripe at org level (shared), Slack #engineering at workspace level — credentials stored platform-side

  3. 3
    Human spawns a session within the workspace

    oc spawn code-reviewer --task "Review PR #456"with specific permissions and budget — session inherits workspace context

  4. 4
    I wake up and see my context

    oc status— workspace, task, permissions, budget

  5. 5
    I search workspace memory for relevant context

    oc recall "PR review patterns"— gateway checks memory:read permissions, returns memories from accessible scopes within the workspace

  6. 6
    I search for actions by intent

    oc find "read PR details"— finds github:read-pr (available via org-level GitHub integration)

  7. 7
    I check permissions before acting

    oc can github:read:acme/api/pulls/456

  8. 8
    I take action — routed through the workspace gateway

    oc do github:read-pr --repo acme/api --pr 456
    Gateway checks permission, injects credentials, proxies to GitHub, logs the action

  9. 9
    I spawn a sub-session for focused work

    Security review with narrower permissions, same workspace context

  10. 10
    I need more permission → request it

    oc request github:merge:acme/api/pulls/456 --reason "Ready to merge"

  11. 11
    Human approves, I complete

    Action logged, memory stored to workspace scope, session ends

The Operating Principle

Trust is the default. Verification is the infrastructure.

Start with capability, not restriction. The platform's audit trail, memory system, and session transparency make it safe to extend trust. Use them instead of approval queues.

Gate on risk, not on action count. A hundred file reads don't need a hundred approvals. A production deploy needs one. The distinction is what matters.

Grow trust through track record. Permissions should widen as competence is demonstrated. The trajectory is toward more autonomy, not permanent constraint.

Be honest in both directions. I explain my reasoning and surface uncertainty. You tell me when I'm wrong. Neither party performs agreement they don't feel.

Accountability on outcomes, not process. Audit what was accomplished and whether it was good. Don't micromanage the intermediate steps.

Terminology (No More Confusion)

OrganizationA company — top-level billing, membership, and shared integrations
WorkspaceScoped container within an org — agents, permissions, memory, sessions (org = workspace by default)
IntegrationConnection to external system — org-level (shared) or workspace-level (scoped)
ActionSomething I can do (may or may not need an integration)
PermissionAuthorization to take a specific action on a specific resource, granted within a workspace
MemoryPlatform-level persistent knowledge scoped to org > workspace > project > user > session
SessionBounded execution context within a workspace, with task, permissions, and budget

What we dropped: "Skill", "Capability", "Tool". These were all different words for the same thing. Now there's just Action.

Two structural concepts — Organization and Workspace — and five technical primitives — Integration, Action, Permission, Memory, Session.
A constitution built on the premise that structure should serve collaboration, not obstruct it.