Spaces:
Sleeping
Sleeping
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 --checkbefore 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.mdfor runtime development guidance. This constitution defines the non-negotiable rules thatCLAUDE.mdguidance MUST NOT contradict. - Review: Constitution compliance SHOULD be checked at the start
of each feature planning cycle (
/speckit.planConstitution Check).
Version: 1.1.0 | Ratified: 2026-02-25 | Last Amended: 2026-02-25