Remove untyped escapes from one module and add explicit return types
A module held together by escape hatches, given real types and explicit return signatures.
The ticket
Replace untyped escapes in one module with real types and add explicit return types to exported functions.
Acceptance criteria
- No untyped escape hatches remain in the module
- Every exported function has an explicit return type
- No type-checker suppression comments are added
- The typecheck passes
What lands as proof
A clean typecheck with no suppressions, which is the difference between typing the code and hiding it.
Why teams defer it
- The escapes were added under deadline and each one hides a decision somebody deferred.
- Typing it properly often reveals the shape was wrong, which turns a typing task into a design one.
Questions
- What does the agent actually change?
- The ticket is scoped to one outcome: replace untyped escapes in one module with real types and add explicit return types to exported functions. Work that serves that outcome is in scope, and anything outside it is left for a separate ticket, so the pull request stays reviewable.
- How do I know the work is done?
- The pull request carries the evidence, not only the diff. Here that means typecheck passes with no new suppressions added, so a reviewer can confirm the result without reproducing the work locally.
- How much oversight does this need?
- None is required before the run starts. Every claim this ticket makes can be checked by machine, so the agent works straight through and a person reviews the finished pull request like any other.