Skip to content

Axon — User Manuals

This is not canonical documentation. The canon — the source of truth about system behaviour — lives in VISION.md, ARCHITECTURE-V6.md, OWNERSHIP-MAP.md, RULES-CODDING-DEVOPS.md, WORKFLOW-ARCHITECTURE.md at the repo root. The manuals/ folder describes how to use the already-built Axon platform: what each role does, which options exist in every Console section and what they do, how to walk through the create / configure / run flow for a given process.

Whenever a manual disagrees with the canon — the canon wins, and the manual is considered stale and must be fixed.

🇬🇧 English is the default language of this site. Русский — use the language selector in the header. Rendered with Material for MkDocs (see Material-for-MkDocs.md at the repo root).


1. Who this is for

Audience What they look for in the manuals
owner / admin Project provisioning, user management, global settings, allowlists, templates, catalog
manager Project setup: connectors, credentials, binding profiles, publishing workflows, budgets, approvals
operator Running processes, working with cases, conversations, monitoring own runs
reviewer Approvals: what to approve, how, what to look at
read_only Reading dashboards, statuses, audit
engineer / "architect" Where the "code ↔ Console" boundary runs: what is written in modules/ and git, what is configured in the UI. This is a persona, not an RBAC role — it does not exist in core/models/auth.py; for Console actions (e.g. publish_definition) it needs an ordinary manager+ role

Every manual states audience: in its frontmatter — who it is primarily addressed to. If a manual describes a programmer's work, add the engineer tag and a dedicated section/subsection "what's done in code vs in Console" (see the example in Connectors-Credentials.md §2.1).


2. Relationship to the canon

  • Canon = source of truth about behaviour. If a feature works differently from what the manual says, that's a bug in the manual (or a regression in the system — then fix the system).
  • Manuals = the operational layer. They do not introduce new rules, do not design architecture, do not contain secrets or internal implementation detail beyond what a user needs.
  • A manual's owner = the feature's owner. The OWNERSHIP-MAP.md zone that owns the described feature is responsible for keeping the manual current. Change a feature's behaviour in a PR — update its manual in the same PR. By analogy with VISION.md invariant 8 ("code without a test is unprotected tissue"): a feature without an updated manual is undocumented tissue.
  • Deletion is a virtue (VISION.md invariant 6) applies to manuals too: dropped a layer/option — drop the section about it. Don't pad the manual for volume.
  • Transparency (invariant 9): a manual explains what and why at the operator's level, but does not duplicate the internal implementation — that's what ARCHITECTURE-V6.md and the code are for.

3. How to write a manual (the single standard)

  1. Languages. Site default — EN; RU — second language (selector in the header). The team's working language is Russian (.claude/CLAUDE.md rule): a manual is often written in RU first, then translated. Every manual exists in both locales (see §5). Technical identifiers (connector_key, credential:create, WorkflowDefinition, command names, env vars) are identical in both locales, in Latin script.
  2. One manual = one file per locale. manuals/en/<Topic-Name>.md + manuals/ru/<Topic-Name>.md. Name — TitleCase-With-Dashes.md (same in both folders). Site navigation comes from nav: in mkdocs.yml; the human-readable catalog is §6 here (they must match).
  3. Frontmatter is mandatory (see _meta/_TEMPLATE.en.md / _meta/_TEMPLATE.ru.md): title, audience, status (draft / review / stable), covers, canonical_refs, last_reviewed (per-locale). For an untranslated locale — add translation_status: pending.
  4. The manual structure is fixed — the same 10 sections as in _meta/_TEMPLATE.*. A section may be left almost empty with a "— not in this feature" note, but the order and headings don't change: this makes manuals predictable and indexable.
  5. Every claim about RBAC / commands / behaviour is traceable. Cite code (file:line; use plain code rather than a markdown link pointing outside docs_dir — otherwise mkdocs build --strict fails) or canon (ARCHITECTURE-V6.md §11, CONCEPT-*.md §X). Don't invent permissions, roles, options, command names.
  6. The Feynman test. The "What it is and why" section must explain the gist in 60 seconds. If you can't — the feature is too complex or you didn't understand it; figure it out before writing.
  7. Keep screenshots and option lists. For UI sections — list every button / field / toggle / column and what it does (not "and other settings"). Screenshots — in manuals/assets/<manual-slug>/ (shared by both locales; links ../assets/...), create the folder as needed.
  8. A role on every step. In step-by-step flows, state for every step who performs it and which permission gates it.
  9. Cross-link within your locale, don't duplicate. If a topic is covered by another manual — link to it ([Foo.md](Foo.md) — within the same locale folder), don't rewrite. Don't make cross-locale links — use the header language selector to switch languages. Content duplication between manuals is an autoimmune disease (by analogy with tests).
  10. Bump last_reviewed on every substantive edit (per locale). A manual not reviewed for more than one release is a candidate for review status.

4. Structure of each manual (10 sections)

# Section Content
1 What it is and why The gist in 60 seconds (Feynman test), where the feature sits in the platform
2 Roles and access "action × role" table, scope (instance / project), permission keys from core/models/auth.py
3 Where it is in Console Sidebar section, screens, every button / field / option / column and what it does
4 Concepts (mental model) Key entities and the relations between them; diagram/analogy
5 Flows: step-by-step scenarios Numbered procedures "from … to …", role + permission on every step
6 Options reference Every option / field / setting: what it does, default, constraints
7 Lifecycle and maintenance What comes next: refresh / health / revoke / delete / archive / rotation / purge
8 Troubleshooting Common errors → cause → what to do
9 Constraints and invariants What you can't do; fail-closed behaviour; why (links to VISION.md §7 invariants)
10 Related manuals and canon See also

5. Internationalization (i18n)

  • Layout: manuals/en/ (default language, built at the site root) + manuals/ru/ (built at /ru/) — mirror trees. Plugin — mkdocs-static-i18n (docs_structure: folder, fallback_to_default: true).
  • Every manual must have a file in manuals/en/ — otherwise, with EN as default, there is nothing to fall back to. For a not-yet-translated manual the EN file is a thin stub: frontmatter (status: draft, translation_status: pending) + an admonition "English translation pending — use the language selector → Русский". For draft skeletons (content is TODO anyway) that's enough.
  • A translation does not block merging a RU edit and vice versa — it's a separate follow-up PR. Translation lag is visible: "translation pending" banner + per-locale status.
  • _meta/_TEMPLATE.ru.md and _meta/_TEMPLATE.en.md — templates (excluded from the site build via exclude_docs).

6. Manual catalog

Statuses: ✅ stable · 🟡 review · 🚧 draft (skeleton file exists) · ⬜ planned (no file yet). EN translation: full for stable manuals; for draft — a stub with a banner.

6.1 Getting started

Manual Status For Covers
What-Is-Axon.md everyone What Axon is from a user's view: adaptive intelligent nervous system, workflow = atom, Magic Box, evolution ladder, Time-to-Value
Console-Overview.md 🚧 everyone Navigation, project switcher, Ctrl+K, Live indicator, sidebar sections, what lives where
Roles-And-Permissions.md owner/admin All roles (owner/admin/manager/operator/reviewer/read_only/system), the full permission × role matrix, instance vs project scope, ActorContext, breakglass, how they're assigned
First-Project-Walkthrough.md owner/admin/manager/operator/engineer From creating a project to the first running process — phase-by-phase scenario + "can run" checklist

6.2 Workflows (processes)

Manual Status For Covers
Workflows.md manager/operator/engineer/admin Definition vs Workflow (run) vs Case vs Template/Catalog; the Step model and step_type taxonomy; authoring vs runtime; publish (publish_definition); Run Wizard; pause/resume/cancel/retry/replan; binding profiles; execution_mode (leaf/graph/hybrid); SubFlows; collections & labels; Magic Box patterns
Cases.md 🚧 manager/operator Case-aware workflows, identity_keys, properties, file sources, active/archived statuses
Undo-And-Compensation.md 🚧 manager/operator Inverse flows, how to undo a process, what is compensated, undo boundaries

6.3 Integrations

Manual Status For Covers
Connectors-Credentials.md manager/admin/owner Connectors (adapters), CredentialType, credentials, connector instances, project connector allowlist, binding profiles, OAuth connection, lifecycle, RBAC

6.4 AI

Manual Status For Covers
Agents-And-Prompts.md 🚧 manager/engineer Agent definitions, executor profiles, AgentToolResolver, prompt scope, managing prompts
Model-Routing-And-Budgets.md manager LiteLLM gateway, adaptive model routing, budget awareness, Langfuse traces

6.5 Operations

Manual Status For Covers
Approvals.md 🚧 reviewer/manager Approval path, who approves, Telegram approvals, what approve/reject affects
Budgets-And-Cost.md 🚧 owner/admin/manager Project budgets, limits, over-budget behaviour, budget pre-check
Monitoring-And-Health.md operator/manager Connector health, dashboards, the Incidents section, operational alerts

6.6 Administration

Manual Status For Covers
Users-And-Access-Management.md 🚧 owner/admin Creating users, granting roles and project scopes, breakglass
Projects-Lifecycle.md 🚧 owner/admin Creating / editing / suspend / resume / archiving projects
Templates-And-Catalog.md 🚧 admin/manager Workflow / chain / project templates, clone from production, anonymization; Workflow Definition Catalog + Install
Project-Configuration.md admin The Configuration section: project settings, networks, secrets policy

6.7 Concepts and reference

Manual Status For Covers
Security-And-Audit.md 🚧 everyone RBAC, object-scope / project-scope, policy pre-check, handling secrets, audit log, decision explainability
CommandEnvelope-Explained.md advanced Why all mutations go through commands and what that gives the user (audit, undo, idempotency, approval)
Glossary.md 🚧 everyone Glossary of platform terms

7. How to add a new manual

  1. Copy _meta/_TEMPLATE.en.mdmanuals/en/<Topic-Name>.md and _meta/_TEMPLATE.ru.mdmanuals/ru/<Topic-Name>.md (same file name).
  2. Fill in the frontmatter (audience, canonical_refs — which canon sections you rely on). For an untranslated locale — leave a stub with the translation banner (translation_status: pending).
  3. Walk through all 10 sections. Mark empty ones "— not in this feature", don't delete headings.
  4. Add a row to the §6 catalog here and an entry to nav: in mkdocs.yml — they must match.
  5. Check against the §3 checklist; run mkdocs build --strict (§8) — it catches broken links and nav gaps. The manual's PR reviewer = the owner of the relevant OWNERSHIP-MAP.md zone.
  6. Change a feature's behaviour in code — fix its manual in the same PR and bump last_reviewed.

8. Building and previewing the docs site

# from the repo root
pip install -r docker/docs/requirements.txt
mkdocs serve            # http://127.0.0.1:8000 — live reload, language selector, dark theme
mkdocs build --strict   # build into ./site (gitignored); --strict makes warnings (broken links, nav gaps) fatal

Deploying as a service (docs in docker-compose.docs.yml, nginx behind Traefik+auth) — see Material-for-MkDocs.md §7. Stand up the container once enough manuals exist; until then mkdocs serve locally is enough.


  • Material-for-MkDocs.md (repo root) — the architecture of this docs site (tool, i18n, deployment, auth, CI).
  • _meta/_TEMPLATE.en.md / _meta/_TEMPLATE.ru.md — the new-manual template.
  • Canon: VISION.md, ARCHITECTURE-V6.md, OWNERSHIP-MAP.md, RULES-CODDING-DEVOPS.md, WORKFLOW-ARCHITECTURE.md.