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

@@ -0,0 +1,30 @@
{
"title": "Fix runner prompt delivery after partial stdin timeout",
"reason": "Reviewer startup hangs waiting for stdin EOF: runner retries communicate(None) after a .2s partial-write timeout. Reproduced with delayed stdin reader and 80000-byte payload on Python 3.9.6; no S00-002 acceptance review was performed.",
"reproduction": "state/evidence/S00-002-manual-security-stdin-20261015a.md",
"role": "ci-cd",
"reviewer_role": "qa",
"scope": [
"scripts/runner.py",
"tests/tooling/test_automation.py"
],
"outcome": "Reliable complete prompt delivery under startup delay and pipe backpressure, preserving runner lifecycle guarantees.",
"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"
],
"depends_on": [],
"requires_user_input": false
}
@@ -0,0 +1,30 @@
{
"title": "Bound oversized S21-006 runner context without truncating requirements",
"reason": "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.",
"reproduction": "python3 -m unittest discover -s tests/tooling -p test_automation.py -v: 22 pass, one prompt-budget error. Read-only Runner(max_prompt_chars=90000).prompt for S21-006 also errors. Evidence: state/evidence/S00-012-manual-ci-cd-stdin-20261015b.md",
"role": "ci-cd",
"reviewer_role": "qa",
"scope": [
"scripts/runner.py",
"tests/tooling/test_automation.py"
],
"outcome": "All task prompts fit the existing configured budget with exact relevant requirements retained and no silent truncation.",
"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"
],
"depends_on": [],
"requires_user_input": false
}