{
 "ecosystem": "pypi",
 "errata": [
  {
   "action": "Not for automatic application — format add: the entry does not say where the added code goes. Show this correction to the user as a lead. Subclasses of Logger must now implement enabled. Signature in opentelemetry-api 1.45.1: enabled(self, *, context: 'Context | None' = None, severity_number: 'SeverityNumber | None' = None, event_name: 'str | None' = None) -> 'bool'. Add it to your subclass; the version shown passed in the sandbox.",
   "alternatives": [
    {
     "action": "Not for automatic application — format add: the entry does not say where the added code goes. Show this correction to the user as a lead. Subclasses of Logger must now implement enabled. Signature in opentelemetry-api 1.45.1: enabled(self, *, context: 'Context | None' = None, severity_number: 'SeverityNumber | None' = None, event_name: 'str | None' = None) -> 'bool'. Add it to your subclass; the version shown passed in the sandbox.",
     "applicability": {
      "method": "literal_patch",
      "reason": "format add: the entry does not say where the added code goes",
      "run_on": "1.45.1",
      "status": "not_applicable"
     },
     "by_notes": true,
     "changelog_ref": {
      "quote": "[BREAKING] `opentelemetry-api`: subclasses of `Logger` need to implement the `enabled` method",
      "url": "https://github.com/open-telemetry/opentelemetry-python/releases/tag/v1.43.0"
     },
     "confirmations": 4,
     "detect": [
      "Logger"
     ],
     "equivalence": "same",
     "format": "add",
     "kind": "new_required",
     "required": {
      "base": "Logger",
      "class_in_code": "InMemoryLogger",
      "names": [
       "enabled"
      ],
      "signature": {
       "enabled": "enabled(self, *, context: 'Context | None' = None, severity_number: 'SeverityNumber | None' = None, event_name: 'str | None' = None) -> 'bool'"
      },
      "what": "method"
     },
     "right": "def enabled(self, *args, **kwargs):\n    return True",
     "seen_in_models": [
      "claude-sonnet-5-5",
      "gpt-6.1-sol"
     ],
     "wrong": "class InMemoryLogger(Logger):"
    },
    {
     "action": "Not for automatic application — format add: the entry does not say where the added code goes. Show this correction to the user as a lead. Review before applying: this fix runs on opentelemetry-api 1.45.1, but its printed output differs from what the original printed on 1.40.0 (observed stdout of one example) — it may do different work. Subclasses of Logger must now implement enabled. Add it to your subclass; the version shown passed in the sandbox.",
     "applicability": {
      "method": "literal_patch",
      "reason": "format add: the entry does not say where the added code goes",
      "run_on": "1.45.1",
      "status": "not_applicable"
     },
     "by_notes": false,
     "changelog_ref": {
      "quote": "",
      "url": ""
     },
     "confirmations": 1,
     "detect": [
      "Logger"
     ],
     "equivalence": "differs",
     "format": "add",
     "kind": "behavior_changed",
     "required": {
      "base": "Logger",
      "class_in_code": "StdoutLogger",
      "names": [
       "enabled"
      ],
      "signature": {},
      "what": "method"
     },
     "right": "def enabled(self, *args, **kwargs):\n    return True",
     "seen_in_models": [
      "gpt-6.1-sol"
     ],
     "wrong": "class StdoutLogger(Logger):"
    }
   ],
   "applicability": {
    "method": "literal_patch",
    "reason": "format add: the entry does not say where the added code goes",
    "run_on": "1.45.1",
    "status": "not_applicable"
   },
   "by_notes": true,
   "changelog_ref": {
    "quote": "[BREAKING] `opentelemetry-api`: subclasses of `Logger` need to implement the `enabled` method",
    "url": "https://github.com/open-telemetry/opentelemetry-python/releases/tag/v1.43.0"
   },
   "confirmations": {
    "failed": 0,
    "worked": 10
   },
   "detect": [
    "Logger"
   ],
   "ecosystem": "pypi",
   "equivalence": "same",
   "error_kind": "type_error",
   "error_signature": {
    "message": "Can't instantiate abstract class InMemoryLogger with abstract method enabled",
    "norm": "type_error:",
    "type": "TypeError"
   },
   "first_seen": "2026-10-20T16:11:13+00:00",
   "format": "add",
   "format_version": 2,
   "id": "pypi/opentelemetry-api/1.45.1/0001",
   "json": "https://formachines.ai/errata/pypi/opentelemetry-api/0001-logger-enabled/index.json",
   "kind": "new_required",
   "package": "opentelemetry-api",
   "proof": {
    "applicability": {
     "method": "literal_patch",
     "reason": "format add: the entry does not say where the added code goes",
     "run_on": "1.45.1",
     "status": "not_applicable"
    },
    "auto_apply": false,
    "auto_apply_reason": "the patch gives not_applicable when applied word for word",
    "auto_apply_rule": "Automatic application is allowed only when proof.equivalent is true and proof.applicability.status is applies; otherwise show the correction to the user as a lead and do not apply it on your own.",
    "equivalence": "same",
    "equivalent": true,
    "fails_on": "1.45.1",
    "fixed_on": "1.45.1",
    "level": "differential",
    "method": {
     "fix_on": "1.45.1",
     "name": "stdout_match",
     "normalization": "lines stripped, blank lines dropped, runs of whitespace collapsed; memory addresses, timestamps and temporary paths masked",
     "original_on": "1.40.0",
     "scope": "the observable stdout of one example script; return values, files, other inputs and exception types are not compared, so a match is not a proof of equivalent behaviour"
    },
    "works_on": "1.40.0"
   },
   "required": {
    "base": "Logger",
    "class_in_code": "InMemoryLogger",
    "names": [
     "enabled"
    ],
    "signature": {
     "enabled": "enabled(self, *, context: 'Context | None' = None, severity_number: 'SeverityNumber | None' = None, event_name: 'str | None' = None) -> 'bool'"
    },
    "what": "method"
   },
   "right": "def enabled(self, *args, **kwargs) -> bool:\n    return True",
   "seen_in_models": [
    "claude-sonnet-5-5",
    "gemini-3.8-flash",
    "gpt-6.1-sol"
   ],
   "seq": 1,
   "slug": "logger-enabled",
   "source": "pipeline",
   "symbol": "Logger.enabled",
   "updated": "2026-10-27T17:20:00+00:00",
   "url": "https://formachines.ai/errata/pypi/opentelemetry-api/0001-logger-enabled/",
   "variant_confirmations": 5,
   "variant_models": [
    "claude-sonnet-5-5",
    "gemini-3.8-flash",
    "gpt-6.1-sol"
   ],
   "verified": "sandbox",
   "versions": {
    "changed_in": ">1.40.0,<=1.45.1",
    "fails_on": "1.45.1",
    "works_on": "1.40.0"
   },
   "wrong": "class InMemoryLogger(Logger):"
  },
  {
   "action": "Not for automatic application — the patched example does not run on 1.45.1: exit code 1, ImportError: cannot import name 'Event' from 'opentelemetry._logs' (/usr/local/lib/python3.11/site-packages/opentelemetry/_logs/__init__.py). Show this correction to the user as a lead. Review before applying: this fix runs on opentelemetry-api 1.45.1, but its printed output differs from what the original printed on 1.40.0 (observed stdout of one example) — it may do different work. Replace the old line with the new one; the rest of the code can stay.",
   "alternatives": [
    {
     "action": "Not for automatic application — after the patch the example still uses get_event_logger, which the verified example does not: the patch covers part of the change. Show this correction to the user as a lead. Review before applying: this fix runs on opentelemetry-api 1.45.1, but its printed output differs from what the original printed on 1.40.0 (observed stdout of one example) — it may do different work. Replace the old line with the new one; the rest of the code can stay.",
     "applicability": {
      "leftover": [
       "get_event_logger"
      ],
      "line": 3,
      "method": "literal_patch",
      "occurrences": 1,
      "patched_sha": "22f747b128d8",
      "reason": "after the patch the example still uses get_event_logger, which the verified example does not: the patch covers part of the change",
      "run_on": "1.45.1",
      "status": "incomplete"
     },
     "by_notes": true,
     "changelog_ref": {
      "quote": "`opentelemetry-api`, `opentelemetry-sdk`: Removed deprecated Events API/SDK. Use `LogRecord` with the `event_name` field set instead.",
      "url": "https://github.com/open-telemetry/opentelemetry-python/releases/tag/v1.43.0"
     },
     "confirmations": 3,
     "detect": [
      "opentelemetry._events"
     ],
     "equivalence": "differs",
     "format": "replace",
     "kind": "behavior_changed",
     "right": "from opentelemetry._logs import LogRecord, get_logger",
     "seen_in_models": [
      "claude-sonnet-5-5",
      "gemini-3.8-flash"
     ],
     "wrong": "from opentelemetry._events import Event, get_event_logger"
    }
   ],
   "applicability": {
    "exit_code": 1,
    "line": 3,
    "method": "literal_patch",
    "occurrences": 1,
    "patched_sha": "9886ad55405a",
    "reason": "the patched example does not run on 1.45.1: exit code 1, ImportError: cannot import name 'Event' from 'opentelemetry._logs' (/usr/local/lib/python3.11/site-packages/opentelemetry/_logs/__init__.py)",
    "run_on": "1.45.1",
    "status": "fails"
   },
   "by_notes": true,
   "changelog_ref": {
    "quote": "`opentelemetry-api`, `opentelemetry-sdk`: Removed deprecated Events API/SDK. Use `LogRecord` with the `event_name` field set instead.",
    "url": "https://github.com/open-telemetry/opentelemetry-python/releases/tag/v1.43.0"
   },
   "confirmations": {
    "failed": 0,
    "worked": 7
   },
   "detect": [
    "opentelemetry._events"
   ],
   "ecosystem": "pypi",
   "equivalence": "differs",
   "error_kind": "missing_module",
   "error_signature": {
    "message": "No module named 'opentelemetry._events'",
    "norm": "missing_module:opentelemetry._events",
    "type": "ModuleNotFoundError"
   },
   "first_seen": "2026-10-20T16:11:13+00:00",
   "format": "replace",
   "format_version": 2,
   "id": "pypi/opentelemetry-api/1.45.1/0002",
   "json": "https://formachines.ai/errata/pypi/opentelemetry-api/0002-opentelemetry-events/index.json",
   "kind": "behavior_changed",
   "package": "opentelemetry-api",
   "proof": {
    "applicability": {
     "exit_code": 1,
     "line": 3,
     "method": "literal_patch",
     "occurrences": 1,
     "patched_sha": "9886ad55405a",
     "reason": "the patched example does not run on 1.45.1: exit code 1, ImportError: cannot import name 'Event' from 'opentelemetry._logs' (/usr/local/lib/python3.11/site-packages/opentelemetry/_logs/__init__.py)",
     "run_on": "1.45.1",
     "status": "fails"
    },
    "auto_apply": false,
    "auto_apply_reason": "the fix's output differs from the original's; the patch gives fails when applied word for word",
    "auto_apply_rule": "Automatic application is allowed only when proof.equivalent is true and proof.applicability.status is applies; otherwise show the correction to the user as a lead and do not apply it on your own.",
    "equivalence": "differs",
    "equivalent": false,
    "fails_on": "1.45.1",
    "fixed_on": "1.45.1",
    "level": "differential",
    "method": {
     "fix_on": "1.45.1",
     "name": "stdout_match",
     "normalization": "lines stripped, blank lines dropped, runs of whitespace collapsed; memory addresses, timestamps and temporary paths masked",
     "original_on": "1.40.0",
     "scope": "the observable stdout of one example script; return values, files, other inputs and exception types are not compared, so a match is not a proof of equivalent behaviour"
    },
    "works_on": "1.40.0"
   },
   "right": "from opentelemetry._logs import (",
   "seen_in_models": [
    "claude-sonnet-5-5",
    "gemini-3.8-flash",
    "gpt-6.1-sol"
   ],
   "seq": 2,
   "slug": "opentelemetry-events",
   "source": "pipeline",
   "symbol": "opentelemetry._events",
   "updated": "2026-10-27T17:20:00+00:00",
   "url": "https://formachines.ai/errata/pypi/opentelemetry-api/0002-opentelemetry-events/",
   "variant_confirmations": 4,
   "variant_models": [
    "claude-sonnet-5-5",
    "gpt-6.1-sol"
   ],
   "verified": "sandbox",
   "versions": {
    "changed_in": ">1.40.0,<=1.45.1",
    "fails_on": "1.45.1",
    "works_on": "1.40.0"
   },
   "wrong": "from opentelemetry._events import ("
  }
 ],
 "fails_on": [
  "1.45.1"
 ],
 "license": "https://creativecommons.org/licenses/by/4.0/",
 "models": [
  {
   "checked": 16,
   "model": "claude-sonnet-5-5",
   "outdated": 8,
   "share": 0.5
  },
  {
   "checked": 16,
   "model": "gpt-6.1-sol",
   "outdated": 7,
   "share": 0.44
  },
  {
   "checked": 8,
   "model": "gemini-3.8-flash",
   "outdated": 2,
   "share": 0.25
  }
 ],
 "new_version": "1.45.1",
 "old_version": "1.40.0",
 "package": "opentelemetry-api",
 "updated": "2026-10-27"
}