- Do not implement a task in the same session it was created unless explicitly told to
- Past failure: agent created pre-commit-hook task, wrote SPEC.md, then immediately built and committed the hook without waiting — bypassing review 3 times in one session despite promises to follow the process
- Only work on tasks in the **current project's**`.automaton/tasks/` directory
- Never scan, read, or modify tasks in other projects on the system
- The `{project}` in the Orchestrator prompt is the project root where the session started — do not broaden scope
- Past failure: agent scanned tasks in `~/ai-env/projects/invest-copilot/` while working on the automaton framework itself, wasting time on unrelated work across project boundaries
- All user-facing labels must be self-documenting and free of internal jargon
- A user should understand what something is without knowing the codebase internals
- Terms like "tick", "loop", "state", or "phase transition" are internal terminology — never use them directly in UI elements
- Pick names that describe what something *does*, not what it's called in code
- Past failure (1): "Loop Tick" in the Background tab — user asked "What is loop tick?" because it's scheduler jargon
- Past failure (2): "Loop" — still too vague, user said "I don't know what the loop is"
- Past failure (3): "Loop Agent" — user asked "How do I differentiate between agents with different roles?" because the name described the mechanism (loop) not the purpose
- Past failure (4): "Background" tab — the tab name described the *location* (background), not the *content* (agents). Renamed to "Agent" tab.
- Past failure (5): Group headers + agent type pill badge + icon + name all repeated the same info ("🧹 Cleanup" seen 3 times per card). Removed group headers and pill badges — only icon + name on each card.
- Past failure (6): "Cleanup" agent was vague — renamed to "Completed Task Archiver" which describes what it actually does.
- Rule: Every agent type must have a self-documenting name ending with its function (e.g., "Archiver", "Scanner", "Processor"). If multiple instances exist, list each instance card.
- Agent types with no active instances render as dimmed placeholder cards rather than being hidden, so the user always sees the full roster of available agents.