PR #68 Triage Plan
View SourceThis document tracks decomposition of draft PR #68 into focused, reviewable work.
Snapshot
- Source PR:
#68 refactor(exec): OTP/async hygiene + mailbox cleanup (prelim) - PR state:
OPEN,DRAFT,DIRTY(as of 2026-02-14) - Source branch head:
4debf1b64c5ae2246784556f67acc37244f1487c - Comparison base for triage:
origin/main
Already Landed from the Audit Track
The highest-risk OTP hygiene changes from the audit were already merged via focused PRs:
#69duplicateelixirc_pathscleanup#70plan dependency validation hardening#71chain async supervision hardening#72async mailbox/monitor cleanup#73compensation mailbox/monitor cleanup#74workflow parallel timeout/failure policy#80async cancel monitor/result cleanup#81LuaEval supervision viaTask.Supervisor.async_nolink#82runtime timeout/retry config fallback guards
Follow-up Issues and PRs
- #84: Normalize error return shapes
- Implementation PR: #87
- #85: Document async/config behavior contracts
- Implementation PR: #88
- #86: This triage/decomposition tracking issue
Remaining Unmerged Themes in PR #68
The draft still contains broad refactors and API behavior changes that were not merged to main:
- Large execution/runtime refactors (
TaskLifecycle,TimeoutBudget,AsyncRefstruct migration) - Workflow/Req/Weather timeout-budget propagation changes
- Telemetry metadata sanitization behavior changes
- Broad test-suite rewrites and coverage-only churn
- Cross-cutting API/return-shape normalization beyond focused merged fixes
Decomposition Policy
Do not merge PR #68 as a single unit. Continue with narrowly scoped PRs that:
- isolate one behavior change per PR,
- include targeted regression tests for that behavior,
- document compatibility impacts explicitly,
- avoid unrelated test churn.
Candidate Future Slices (if still desired)
- Telemetry metadata sanitization as opt-in behavior.
- Timeout-budget propagation for workflow/request/weather paths.
- AsyncRef struct migration with explicit compatibility/deprecation window.
Disposition
Treat PR #68 as historical context only. Once required slices are extracted into focused PRs/issues, close PR #68.