Changes: Add an isolated Stanza 12.22.1 SASL feature replacement using existing SCRAM crypto, exact dependency lock and MIT notices, 44 integrated fixture checks, proposed ADR and review handoff. Leave production adapters and the original library experiment unchanged. Validation: Fresh-cache npm ci and npm test passed on Node 24.21.0/npm 11.19.0; 44 tests cover RFC SHA-1/SHA-256 proofs and verified finals, stock defect reproduction, invalid/premature finals and async cleanup. make check passed 72 tooling tests. Pins/licenses/notices, unchanged vendor source and whitespace verified. Browser/WSS/server interoperability and constant-time assurance remain unverified; independent security review is pending. Task: S00-017 Agent: auto-protocol-599343cd9e3f Role: protocol Action: claim Status: review Task title: Establish fail-closed SCRAM server-final validation
Luma Web — основа агентной разработки
Переносимый каталог планирования и workflow для создания Web-клиента Luma. Готового мессенджера здесь пока нет. Будущие задачи отмечены todo, исходные clear-спецификации сохранены без изменения байтов. Framework и XMPP/OMEMO библиотеки выбираются через начальные ADR и проверку совместимости.
Быстрый старт
Для инструмента нужен Python 3.10+; сторонние Python-пакеты не нужны.
python3 scripts/tasks.py validate
python3 -m unittest discover -s tests/tooling -v
python3 scripts/tasks.py status
python3 scripts/tasks.py next --role orchestrator
Передать агенту master_prompt.md; role/id можно добавить в пользовательское поручение. После blocker прежний agent id не используется: следующий процесс назначает runner.
python3 scripts/tasks.py claim S00-001 --agent local-architect-1 --role orchestrator
python3 scripts/tasks.py packet S00-001 --agent local-architect-1 --output state/context-S00-001.md
Оператор выбирается из 12 файлов ролей; маленькой модели не нужно читать весь tasks.json. Ограниченный context packet содержит максимум 48 000 символов.
Один рабочий цикл — одна задача, её focused checks, evidence, handoff и независимое review. Все команды запускаются из корня этой основы; script сам разрешает пути относительно своего расположения.
Навигация
master_prompt.md,AGENTS.md— старт/продолжение работы.specs/tz_clear.md,specs/uikit_clear.md— оригиналы целевых требований.planning/ROADMAP.md— этапы и gates.planning/TASK_MATRIX.md,planning/task_matrix.csv— задачи, операторы, зависимости, статусы.planning/TRACEABILITY.md— применимость требований Web и связь с задачами.planning/tasks/<ID>.md— подробная атомарная карточка.roles/— полномочия и инструкции операторов.docs/— architecture/profile/contracts/workflow/testing/security иBOOTSTRAP_PROMPTS.mdс готовыми поручениями.state/— статусы, evidence, handoffs; не secrets.scripts/tasks.py— dependency-free task CLI.tests/tooling/— тесты инструмента и целостности.src/,services/,infra/— будущая реализация; пояснения внутри директорий.
Перенос
Можно скопировать весь каталог в отдельный репозиторий, включая .github, .gitignore, .editorconfig и текущий state. Git metadata родительского репозитория не требуется. Внутри исходного Apple-репозитория корневая .github этой основы не запускается автоматически; workflow начнёт работать после переноса .github в корень отдельного Web-репозитория.
make check проверяет только подготовленную основу. App build/test pipeline будет подключён после принятия стека. Нельзя считать готовые документацию/матрицу выполненными продуктовыми задачами.
Автоматический режим
Один раз заполнить runner.local.json по runner.example.json командой своего tool-capable agent CLI, затем:
python3 scripts/runner.py --dry-run
python3 scripts/runner.py --config runner.local.json
Каждый запуск модели получает ровно одну задачу и fresh session. При blocker инструмент создаёт remediation и блокирует original; reporter заканчивает работу. Новый агент исправляет причину, другой проверяет, новый продолжает original. При необходимости внешнего input runner останавливается с конкретным запросом. Подробности — docs/AUTOMATION.md.
После каждого завершённого запуска runner делает осмысленный commit с task ID, описанием actual changes и проверок: реализация → отдельный review → следующая задача. Blocker сохраняется как незавершённый checkpoint. Агент заранее пишет сообщение, Git выполняет coordinator. Перед первым запуском нужен первоначальный commit основы и чистый Git checkout; подробности — docs/GIT_WORKFLOW.md. Ошибка commit останавливает очередь и сохраняет изменения.