feat(plane): unified status-comment format with duration line (ORCH-016) #34
Reference in New Issue
Block a user
Delete Branch "feature/ORCH-016-plane"
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?
Summary
Все агенты (analyst..deployer) теперь пишут финальный коммент в Plane через единый хелпер usage.build_status_comment(...). Формат HTML: заголовок "{icon} {Role} — {описание}", опциональная строка Verdict/Status из YAML-frontmatter артефакта, строка "Длительность: 4m 12s" (явный duration_s от launcher; fallback из agent_runs для аналитика), HTML-блок Документы, тех-хвост tokens · cost.
QG_CHECKS и STAGE_TRANSITIONS не менялись (TC-20 snapshot гард).
Test plan
/
) — выполняется в стадии deploy-staging
Refs: ORCH-016
Все агенты (analyst..deployer) теперь пишут финальный коммент через единый хелпер usage.build_status_comment(...) — заголовок «{icon} {Role} — {описание}», опциональная строка Verdict/Status из YAML-frontmatter, строка «Длительность: 4m 12s» (явный duration_s от launcher, fallback из agent_runs для аналитика), HTML-блок Документы, тех-хвост <sub>tokens · cost</sub>. - Новые публичные функции в src/usage.py: build_status_comment, fmt_duration, get_agent_duration. usage_comment(...) → тонкая deprecated-обёртка (legacy тесты в tests/test_usage.py продолжают работать). artifact_links(...) переписан на HTML <li><a>…</a></li> (breaking change для внутреннего API, но единственный внешний клиент — _post_usage_comments — мигрирован). - Новый модуль src/frontmatter.py: defensive YAML reader, никогда не raise. - stage_engine._build_analyst_ready_comment(...) теперь тонкая обёртка над build_status_comment(agent="analyst", ...); task_id пробрасывается из _handle_analysis_approved_flow для DB-фоллбэка длительности (AC-14). - launcher._post_usage_comments(...) принимает duration_s, резолвит stage из tasks для deployer и worktree_root для AC-8 graceful skipping. Тесты (16 файлов, 56 новых тестовых функций, покрывают TC-01..TC-25): fmt_duration table, build_status_comment по всем агентам, DB-фоллбэк, authorship под per-agent ботами, дедуп-инвариант, regression на status-only verdict аналитика и финальный notify_done, snapshot QG_CHECKS + STAGE_TRANSITIONS. Документация: docs/architecture/README.md (раздел Plane Sync), CHANGELOG.md (Unreleased Added/Changed). Refs: ORCH-016 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>