Агент v15: спринты, ранг, оценки (#49) #50
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/49-v15-sprints"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #49. Агентская часть sdlc-hub#108 (спринты и бэклог). Контракт —
sdlc-hub/openspec/changes/sprints-backlog/, решения агента —openspec/changes/agent-v15-sprints/design.md.Сливать и публиковать — только после выкатки хаба #108 (агент v15 шлёт
boardsи новые поля, которые понимает хаб со схемой v9).Что сделано (агент v15)
gh-lexo-rank), спринт (gh-sprint), оценка («Story Points»); кэш на исполнитель, перекрытиеfield_ids.rank/sprint/story_points.refresh: у задачrank,story_points,sprint_ids(все спринты задачи, разбор объекта и строкового вида Jira Server); данные досокboards(колонки поconfigurationи id статусов, kanban-бэклог, все спринты scrum-доски) в первой пачке; пустая пачка сboardsпри пустой выборке.ensure_sprint_meta(создать/править спринт),ensure_sprint_state(запуск; закрытие с переносом невыполненных вmove_open_to),ensure_rank(выше/ниже),story_pointsвensure_fields.AGENT_VERSION = 15, README, ARCHITECTURE.md, CLAUDE.md.Проверки
/usr/bin/python3 -W error::ResourceWarning -m unittest discover -s tests -t .— 381 tests OK.Живая проверка после публикации (Jira банка)
Имена/схемы полей ранга, спринта и Story Points;
GET /board/{id}/backlogна kanban (200/400); форматstartDate; перенос подзадач при закрытии (M-5); закрытие спринта-песочницы. Послеagent_statusс v15 — поднятьmin_agent_version.Rulings I made
boards; пустая пачка; кэш полей; смещение датdatetime.now().astimezone(); повторrename_to;board_idтолько из команды; проверкиensure_sprint_stateдо записи; спринт с неизвестным состоянием отбрасывается; 207 в ранге —failed; порядок полей(len(id), id); кэш наExecutor) — таблица в design.md.schema.custom; частичное перекрытие при сбоеGET /field. Цена ошибки — задатьfield_ids.story_points.boardsв раннем return; спринты в кэше — только active/future. Цена ошибки — нет.field_ids.story_pointsбезGET /field; проверка значения доGET /issue. Цена ошибки — нет.goalне передан — цель не трогается (очистка —""); «имя занято» — среди не закрытых. Цена ошибки — цель не очистится черезnull.entriesс неуспешным статусом безerrors— «статус ». Цена ошибки — нет.failedбез записи. Цена ошибки — лишнийGET /status.Находки
9d3958ekanban_backlogприcolumns: nulld71c2f5rename_toна закрытое имяd71c2f5d71c2f5GET /statusповторяется на каждой доскеinf, повтор closed, ключ в выдаче search, README)/statusдля статуса без id, нетisinstanceдляstatuses, повтор после переименования+закрытия🤖 Generated with Claude Code