Domain Model¶
Tenancy¶
Platform the Ballet installation and its operators
└── Organization hard isolation boundary; owns a knowledge space
└── Project one product; one or more git repositories
├── Milestone
├── Epic
└── Ticket
└── Run
- Platform
The Ballet installation, run by its platform admins. Owns what is installation wide: platform-scoped skills, agent pools, agent runtime definitions, platform-scope role bindings and the global pause and kill switch (ADR-0027: Tenancy Model — Platform, Organization, Project).
- Organization
Identified by an immutable key such as
acme. The isolation boundary. All of an organization’s projects share one knowledge space; nothing — knowledge, tickets, runs, credentials — crosses between organizations. Holds the default LLM credentials, which projects may override.- Project
A product being built. Has a short, immutable, globally unique key (
ACME) used in ticket keys (ACME-123), one or more git repositories, and a process profile (see below).
Planning entities¶
- Milestone
A delivery target and synchronization point. On the Gantt chart a milestone is a join node: it completes when everything it depends on completes.
- Epic
A body of work with an objective, scope and high-level acceptance criteria. Groups tickets.
All three planning entities share one per-project key sequence
(ACME-1, ACME-2, …).
- Ticket
The unit of agent work: small enough for one run, independently understandable, testable. Types:
feature,bug,tech-debt,docs,spike. Carries acceptance criteria and its execution policy (agent runtime, review mode, merge mode — see Workflow).- Dependency
A typed, directed edge between any two planning entities, across levels (ticket → milestone, epic → epic, ticket → ticket).
blocks— the target cannot start until the source is done; drives scheduling.relates— informational; feeds the knowledge lineage graph.
blocksedges must form a directed acyclic graph; Ballet rejects edges that would create a cycle.
Execution entities¶
- Run
One agent session executing one pipeline stage (Implement, Review, Verify, Integrate) of one ticket on one agent of the project’s pool, in a fresh workspace. Records the stage, runtime, model, logs, token usage, cost, outcome and its structured stage report. A ticket has many runs: one per stage, plus rework and retries.
- Question
Raised by a run or the planner when it cannot proceed. Routed to the planner first, then to the human inbox. Has a sub-chat transcript and a final answer, which is also written to the knowledge base.
- Assumption
A decision an agent made on its own for a reversible, low-impact uncertainty. Listed on the ticket for later confirmation.
- Budget
A token or cost limit for a ticket, project (per day) or organization (per month).
- Pull Request
Ballet’s record of the pull/merge request a run opened on the git platform: platform, URL, branch, review state, CI state, merge state. The review itself happens on the platform; Ballet links to it and tracks its state.
- Gate
A checkpoint a ticket must pass to move forward: tests green, review approved, knowledge write-back present, human approval. Gates are evaluated by Ballet, not self-reported by the agent.
- Plan Changeset
A batch of proposed planning changes (new or edited milestones, epics, tickets, dependencies) authored by the planner agent and approved — wholly or partly — by a human.
Configuration entities¶
- Process Profile
Per project: which skills (and versions), which agent pool, which gates, and the default execution policy for new tickets.
- Skill
A versioned bundle of agent instructions, scoped to platform, organization or project (Skills).
- Agent Runtime
A supported coding agent (Claude Code, Codex, opencode) with its adapter configuration.
Knowledge entities¶
Knowledge lives in the separate Knowledge service and references tracker entities by ID (Knowledge).