feat(plugin): decouple instrumentation enums from lambda service - #634
feat(plugin): decouple instrumentation enums from lambda service#634zhongkechen wants to merge 5 commits into
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Claude AI reviewReview: decouple instrumentation enums from lambda serviceThe refactor is complete and internally consistent. I found no actionable correctness, determinism, concurrency, or serialization defects. What I verified
Residual risk (not blocking)
Reviewed commit |
| DURABLE_INSTRUMENTATION_PLUGIN_API_VERSION = 1 | ||
|
|
||
|
|
||
| class InvocationStatus(Enum): |
This comment was marked as outdated.
This comment was marked as outdated.
Sorry, something went wrong.
This comment has been minimized.
This comment has been minimized.
| DURABLE_INSTRUMENTATION_PLUGIN_API_VERSION = 1 | ||
|
|
||
|
|
||
| class InvocationStatus(Enum): |
There was a problem hiding this comment.
Codex AI review
[P1] Version this enum identity change as a new plugin API. Existing API-v1 providers remain accepted, but they compare hook values against lambda_service.InvocationStatus and OperationType; these new enum instances are unequal. The previous OTel release consequently misses terminal statuses, fails to export workflow spans, and raises from operation hooks. Either preserve the v1 enum identities or bump DURABLE_INSTRUMENTATION_PLUGIN_API_VERSION, update provider versions/dependency bounds, and reject older plugins. Add a previous-OTel/new-core compatibility test.
Codex AI reviewFound one high-severity plugin compatibility regression. Residual risk: no test covers loading the previous OTel release with the updated core SDK. Reviewed commit |
|
Why do we need this change? Are we modifying lambda provided InvocationStatus and OperationType within plugin lifecycle? |
Summary
InvocationStatusandOperationTypeenums and convert Lambda service values at the plugin boundaryTesting
hatch run dev-core:test(1,523 passed, 5 subtests passed)hatch run dev-otel:test(115 passed)hatch run dev-testing:test(1,365 passed)hatch run dev-core:pytest packages/aws-durable-execution-sdk-python/tests/plugin_test.py packages/aws-durable-execution-sdk-python/tests/plugin_discovery_test.py(103 passed, 5 subtests passed)hatch run dev-otel:pytest packages/aws-durable-execution-sdk-python-otel/tests/test_plugin_provider.py(5 passed)hatch run types:checkhatch fmt --checkfor core, OTel, and testing packages