Skip to content

docs: add RFC on error signature strings for failure grouping - #5033

Closed
brandonjackson wants to merge 2 commits into
mainfrom
claude/error-signature-strings-kenhpx
Closed

docs: add RFC on error signature strings for failure grouping#5033
brandonjackson wants to merge 2 commits into
mainfrom
claude/error-signature-strings-kenhpx

Conversation

@brandonjackson

Copy link
Copy Markdown
Contributor

Proposes candidate formats for a single groupable "error signature" per
failed work order, so we can answer "what breaks most often, and where?".

Split into options buildable on today's data (outcome, error_type, job id,
adaptor version, log lines) and options needing new data (a controlled
error vocabulary, the currently-discarded error_message, adaptor-level
detail). Recommends storing one structured key and displaying it at three
resolutions.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01SeVwW7tdLZh6ttoc1DFHdU

claude added 2 commits July 29, 2026 10:57
Proposes candidate formats for a single groupable "error signature" per
failed work order, so we can answer "what breaks most often, and where?".

Split into options buildable on today's data (outcome, error_type, job id,
adaptor version, log lines) and options needing new data (a controlled
error vocabulary, the currently-discarded error_message, adaptor-level
detail). Recommends storing one structured key and displaying it at three
resolutions.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SeVwW7tdLZh6ttoc1DFHdU
Rewrites the RFC around the real error vocabulary in openfn/kit rather
than only what Lightning stores. Documents all 18 worker error classes
with their severity, the error_type Lightning actually receives, and a
plain-English cause.

Key findings that reshape the proposal:
- error_type on the wire is subtype || type || name, so RuntimeError and
  RuntimeCrash reach us as TypeError/ReferenceError etc. Exit reason and
  error type must be paired to identify a cause.
- Line/column, source-mapped to the user's own code, is already in our
  database for fail-severity errors, inside the step's saved output under
  errors.<step id>.
- The worker always logs "{error_type}: {error_message}" from source R/T,
  so the message is recoverable with a reliable anchor.
- Three ambiguities blunt any signature: TimeoutError means two different
  things, three classes report ValidationError, and blame class is
  derivable today but unstored.

Shifts focus to high-resolution options per the goal of one signature per
root cause, and recommends a stable key plus human rendering with the line
number displayed but excluded from the key.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SeVwW7tdLZh6ttoc1DFHdU
@github-project-automation github-project-automation Bot moved this to New Issues in Core Jul 30, 2026
@github-project-automation github-project-automation Bot moved this from New Issues to Done in Core Jul 30, 2026
@github-actions

Copy link
Copy Markdown

The PR only adds a documentation file (docs/rfcs/error-signature-strings.md), a docs-only RFC. None of S0/S1/S2 apply.

Security Review ✅

  • S0 (project scoping): N/A, this PR only adds docs/rfcs/error-signature-strings.md and touches no data-access code.
  • S1 (authorization): N/A, no controllers, LiveView events, or policies are modified.
  • S2 (audit trail): N/A, no config-resource writes or Ecto.Multi changes.

@codecov

codecov Bot commented Jul 30, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.5%. Comparing base (2e608b1) to head (d7ac629).

Additional details and impacted files
@@           Coverage Diff           @@
##            main   #5033     +/-   ##
=======================================
- Coverage   90.5%   90.5%   -0.1%     
=======================================
  Files        425     425             
  Lines      20237   20237             
=======================================
- Hits       18318   18307     -11     
- Misses      1919    1930     +11     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants