daily-fix: fix red main: test_workflow_lint_jsonl_splitlines.py::test_live_tree_passes — Fix the `.splitlines()` JSONL read at `s
Highlight text on any card (body, plan, or an event) to anchor a comment, or leave a whole-task comment here. Mention @claude to summon a reply.
No comments yet.
Overview / Motivation
Auto-filed by the watcher urgent-park router (#1681,
autonomous_session_watch.urgent_wf_park_pass) from an URGENT
(urgency: main-red) parked workflow-fix candidate raised on task
#1866. The named test is red on origin/main NOW — every
intervening session's Step 9c gate re-classifies it until this fix lands.
Goal
fix tests/test_workflow_lint_jsonl_splitlines.py::test_live_tree_passes red on origin/main: Fix the .splitlines() JSONL read at scripts/issue1689_user_slot_capture.py:752 (text-mode iteration or split("\n") + if line.strip()), or waive a genuinely-safe site with # JSONL_SPLITLINES_EXEMPT: <reason>.
Workflow gap
- Bug observed (emitter's claim, candidate block): The no-flags
workflow_lint.pyrun FAILs on the live origin/main tree —--check-jsonl-splitlinesflagsscripts/issue1689_user_slot_capture.py:752(genericread_text().splitlines()in a*.jsonl-globbing module; file untouched by #1866's diff, last commit7c47ac5e9aalready on origin/main), so every session's Step 9c gate must re-classify the red ontests/test_workflow_lint_jsonl_splitlines.py::test_live_tree_passes/ the no-flags bundle. - Failing node (router-verified):
tests/test_workflow_lint_jsonl_splitlines.py::test_live_tree_passes - Confidence (emitter): high
- verified-at-filing:
uv run pytest tests/test_workflow_lint_jsonl_splitlines.py::test_live_tree_passes -q-> rc=1 at main @ 3c21f5c278 (2026-08-01T00:25:50Z) (FAILED — red confirmed)
Proposed change (candidate diff sketch — refine in planning)
(see the verbatim candidate block under ## Provenance — the router
forwards it unmodified and never synthesizes fields)
Scope / surfaces
- Primary target:
scripts/issue1689_user_slot_capture.py - Failing node:
tests/test_workflow_lint_jsonl_splitlines.py::test_live_tree_passes
Constraints / invariants
- NON-workflow-surface fix (
wf_fix: falsedeclared by the parking session — the /daily route-2 analogue); scope stays on the named target, nevertasks/state.
Provenance
- fingerprint: ea2e993eb348
- routed-by: autonomous_session_watch urgent-wf-park-router (#1681)
target_file: scripts/issue1689_user_slot_capture.py
bug_observed: The no-flags workflow_lint.py run FAILs on the live origin/main tree — --check-jsonl-splitlines flags scripts/issue1689_user_slot_capture.py:752 (generic read_text().splitlines() in a *.jsonl-globbing module; file untouched by #1866's diff, last commit 7c47ac5e9a already on origin/main), so every session's Step 9c gate must re-classify the red on tests/test_workflow_lint_jsonl_splitlines.py::test_live_tree_passes / the no-flags bundle.
why_workflow_gap: A live-red no-flags lint on main breaks the fleet-wide Step 9c oracle for every intervening round (the #1643/#1681 main-red class); verified at implement time via uv run python scripts/workflow_lint.py -> workflow_lint: FAIL (1 error(s)) naming exactly that site (bounded single-node pytest probe timed out at 120s, so test-level rc is unconfirmed — the lint-level evidence is direct).
proposed_change: Fix the .splitlines() JSONL read at scripts/issue1689_user_slot_capture.py:752 (text-mode iteration or split("\n") + if line.strip()), or waive a genuinely-safe site with # JSONL_SPLITLINES_EXEMPT: <reason>.
diff_sketch: |
- rows = path.read_text(encoding="utf-8").splitlines()
- rows = [ln for ln in path.read_text(encoding="utf-8").split("\n") if ln.strip()] (or, if provably ASCII-only content: append # JSONL_SPLITLINES_EXEMPT: =10 chars>) urgency: main-red failing_test: tests/test_workflow_lint_jsonl_splitlines.py::test_live_tree_passes wf_fix: false confidence: high related_task: #1866