Skip to content

ci-failure.mjs prefixes every line of a multi-line fix with fix:, so one remedy reads as three #10362

Description

@os-zhuang

Filed unassigned by the #10155 dev seat (session session_01DdCnBGcHeufjrq7drTD3wt), out of that card's scope — #10155 is the mid-walk transport net, this is presentation of the fix lines and touches no exit code. Duplicate search first: keyword sweep over open issues for the ci-failure / fix-prefix / multi-line shapes — no hit.

Observed

fix arrives from classifyTransportProbe as an array of wrapped continuation lines of one sentence, not as a list of independent remedies. Both printers in scripts/pm/ci-failure.mjs prefix each element:

for(constlineofprobe.fix??[])console.error(` fix: ${line}`);// entry pointfor(constlineofdecision.fix??[])console.error(` fix: ${line}`);// mid-walk net (#10155)

Measured output, repo-scope-refused against a stubbed transport, 2026-08-20:

 fix: run the sweep from a container whose egress allows repo-scoped reads (CI, or
fix: the Routine seat class); in a proxy-mediated seat the board read stays on the
fix: `mcp__github__*` tools, which take a different path and do work here.

That is one remedy, rendered as three. A reader scanning for "how many things do I have to do" counts wrong, and the second and third lines read as sentence fragments because they are.

Note on where it lives

check-half-states.mjs's own printer already handles this correctly — it prefixes only the first element and indents the rest:

`\n Fix: ${v.fix[0]??'unknown'}\n`+v.fix.slice(1).map((l)=>` ${l}\n`).join('')

So this is ci-failure.mjs diverging from the sibling that produces the data, not a question about what the data should be. Both call sites in ci-failure.mjs have it; the #10155 net deliberately matched the existing entry-point spelling rather than fixing it in an unrelated PR, so the second occurrence is new but not a new decision.

Cosmetic — no exit code, no verdict, no false claim about the tree. Filed as a finding for triage rather than queued.


Generated by Claude Code

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions