fix(validate): plain-text output has no leading pass/fail summary line
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 7
- Forks
- 1
- Avg merge
- 21m
- Merged PRs (30d)
- 2
Description
Summary
syscribe validate's default (non---json) text output has no leading pass/fail summary line. A clean run prints nothing; a warnings-only run jumps straight into Warnings (N): with no corresponding Errors (0) header ever printed. Answering "did this pass" from the plain-text mode means either noticing the absence of an Errors section (a fragile negative inference) or switching to --json and inspecting severities programmatically.
Motivation
Running syscribe validate after a batch of spec edits, the actual output was:
Warnings (51):
| Code | File | Message |
...
with no errors section at all — meaning it passed (0 errors), but the only way to confirm that from the text output was grep -c "^| E" for an empty result, since there's no explicit "0 errors" anywhere to read. --json solves this cleanly (structured severities), but the plain-text/human-facing mode — which is also what an LLM agent reads by default unless it specifically remembers to pass --json — leaves "did it pass" as an inference rather than a stated fact.
Proposed fix
Print a one-line summary banner at the very top of the default text output, always, regardless of whether there are findings:
0 errors, 51 warnings
or, when gated:
0 errors, 51 warnings (3 gated by --deny W308) — FAIL
Doesn't change --json's shape (already fine) or the exit-code contract — purely a legibility addition to the human/agent-default text path so "did this pass" is answerable by reading the first line, not by the absence of a section.
Acceptance criteria
- A 0-error, 0-warning run prints an explicit
0 errors, 0 warningsline (not silence) - A warnings-only run's summary line appears before the
Warnings (N):table, not after - The summary reflects gating flags (
--deny/--max-warnings/--warnings-as-errors/--profile) when they change the effective pass/fail verdict -
--jsonoutput is unchanged
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the syscribe validate command's default text-output path and run clean, warnings-only, and gated validation cases. Add the leading summary without changing --json or exit-code behavior; done means the summary always appears first and reflects effective pass/fail status.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100