Changes: Preserve incomplete work and blocker metadata for S00-012. This checkpoint does not mark implementation accepted. Validation: Session ended with status blocked. Blocker: Required automation suite fails in existing all-prompts budget test: S21-006 exceeds even a diagnostic 90000-character prompt limit. This blocks verification of the stdin remediation; production limit remains 80000. Task: S00-012 Agent: manual-ci-cd-stdin-20261015b Role: ci-cd Action: escalate Status: blocked Task title: Fix runner prompt delivery after partial stdin timeout
60 lines
2.8 KiB
Markdown
60 lines
2.8 KiB
Markdown
# S00-012: Fix runner prompt delivery after partial stdin timeout
|
||
|
||
- Remediation для: S00-002; root: S00-002; depth: 1
|
||
|
||
> 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 complete prompt delivery under startup delay and pipe backpressure, preserving runner lifecycle guarantees.
|
||
|
||
## Разрешённые пути
|
||
|
||
- `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
|
||
|
||
## Шаги
|
||
|
||
1. Read diagnostic evidence and reproduce delayed-reader partial-write timeout without launching a model.
|
||
2. Fix only runner stdin delivery; retain fresh sessions, prompt budget, terminal-transition monitoring, timeout and process-tree cleanup.
|
||
3. Add a deterministic delayed-reader large-prompt regression check and run focused runner tests plus make check.
|
||
4. Record evidence/handoff/commit message and submit for independent review.
|
||
|
||
## Приёмка
|
||
|
||
1. A delayed stdin reader receives the complete large UTF-8 prompt and EOF without hanging.
|
||
2. Timeout and terminal-transition process cleanup still work; no background source-writing descendants remain.
|
||
3. Existing runner/tooling checks pass; no task scope, spec snapshots or product implementation is changed.
|
||
|
||
## Focused checks
|
||
|
||
1. Delayed-reader large UTF-8 prompt regression.
|
||
2. Existing runner timeout, transition, scope and fresh-session tests.
|
||
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 при блокере.
|