Ratify a project charter
Ratify a project charter
Section titled “Ratify a project charter”A charter is the contract between you and the agentic team. Before any ATP goal is dispatched, a charter must be ratified and stored as a durable charter_ratification record in eden-memory. This tutorial covers editing the template, running the ratification command, and inspecting the stored record.
Prerequisites
Section titled “Prerequisites”- ATP global primitives installed (see the first team goal tutorial).
- A project with
.claude/agentic-team-charter.md(created by./install.sh --localor copied manually). - eden-memory installed and configured.
Step 1 — Open the charter template
Section titled “Step 1 — Open the charter template”The project-local charter lives at:
.claude/agentic-team-charter.mdIf it does not exist, copy it from the package templates:
mkdir -p .claudecp /path/to/eden-releases/agentic-team-protocol/templates/agentic-team-charter.md .claude/agentic-team-charter.mdStep 2 — Replace every placeholder
Section titled “Step 2 — Replace every placeholder”Edit the file and fill in each section:
| Section | What to write |
|---|---|
| Identity | Project name, path, and one-line purpose. |
| Mission | A single sentence describing what success looks like. |
| Boundaries | Hard guardrails: no destructive live operations, no secrets in memory, Runtime gated unless authorised. |
| Roles/seats | Active roles and whether Runtime is gated. |
| Decision rights | Who decides routing, implementation, verdicts, live ops, and user overrides. |
| Escalation paths | Chain from owning role to Dispatcher, chair, and founders. |
| Branch discipline | Feature-branch rules, merge-commit style, and Runtime authority. |
| Interfaces | eden-memory path, global skill path, project-local skill override. |
| Runbooks owned | Files the Archivist should keep up to date. |
| Status cadence | How often to run /team-status. |
| Retirement condition | How to stop using ATP for this project. |
Common guardrails to keep:
- Do not perform destructive actions on external or live systems without explicit authorisation.
- Secrets, tokens, and credentials must never be stored in eden-memory or conversation logs.
- Runtime is gated unless explicitly authorised by this charter.
Step 3 — Verify the active roles match
Section titled “Step 3 — Verify the active roles match”Open .claude/agentic-team-config.yaml and confirm the roles listed there are the same roles marked active in the charter. Mismatches cause /team-charter to report no-proceed.
Example active set:
active_roles: - dispatcher - researcher - builder - verifier - archivistStep 4 — Run /team-charter
Section titled “Step 4 — Run /team-charter”In Claude Code, run:
/team-charterThe command:
- Resolves the charter path (project-local first, then global fallback).
- Computes a SHA-256 hash of the file content.
- Checks for placeholders and role mismatches.
- Stores a
charter_ratificationrecord in eden-memory. - Reports whether the team may proceed.
Expected output:
Charter path: .claude/agentic-team-charter.mdVersion: 9f86d081884c7d65Record ID: <uuid>Status: proceedStep 5 — Inspect the ratification record
Section titled “Step 5 — Inspect the ratification record”Retrieve the record with the eden-memory CLI:
eden-memory search \ --agent-id claude-code-cli \ --user-id "$(id -un)" \ --keywords "charter_ratification" \ --limit 10Each ratification record contains metadata like:
{ "kind": "charter_ratification", "stage": "charter_ratification", "goal_id": "charter-ratification", "owner_role": "archivist"}The record content also stores the charter version, the rater, and the ratification timestamp.
Step 6 — Amend and re-ratify
Section titled “Step 6 — Amend and re-ratify”When you change the charter, re-run /team-charter. The new version hash is stored as a separate ratification record. The Archivist should keep an amendment log linking the old and new versions.
Expected output after re-ratification:
Charter path: .claude/agentic-team-charter.mdVersion: 7d865e959b246691 (was 9f86d081884c7d65)Record ID: <new-uuid>Status: proceedExpected final state
Section titled “Expected final state”.claude/agentic-team-charter.mdcontains no placeholders..claude/agentic-team-config.yamllists the same active roles as the charter.- eden-memory contains at least one
charter_ratificationrecord with a non-zero version hash.
Next steps
Section titled “Next steps”- Read the charter anatomy concept page for a deeper explanation of each section.
- Learn the default global charter in the default charter reference.
- Run your first goal with
/teamafter ratification succeeds.