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: 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
This commit is contained in:
wt committed 2026-10-15 01:37:36 +07:00
1 parent 59b9ff62fe
commit c28412ae8f
20 files changed
+491 -25

No files matched your search

+110 -1
View File
@@ -216,7 +216,8 @@
"outcome": "ADR сравнивает два допустимых стека, фиксирует конкретные проверенные versions, lockfile и один минимальный rendering spike.",
"depends_on": [
"S00-001",
"S00-011"
"S00-011",
"S00-012"
],
"requirements": [
"NFR-007"
@@ -668,6 +669,114 @@
],
"context_budget_chars": 48000
},
{
"id": "S00-012",
"stage": "S00",
"kind": "blocker",
"root_task": "S00-002",
"blocker_depth": 1,
"unblocks": [
"S00-002"
],
"role": "ci-cd",
"reviewer_role": "qa",
"title": "Fix runner prompt delivery after partial stdin timeout",
"outcome": "Reliable complete prompt delivery under startup delay and pipe backpressure, preserving runner lifecycle guarantees.",
"depends_on": [
"S00-001",
"S00-011",
"S00-013"
],
"requirements": [
"NFR-007"
],
"scope": [
"scripts/runner.py",
"tests/tooling/test_automation.py"
],
"inputs": [
"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"
],
"spec_sections": [],
"ui_sections": [],
"steps": [
"Read diagnostic evidence and reproduce delayed-reader partial-write timeout without launching a model.",
"Fix only runner stdin delivery; retain fresh sessions, prompt budget, terminal-transition monitoring, timeout and process-tree cleanup.",
"Add a deterministic delayed-reader large-prompt regression check and run focused runner tests plus make check.",
"Record evidence/handoff/commit message and submit for independent review."
],
"acceptance": [
"A delayed stdin reader receives the complete large UTF-8 prompt and EOF without hanging.",
"Timeout and terminal-transition process cleanup still work; no background source-writing descendants remain.",
"Existing runner/tooling checks pass; no task scope, spec snapshots or product implementation is changed."
],
"checks": [
"Delayed-reader large UTF-8 prompt regression.",
"Existing runner timeout, transition, scope and fresh-session tests.",
"make check"
],
"context_budget_chars": 48000
},
{
"id": "S00-013",
"stage": "S00",
"kind": "blocker",
"root_task": "S00-002",
"blocker_depth": 2,
"unblocks": [
"S00-012"
],
"role": "ci-cd",
"reviewer_role": "qa",
"title": "Bound oversized S21-006 runner context without truncating requirements",
"outcome": "All task prompts fit the existing configured budget with exact relevant requirements retained and no silent truncation.",
"depends_on": [
"S00-001",
"S00-011"
],
"requirements": [
"NFR-007"
],
"scope": [
"scripts/runner.py",
"tests/tooling/test_automation.py"
],
"inputs": [
"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-013.md"
],
"spec_sections": [],
"ui_sections": [],
"steps": [
"Inspect S21-006 prompt inputs and identify unnecessary duplication or overly broad context loading.",
"Implement one bounded context-preparation correction while preserving assignment instructions and exact relevant requirements; retain stdin transport changes.",
"Add focused regression for the real oversized context and run existing prompt-budget checks and make check.",
"Record evidence/handoff/message and submit for independent review."
],
"acceptance": [
"S21-006 and all current task prompts fit the existing 80000-character limit.",
"Exact required context is retained; no spec snapshot edits, silent truncation or validation suppression.",
"stdin delivery, timeout and terminal-transition regression checks remain passing; make check passes."
],
"checks": [
"Existing FoundationRunnerTests all-current-prompts budget check.",
"Delayed UTF-8 stdin delivery and runner lifecycle tests.",
"make check"
],
"context_budget_chars": 48000
},
{
"id": "S00-010",
"stage": "S00",