Skip to content

[M12] Add first-class lint CLI and shared structured results #98

Description

@Teakowa

Parent: #89
Depends on: #97

Goal

Expose lint as a first-class Wright workflow through the existing compiler/session/tooling stack instead of creating a separate analyzer path.

Scope

  • Add wright lint for supported OPY and raw Workshop inputs.
  • Reuse the shared driver/session compilation and semantic pipeline.
  • Return structured lint findings with stable rule ID, severity, message, source identity/span, and evidence/confidence metadata where applicable.
  • Integrate machine-readable output with the existing CLI JSON/result contracts.
  • Expose the same lint query/results through Wright's embedding/tool/agent APIs rather than duplicating rule execution.
  • Preserve deterministic configuration from [M12] Establish lint rule registry and configuration contract #97 across CLI and programmatic invocation.

Non-goals

Acceptance criteria

  • wright lint runs on supported OPY and raw Workshop through the shared compiler/session pipeline.
  • CLI text and JSON output expose stable rule IDs, configured severity, and original source identity/spans where available.
  • Programmatic/tool consumers can request the same lint findings without invoking the CLI or rebuilding semantic state through a separate path.
  • Rule enable/disable/severity configuration from [M12] Establish lint rule registry and configuration contract #97 behaves consistently across CLI and API use.
  • Existing check/analyze behavior remains compatible unless an intentional contract change is documented.
  • No plugin host or [v0.2 workshop-rs] Define Workshop catalog, locale, extension, and version boundaries #96 implementation is required.
  • Current CI is green at acceptance.

Relationships

Activity

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