
jason.woltjeandClaude Opus 4.5
efe624e2c1
feat(#168): Implement job steps tracking
Implement JobStepsModule for granular step tracking within runner jobs.
Features:
- Create and track job steps (SETUP, EXECUTION, VALIDATION, CLEANUP)
- Track step status transitions (PENDING → RUNNING → COMPLETED/FAILED)
- Record token usage for AI_ACTION steps
- Calculate step duration automatically
- GET endpoints for listing and retrieving steps
Implementation:
- JobStepsService: CRUD operations, status tracking, duration calculation
- JobStepsController: GET /runner-jobs/:jobId/steps endpoints
- DTOs: CreateStepDto, UpdateStepDto with validation
- Full unit test coverage (16 tests)
Quality gates:
- Build: ✅ Passed
- Lint: ✅ Passed
- Tests: ✅ 16/16 passed
- Coverage: ✅ 100% statements, 100% functions, 100% lines, 83.33% branches
Also fixed pre-existing TypeScript strict mode issue in job-events DTO.
Co-Authored-By: Claude Opus 4.5 <[email protected]>
2026-02-01 21:16:23 -06:00
..
2026-02-01 01:48:09 -06:00
2026-01-30 18:26:41 -06:00
2026-01-31 18:11:32 -06:00
2026-01-31 16:50:32 -06:00
2026-02-01 21:01:25 -06:00
2026-01-31 10:37:14 -06:00
2026-01-31 13:44:23 -06:00
2026-01-31 13:51:46 -06:00
2026-01-31 10:37:14 -06:00
2026-01-30 18:26:41 -06:00
2026-01-31 01:01:21 -06:00
2026-01-31 01:01:21 -06:00
2026-01-28 15:07:04 -06:00
2026-01-30 20:39:03 -06:00
2026-02-01 21:16:23 -06:00
2026-02-01 21:16:23 -06:00
2026-01-31 01:01:21 -06:00
2026-01-30 20:39:03 -06:00
2026-01-30 18:26:41 -06:00
2026-01-31 15:01:18 -06:00
2026-01-31 13:07:58 -06:00
2026-01-30 18:26:41 -06:00
2026-01-31 12:44:50 -06:00
2026-01-30 20:39:03 -06:00
2026-01-31 01:01:21 -06:00
2026-01-31 13:33:04 -06:00
2026-01-31 14:47:59 -06:00
2026-01-31 14:01:42 -06:00
2026-02-01 21:09:03 -06:00
2026-02-01 21:08:32 -06:00
2026-01-31 01:01:21 -06:00
2026-01-31 12:55:11 -06:00
2026-01-31 15:01:18 -06:00
2026-01-30 18:26:41 -06:00
2026-01-30 20:39:03 -06:00
2026-01-30 20:39:03 -06:00
2026-01-30 20:39:03 -06:00
2026-02-01 01:48:09 -06:00
2026-01-28 16:24:25 -06:00
2026-01-30 18:26:41 -06:00
2026-02-01 21:16:23 -06:00
2026-01-28 13:31:33 -06:00
2026-01-29 12:29:21 -06:00