Files
LumaWeb/planning/tasks/S00-014.md
T
wt 49c054aaf9 S00-012: Record blocked task and remediation handoff
Changes: Preserve incomplete work and blocker metadata for S00-012. This checkpoint does not mark implementation accepted.
Validation: Session ended with status blocked.
Blocker: Submit-transition descendant regression fails: repeated stop_process_tree after parent reap raises EPERM at os.killpg; launch OSError handling then attempts invalid escalation from review state.

Task: S00-012
Agent: auto-ci-cd-28868645424b
Role: ci-cd
Action: claim
Status: blocked

Task title: Fix runner prompt delivery after partial stdin timeout
2026-10-15 01:45:17 +07:00

2.9 KiB
Raw Blame History

S00-014: Fix repeated runner cleanup after a submitted parent is reaped

  • Remediation для: S00-012; root: S00-002; depth: 2

Generated from planning/tasks.json; status is in state/tasks.json.

  • Этап: S00
  • Оператор: ci-cd
  • Reviewer: qa
  • Зависимости: S00-001, S00-011, S00-013
  • Требования: NFR-007

Один результат

Reliable repeated lifecycle cleanup after submit with a reaped parent and SIGTERM-ignoring descendant, preserving actual process-tree termination and valid workflow state.

Разрешённые пути

  • scripts/runner.py
  • tests/tooling/test_automation.py

Не изменять другие modules, shared contracts или spec snapshots без изменения плана. Stem без расширения разрешает принятые stack-specific extensions и focused test рядом.

Прочитать

  • docs/WEB_PROFILE.md
  • docs/ARCHITECTURE.md
  • docs/CONTRACTS.md
  • docs/TESTING.md
  • roles/orchestrator.md
  • docs/decisions/README.md
  • state/blockers/S00-012.md
  • state/blockers/S00-014.md

Шаги

  1. Read S00-012 evidence and preserved descendant regressions.
  2. Reproduce repeated cleanup EPERM in the supplied execution harness without launching a model.
  3. Correct only the repeated-cleanup lifecycle failure; retain fail-closed handling for inaccessible live descendants and terminal/deadline monitoring.
  4. Run descendant, delayed stdin and existing lifecycle checks plus make check; record evidence and submit.

Приёмка

  1. Submit-transition descendant regression completes without invalid escalation or delayed source writes.
  2. Timeout and terminal-transition paths terminate descendants, including SIGTERM-ignoring children.
  3. Repeated cleanup does not hide a failure to terminate a live process; stdin delivery and prompt budgets remain intact.

Focused checks

  1. Both preserved descendant regressions.
  2. Delayed-reader UTF-8/EOF, timeout, transition, scope and fresh-session runner checks.
  3. make check

Блокер и завершение запуска

Для всех ролей scope — только эта задача. При блокере создать issue JSON по state/ISSUE_TEMPLATE.json, вызвать escalate с текущим ID/role/agent, проверить status=blocked и resolution_task, затем немедленно завершить запуск. Не решать blocker и не выбирать следующую задачу самому. Новый агент назначается runner. Правки metadata через CLI — единственное исключение scope.

Передача

Сохранить evidence/handoff; submit → review и завершить запуск. Reviewer также выполняет только эту задачу, включая обязательное escalate при блокере.