Skip to content

Pretty-print eval-harness status output as a colored table #34

Description

@hoainho

Why

eval-harness status currently dumps JSON. Humans staring at the terminal want a table:

        case_id                         verdict       cost    age      attribution
────────────────────────────────────────────────────────────────────────────────────────
        atom-shape-basic                PASS          $0.001  3m       —
        atom-tags-decision-architec...  FAIL (real)   $0.005  3m       SKILL_CHANGED
        atom-redaction-pii              PASS          $0.001  3m       —

What to build

Modify scripts/eval/status.sh to render a colored TTY table when stdout is a terminal, and fall back to the existing JSON when piped (if [[ -t 1 ]]; then ... else jq ...).

Use tput setaf for colors so we don't pull in any new dep.

Add --json flag to force JSON output explicitly.

Acceptance criteria

  • eval-harness status (no args, TTY) prints the table
  • eval-harness status --json or eval-harness status | cat prints JSON unchanged
  • tests/status_tty_table.sh covers both paths
  • Truncated case_id if > 30 chars (with ...)
  • Colors: green for PASS, red for real FAIL, yellow for flaky, gray for stale

Good first issue because

  • Cosmetic, isolated to status.sh
  • Existing JSON output gives you the data shape
  • Test pattern (isatty detection in CI) is well-covered by existing tests
  • ~80 lines of bash

Comment to claim.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions