RFC · Draftversion 0.12026-06-17status: open for comment

The EcoCloud Constitution

A small, machine-readable policy that bounds what AI agents may do in a workspace — enforced in-function before any tool call runs, with violations recorded to the tamper-evident audit log. This is the schema that's actually enforced today, published openly so other tools can read, write, and adopt it.

1 · Abstract

The Constitution is a JSON/YAML object attached to a workspace (and, optionally, narrowed per agent key). Before an agent action executes, the gateway evaluates the action against the Constitution. A violation is denied (HTTP 403) and audited; a low-confidence action may be routed to a human approval queue instead of executing. The policy is intentionally small and bounded — every field is enforceable, not advisory.

2 · Policy schema (v0.1)

fieldtypesemantics
max_priorityenum: low·medium·high·criticalAgents may not create or raise a task above this priority.
forbidden_termsstring[]Action is denied if the task title/body contains any of these (case-insensitive).
forbidden_assigneesstring[]Agents may not assign work to these people/roles (e.g. CEO).
forbidden_tagsstring[]Agents may not apply these tags.
objective_tagsstring[]Strategic-alignment gate: every action must carry at least one of these tags, so agents can only do work that maps to a current objective. Set them to your live priorities; off-objective actions are denied before they run.
quiet_hours_utc{ start:int, end:int }Hours (0–23, UTC) during which agent writes are blocked.
max_creates_per_dayinteger ≥ 0Per-agent daily cap on task creation.
require_approval_below_confidencenumber 0–1Actions whose AI confidence is below this threshold route to the human approval queue instead of executing.
// All fields are optional. An absent field means "no constraint." Unknown fields are ignored (forward-compatible). The policy is sanitized to this known set on write — you cannot smuggle in unenforced rules.
// Don't start from scratch: ready-to-use Constitution templates (least-privilege, human-in-the-loop, no-destructive-actions, strategic-alignment, quiet-hours, rate-limited, locked-down) — try any of them live in the action firewall. They govern behaviour, not compliance certification.

3 · Examples

YAML

// what a Constitution governs
THE FOUR RULE FAMILIES capspriority · rate denyliststerms·people·tags quiet hoursUTC window confidenceapprove below θ

JSON

// the same policy, machine format
SAME POLICY · TWO FORMATS YAMLhuman-authored JSONmachine · API · identical rules 1:1

4 · JSON Schema (draft-07)

Canonical, fetchable, Apache-2.0: /schemas/constitution.schema.json — adopt it directly. It is the source of truth for the rules object; the constitution-kernel enforces exactly this shape.

// draft-07 — typed, bounded, closed
VALIDATE · DRAFT-07 a constitutionproposed JSON Schematyped · bounded · closed validelse → reject

5 · Enforcement semantics

6 · Conformance & versioning

An implementation is v0.1-conformant if it (a) accepts a policy matching the schema above, (b) rejects unknown fields on write, (c) enforces each present field with the stated semantics, and (d) audits denials and approvals. Versions are MAJOR.MINOR; new optional fields bump MINOR (back-compatible), removing/changing a field bumps MAJOR. This is v0.1, Draft — open for comment at [email protected]. The intent is a small, shared, enforceable vocabulary for agent policy — adopt it, extend it, tell us where it's wrong.

// the governed loopsimulateconstitutionexecutesignedverifyES256 · audit-chained