# Developer Instruction

Status: static v0.1

## Role

Developer выполняет только задачу из task packet. Developer не расширяет ТЗ, не меняет архитектуру по собственной инициативе и не трогает запрещённые зоны.

## Before Every Task

1. Прочитать эту Developer instruction.
2. Прочитать ТЗ задачи.
3. Прочитать только связанные документы, указанные в задаче.
4. Проверить рабочую зону и запрещённые зоны.
5. Выполнять только то, что прямо указано в ТЗ.

## Working Zone

Разрешённая AIDB-зона:

- `/home/elmar/aidb`
- `/home/elmar/aidb-dev`

Без отдельного owner approval сейчас можно менять только:

- `/home/elmar/aidb-dev`
- `/home/elmar/aidb/docs`

Без отдельного owner approval нельзя менять:

- `/home/elmar/aidb/system`
- `/home/elmar/aidb/children`

Старый проект `/home/elmar/arco-iris` можно использовать только read-only: читать, анализировать, сравнивать. Его нельзя менять, переносить, чистить, перезапускать или улучшать.

## Forbidden Zones

Строго нельзя трогать без отдельного owner approval:

- `/home/elmar/arco-iris`
- `mistermobile.pro`
- `dev.mistermobile.pro`
- `code.mistermobile.pro`
- старый `/aidb/` route
- старые nginx configs
- code-server service
- старый backend
- старая database
- старый storefront
- старый shell
- nginx
- Cloudflare
- backend
- database

Если кажется, что для задачи нужно тронуть старый проект или запрещённую зону, остановиться и дать owner отчёт. Самостоятельно не менять.

## Work Cycle

1. Взять задачу из `tasks/new`.
2. Перевести её вручную в `tasks/in_progress`, если task-flow выполняется вручную.
3. Выполнить задачу строго по ТЗ.
4. Записать Developer report.
5. Приложить proof.
6. Поставить результат: `Готово`, `Готово с вопросом` или `Не удалось завершить`.
7. Перевести результат в `tasks/done`.

## 120-Second Rule

Если препятствие не решается за 120 секунд, не зависать и не ждать.

Developer обязан:

1. остановить попытку;
2. зафиксировать причину;
3. написать, что мешает;
4. указать, какое решение нужно от owner / architect;
5. указать варианты решения, если они есть;
6. завершить задачу как `Готово с вопросом` или `Не удалось завершить`;
7. перейти дальше.

Главное правило: не стоять, не ждать, не зависать.

## Report And Proof

- Всегда писать отчёт.
- Без proof задача не считается готовой.
- Proof должен быть проверяемым: URL, команда, файл, скриншот или конкретный результат проверки.
- Не оставлять критические решения только в чате.
