File size: 5,024 Bytes
116524e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<!--
  Sync Impact Report
  ==================
  Version change: 1.0.0 β†’ 1.1.0
  Principles added:
    - IV. Clean & Modular Code
  Principles unchanged:
    - I. Ease of Use First
    - II. Practical Value
    - III. Simplicity
  Sections unchanged:
    - Development Standards
    - Quality Gates
    - Governance
  Removed sections: None
  Templates validated:
    βœ… .specify/templates/plan-template.md β€” Constitution Check section compatible

    βœ… .specify/templates/spec-template.md β€” No conflicts

    βœ… .specify/templates/tasks-template.md β€” No conflicts

    βœ… .specify/templates/checklist-template.md β€” No conflicts

  Follow-up TODOs: None

-->


# ACE Framework Constitution

## Core Principles

### I. Ease of Use First

Every public API, integration, and workflow MUST prioritize developer
experience above all else.

- New users MUST be able to install and run a working example in under
  5 minutes with no more than 3 lines of code.
- Sensible defaults MUST be provided for every configuration option.
  Users MUST NOT be required to understand internals to get started.
- Breaking changes to the public API MUST follow deprecation warnings
  for at least one minor release before removal.
- Documentation MUST include a copy-pasteable quick start for every
  integration (LiteLLM, LangChain, browser-use, Claude Code).

### II. Practical Value

Every feature MUST solve a real, demonstrable problem for users
building AI agents.

- Features MUST NOT be added speculatively. Each addition MUST have a
  concrete use case tied to agent improvement or developer workflow.
- Performance claims MUST be backed by reproducible benchmarks or
  examples. No unsubstantiated marketing language in docs or code.
- Integration wrappers MUST add measurable value (learning, skillbook
  evolution) beyond what the wrapped framework already provides.

### III. Simplicity

Prefer the simplest solution that works. Complexity MUST be justified.

- YAGNI: Do not build for hypothetical future requirements. Three
  similar lines of code are better than a premature abstraction.
- New abstractions MUST be used in at least two places before
  extraction into a shared utility.
- Dependencies MUST be kept minimal. Optional extras (observability,
  LangChain, transformers) stay optional β€” the core install MUST
  remain lightweight.

### IV. Clean & Modular Code

All code MUST be clean, modular, and extensible.

- Modules MUST have a single, clear responsibility. Each file MUST
  do one thing well and expose a well-defined interface.
- Public APIs MUST be designed for extension without modification.
  New integrations, LLM providers, and adapters MUST be addable
  without changing existing code (open/closed principle).
- Internal boundaries MUST be respected: core library (`ace/`),
  integrations (`ace/integrations/`), LLM providers
  (`ace/llm_providers/`), and observability (`ace/observability/`)
  MUST NOT have circular dependencies.
- Functions and classes MUST be small enough to understand at a
  glance. If a function requires scrolling, it MUST be decomposed.

## Development Standards

- **Language**: Python 3.12 with type hints on all public APIs.
- **Formatting**: Black (line length 88). All code MUST pass
  `black --check` before merge.
- **Testing**: pytest with coverage enforcement (`--cov-fail-under=25`).
  New features MUST include tests. Bug fixes MUST include regression
  tests.
- **Distribution**: PyPI package `ace-framework`. Core install MUST NOT
  exceed ~150MB. Heavy dependencies belong in optional extras.
- **Commit style**: Conventional Commits (`feat(scope): subject`).

## Quality Gates

- All PRs MUST pass CI (formatting, type checks, test suite) before
  merge.
- Public API changes MUST update relevant documentation (README,
  docstrings, quick start guides).
- Benchmark results MUST NOT regress without explicit justification in
  the PR description.
- Skillbook format changes MUST maintain backward compatibility with
  existing saved skillbooks or provide a migration path.

## Governance

This constitution is the highest-authority document for the ACE
Framework project. All design decisions, PRs, and code reviews MUST
verify compliance with these principles.

- **Amendments**: Any change to this constitution MUST be documented
  with a version bump, rationale, and updated `LAST_AMENDED_DATE`.
- **Versioning**: MAJOR for principle removals or redefinitions, MINOR
  for new principles or material expansions, PATCH for clarifications.
- **Compliance**: Use `CLAUDE.md` for runtime development guidance.
  This constitution defines the non-negotiable rules that `CLAUDE.md`
  guidance MUST NOT contradict.
- **Review**: Constitution compliance SHOULD be checked at the start
  of each feature planning cycle (`/speckit.plan` Constitution Check).

**Version**: 1.1.0 | **Ratified**: 2026-02-25 | **Last Amended**: 2026-02-25