Skip to content

Add explicit JSON reports for read-only checks #78

Closed

Description

@coisa

Bounded implementation slice of #10, which remains open for the shared ECS/Rector result contract and other presentation controls. This issue covers only explicit check --format=json; it does not add JSON fix, automatic semantic changes or agent detection.

Acceptance:

  • Keep default text and explicit fix behavior; expose the option only on the invocable check command, with current help/docs/README examples.
  • Emit one versioned JSON report with command label, status/exit, native file/checker/diff diagnostics, exact paths and explicit completed/remaining work after early termination.
  • Preserve syntax-before-style and bounded batches. Distinguish clean, findings, failed native syntax and operational/report errors; never classify omitted ECS system errors or malformed/inconsistent reports as clean/findings.
  • Capture nonstreaming channels with positive, finite timeout and retained-output limits during reads. Preserve existing ProcessRunner/ResultProcessRunner APIs and credential policy; do not promise a sandbox, descendant isolation or an absolute RAM cap.
  • Test native clean/findings/invalid syntax/config contamination, transport overflow/timeout, malformed totals/status/paths, batch boundaries, invalid UTF-8, empty selection and check without source writes. Git/Composer archives, strict/platform/style and exact-head reviews/hosted CI must pass.

This slice does not complete #10's shared pretty/color/CWD/cache presentation work or Rector normalization. No consumer configuration is changed.

Activity

  1. coisa commented on Oct 27, 2026

    @coisa
    ContributorAuthor

    Delivered by #79, merged as b01e5700939085c4ff06af2a29325b23fbbe341b. The resulting main's Quality run passed PHP 8.3/8.4/8.5; Actions analysis and native Changelog preparation/validation also completed successfully. Exact source HEAD fd13a7a had successful full CI, Codex code/security and a completed current-head CodeRabbit review without actionable comments before the expected-head merge.

    This delivers explicit read-only check --format=json, a versioned report with truthful native diagnostics/completed/remaining work, bounded capture with failure on incomplete data, and controlled selection-error exits matching text mode. Native no-write, paths, malformed reports, partial batches, overflow/timeout and CLI cases are covered; help/README/RST match the option. Default text and explicit fix remain intact. #10 stays open for the broader ECS/Rector presentation contract; JSON fix, automatic agent detection and consumer rollout are not claimed.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions