feat: check results carry a short line and a description

Merged
EV
4d ago
+248-27

Description

Fourth backend PR for the connector checks redesign, stacked on #16160. A check row gets its own text, apart from the full message.

  • summary: the row's short line (≤ 40 characters in the design), for example "Sign-in rejected" or "Rate limited by Confluence".
  • description: up to three lines of what happened and what is needed, for example "Confluence rate limited every try. (HTTP 429)\nWait a minute, then re-run."
  • message stays the full text. The design shows it in Error Details.
  • A check's ValidationError (and every subclass) takes summary= and description=.
  • The runner falls back to a default for a timeout, a rate limit, an unreachable source or an unexpected error. An actionable failure has no default: the frontend keeps showing its message until the connector gives a line.
  • A not-run row's summary is its "Not run: …" line.
  • Both fields pass through draft states, the draft cache and stored reports (additive JSONB).
  • First producers: the Confluence and Jira error mappers give the design's lines for a rate limit and an unexpected response. The per-check Confluence copy is the next PR.

How Has This Been Tested?

  • New unit tests (test_check_row_text.py):
    • an error's own text;
    • defaults by kind, and no default for a failure;
    • the not-run line down a chain.
  • Connector and EE unit tests: 4275 passed. The 93 capability-check external dependency tests pass on a scratch DB.

Additional Options

  • [Optional] Please cherry-pick this PR to the latest release version.
  • [Optional] Override Linear Check

🤖 Generated with Claude Code


Summary by cubic

Capability-check results now carry a short summary line and a description, separate from the full message that stays available for logs and support.

  • ValidationError and its subclasses accept summary= and description=.
  • The runner falls back to defaults for timeouts, rate limits, unreachable sources, and unexpected errors; actionable failures keep showing their message until the connector provides a line.
  • Not-run rows use their "Not run: …" line as the summary.
  • Both fields pass through draft states and the draft cache.
  • Confluence and Jira error mappers provide the design's lines for rate limits and unexpected responses.
  • Adds unit tests for per-error text, per-kind defaults, and not-run lines, plus an update to the connectors feature map.

Summary by CodeRabbit

  • New Features
    • Capability-check results now show a concise summary and up to three lines of detail alongside the full message.
    • Common errors—including timeouts, rate limits, and unreachable sources—display clear summaries and details. Custom validation text appears when provided.
    • Checks skipped because a dependency failed display a summary identifying the issue; stopped checks show a “Not run” explanation.