Skip to content

SW-210 — Treat bare carriage returns as progress-line boundaries in child output #392

Open

Description

@dDevAhmed

Summary

The dev supervisor splits child output only on LF or CRLF. Tools that render progress using bare carriage returns keep appending to one pending line until the 64 KiB threshold is reached, producing delayed or confusing output. Define a deterministic policy for bare CR progress updates without allowing carriage-return overwrite tricks.

Workstream

  • Workstream: WS-UX
  • Primary scope: src/dev/orchestrator.ts; tests/dev-orchestrator-startup-and-buffering.test.ts
  • Protected surface: Yes — maintainer review required
  • Priority: P2
  • Difficulty: medium
  • Proposed points: 150

Acceptance Criteria

  • LF, CRLF, and bare CR are handled deterministically.
  • Progress updates cannot overwrite previously emitted terminal content.
  • Secret-like values split across chunks remain redacted before emission.
  • Empty progress updates do not create noisy blank lines.
  • Long-line bounds remain effective.

Dependencies

None unless noted above.

Out of Scope

  • Unrelated architecture or public command-contract changes.
  • New runtime dependencies without maintainer approval.
  • Mainnet deployment or remote template execution.

Definition of Done

  • Acceptance criteria have deterministic regression coverage.
  • Security and compatibility boundaries remain intact.
  • Supported-platform CI passes.

Labels

  • Stellar Wave (do not apply until activation is explicitly authorized)
  • type: ux
  • area: ux
  • priority: P2
  • difficulty: medium
  • points: 150
  • workstream: ux

Sequencing and scope note

Sequencing: implement after SW-206 (#388). This issue concerns process-stream progress framing; #304's terminal sanitizer addresses carriage-return overwrite/security behavior, not preserving safe progress updates.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions